我越来越相信,创造美的代价是:努力、失望和坚持。先痛后乐。-梵高。
#研究背景和意义。
对象检测也称为对象检测。它的使命是:给定一张图像,在该张图像中确定每个待检测物体实例的空间位置和类别。.
图1目标检测算法流程及实例。
*图1左侧为深度学习目标检测的算法流程,包括输入图像、特征提取、类别和坐标预测、输出图像。
*图1右侧为输入图片中目标检测的样本结果,其中被检测对象在矩形框中,左上角给出被检测对象的类别(见矩形框左上角的标签)。
在各种应用系统中,目标检测往往是第一步,也是最重要的一步。作为一些高级视觉任务(如行人再识别、图像实例分割等)中的基础技术。)或者一些实际的商业场景(比如安防、自动驾驶、在线教育等。),目标探测技术的提高也有助于推进这些任务。
#国内外研究现状及发展趋势。
根据候选帧的生成阶段,主流的目标检测算法可以分为双阶段目标检测算法和单阶段目标检测算法.
*双阶段目标检测算法:首先从图像中提取候选帧,然后基于候选区域进行二次校正,得到检测结果,检测精度较高,但检测速度较慢;
*单阶段目标检测算法:直接计算图像生成检测结果,检测速度快但检测精度低。
以上统称基于anchor机制的目标检测算法.近年来,针对基于anchor机制的目标检测算法的尺度和高宽比难以设计、正负样本不平衡等问题,
基于anchor free机制的目标检测算法成为新的研究热点。基于锚点
基于自由机制的目标检测算法摆脱了锚的复杂计算,进一步实现了实时高精度。
在实际应用中,目标检测算法需要不断改进和优化,以达到精度和速度的最佳平衡。根据不同的研究思路,主流目标检测算法的改进和优化方法可分为四类:
基于双阶段目标检测算法,的改进基于两阶段的单阶段目标检测算法,组合以及单阶段目标检测算法,和基于Anchor.的改进
自由目标检测算法的改进。
下图为2001-2021年目标检测发展路线图。
图2目标检测发展路线图。
#基于双阶段目标检测算法.
R-CNN:为解决传统目标检测算法需要手动设计特征,导致检测精度较低的问题,Girshick等人提出了一种基于深度学习的目标检测算法R。
有线电视新闻网.R-CNN算法在目标检测精度上做出了质的改变,是深度学习应用于目标检测领域的里程碑,也奠定了基于深度学习的双阶段目标检测算法基础。图3是R-
CNN算法结构图。
图3R-CNN算法结构图。
FASTR-CNN:虽然R-CNN算法设计巧妙,但需要将每个候选帧发送到特征提取网络,导致检测效率较低。紧的
R-CNN无需将所有候选窗口发送到深度卷积神经网络,只需将图像发送到特征提取网络一次,然后将所有候选窗口映射到网络中的某一层,提高了检测速度。
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
# 后期预告
欢迎关注,实现知识的共同富裕
有共同爱好的同学,可以私信小编