最全的目标检测入门系列(一)概述

最全的目标检测入门系列(一)概述目标检测,也称为物体检测。其任务是:给定一张图像,在该张图像中确定每个待检测物体实例的空间位置和类别。

大家好,欢迎来到IT知识分享网。

最全的目标检测入门系列(一)概述

我越来越相信,创造美好的代价是:努力、失望以及毅力。首先是疼痛,然后才是欢乐。——梵高

研究背景和意义

目标检测(Object Detection),也称为物体检测。其任务是:给定一张图像,在该张图像中确定每个待检测物体实例的空间位置和类别。

最全的目标检测入门系列(一)概述

图1 目标检测算法流程与示例

  • 图1左边为深度学习目标检测算法流程,包括输入图像、特征提取、 类别及坐标预测、输出图像。
  • 图1右边是一张输入图片中目标检测的结果样例,其中矩形框框中的就是检测出的物体,且左上角给出了检测出的物体类别(见矩形框左上角标签)。

目标检测在各种各样的应用系统当中,往往是第一步,也是最重要一步,作为一些高级视觉任务(如行人重识别、图像实例分割等)或者一些实际业务场景(如安防、自动驾驶、在线教育等)中的基础技术,目标检测技术的改进也有助于推动这些任务的提升。

国内外研究现状与发展趋势

根据有无候选框生成阶段,主流目标检测算法可以分为双阶段目标检测算法单阶段目标检测算法两类。

  • 双阶段目标检测算法:先对图像提取候选框,然后基于候选区域做二次修正得到检测结果,检测精度较高,但检测速度较慢;
  • 单阶段目标检测算法:直接对图像进行计算生成检测结果,检测速度快,但检测精度低。

以上都统称为基于anchor机制的目标检测算法。近些年来,针对基于anchor机制的目标检测算法存在尺度和长宽比难以设计、正负样本不平衡的问题,基于anchor free机制的目标检测算法成了新的研究热点。基于anchor free机制的目标检测算法摆脱了anchor复杂的计算量,进一步达到了实时高精度。

在实际应用中目标检测算法需要不断地改进与优化,以实现精度和速度的最佳平衡。根据研究思路不同,改进与优化主流目标检测算法的方法可以分为4类:基于双阶段目标检测算法的改进基于单阶段目标检测算法的改进基于双阶段和单阶段目标检测算法的结合基于Anchor Free目标检测算法的改进

下图2展示了从2001年至2021年目标检测领域中,目标检测发展路线图。

最全的目标检测入门系列(一)概述

图2 目标检测发展路线图

基于双阶段目标检测算法

R-CNN:针对传统目标检测算法需要人工设计特征,导致检测精度低的问题,Girshick等人提出了基于深度学习的目标检测算法R-CNN。R-CNN算法使目标检测的精度得到了质的改变,是将深度学习应用到目标检测领域的里程碑之作,同时也奠定了基于深度学习的双阶段目标检测算法的基础。图3是R-CNN算法结构图。

最全的目标检测入门系列(一)概述

图3 R-CNN算法结构图

Fast R-CNN:R-CNN算法虽然设计巧妙,但是需要将每个候选框送入特征提取网络,导致检测效率低。Fast R-CNN不需要将所有的候选窗口送入深度卷积神经网络,只需将图像送入特征提取网络一次,再将所有的候选窗口在网络中某层上进行映射,提升了检测速度,在PASCAL VOC 2007数据集上的检测精度从R-CNN算法的66%提高到70%。Fast R-CNN算法结构图如图4所示。

最全的目标检测入门系列(一)概述

图4 Fast R-CNN算法结构图

Faster R-CNN:针对选择性搜索耗时大的问题,Faster R-CNN提出了候选窗口网络(region proposal network,RPN),代替了选择性搜索等传统的候选框生成方法,实现了网络的端到端训练,提高了网络计算速度。

基于单阶段目标检测算法

YOLO系列:针对双阶段目标检测算法在速度上的低效问题,YOLOv1舍去了算法中的候选框提取分支,直接将特征提取、候选框分类和回归在同一个无分支的深度卷积网络中实现,使得网络结构变得简单,检测速度从Faster R-CNN的7帧/s提升到了45帧/s,使得基于深度学习的目标检测算法在当时的计算能力下开始能够满足实时检测任务的需求。随着YOLOv1的出现,基于深度学习的目标检测算法开始有双、单阶段之分。YOLOv1的整体思路比较简洁,算法的网络结构图如图5所示。

最全的目标检测入门系列(一)概述

图5 YOLOv1算法结构图

后续YOLO出现了v2、v3、v4、v5各版本,在接下来的文章中将详细讲解。

SSD系列:YOLOv1舍弃了候选框阶段,加快了检测速度,但是算法的定位和分类精度相对较低。SSD在很大程度上平衡了单阶段目标检测算法的检测速度和检测精度。如图5所示为SSD网络结果图,SSD算法特征提取与其他单阶段目标检测方法相同,利用卷积操作提取特征图,最后几层卷积对每一尺度上的特征图运用anchor方法进行候选框提取,依据anchor在不同尺度上得到的候选框,进行目标种类和位置的判断。

最全的目标检测入门系列(一)概述

图6 SSD算法结构图

基于单阶段、双阶段目标检测算法的结合

目前,双阶段目标检测算法和单阶段目标检测算法都已经具备了一定的理论基础,因此有研究将二者结合作为一种高效平衡检测精度和检测速度的方式。

RefineDet:RefineDet融合了RPN网络、FPN算法、SSD算法,是单阶段和双阶段目标检测算法结合的典型代表,可以在保持 SSD 高效的前提下将在PASCAL VOC 2007数据集上的检测精度提高到80.0%。

RefineDet网络结构主要由锚框优化模块、转换连接模块和目标检测模块组成,如图7所示。

最全的目标检测入门系列(一)概述

图7 RefineDet算法结构图

RefineDet的核心思想包括3个方面:

1)引入双阶段目标检测算法中对框的由粗到细的回归思想,即通过RPN网络得到粗粒度的框信息,然后通过常规的回归支路进行进一步回归,从而得到更加精确的框信息;

2)引入类似FPN网络的特征融合操作用于网络检测,可以有效提高小目标的检测效果;

3)检测网络以SSD为框架,保证了模型的检测速度。

anchor free目标检测算法

anchor free是相对于Anchor base而言的一种目标检测方法,anchor base需要在图像的特征图中每个位置预先设置一定数量的anchor,然后对每个anchor进行分类和回归。而anchor free的方法则不需要预先设定anchor,直接对图像进行目标检测。近年来,anchor free技术则摒弃anchor,通过确定关键点的方式来完成检测,大大减少了网络超参数的数量。

anchor free的方法相对于anchor base有几个好处:

  1. 不用设计关于anchor的超参数,如anchor的数量、长宽比等;
  2. 训练过程中不用重复计算大量的IOU来区分正例与负例;
  3. anchor的庞大数量导致容易存在正负样本不均衡的问题,而anchor free不存在这个问题。

参考文献

[1]路齐硕. 基于深度学习的目标检测方法研究[D].北京邮电大学,2020.

[2]https://github.com/scutan90/DeepLearning-500-questions

[3]https://github.com/hoya012/deep_learning_object_detection

后期预告

最全的目标检测入门系列(一)概述

欢迎关注,实现知识的共同富裕

有共同爱好的同学,可以私信小编

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/84040.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信