2D目标检测论文大盘点(37篇)

文章目录

    • 1.LeNet
    • 2.AlexNet
    • 3.VGGNet
    • 4.OverFeat
    • 5.GoogLeNet
    • 6.ResNet
    • 7.DenseNet
    • 8.R-CNN
    • 9.SPP-Net
    • 10.Fast R-CNN
    • 11.Cascade R-CNN
    • 12.Faster R-CNN
    • 13.R-FCN
    • 14.MaskRCNN
    • 15.TridentNet
    • 小结:
    • 16.YOLOv1
    • 17.YOLOv2
    • 18.YOLO9000
    • 19.YOLOv3
    • 20.YOLOv4
    • 21.YOLOv5
    • 22.SSD
    • 23.RetinaNet
    • 24.CornerNet
    • 25.CenterNet
    • 26.D2Det
    • 27.M2Det
    • 28.EfficienDet
    • 29.CentripetaNet
    • 30.FPN
    • 31.RefineDet
    • 32.SqueezeNet SqueezeNext
    • 33.MobileNetv1v2
    • 34.ShuffleNet v1 v2

近年来,深度学习在目标检测领域应用逐渐广泛,如车辆检测与识别、基于视觉目标跟踪、智能视频分析、自动驾驶、基于内容的图像检索等,相应的算法也不计其数。本文浅谈37篇有代表性的基于深度学习的2D目标检测算法,包含一阶段、二阶段以及轻量化网络,并在不同角度分析相关算法的优劣。

1.LeNet

手写字体识别模型LeNet诞生于1998年,是最早的卷积神经网络之一.它利用卷积、参数共享、池化等操作提取特征,避免了大量的计算成本,最后再使用全连接神经网络进行分类识别.LeNet网络结构除去输入和输出层后,它有6层网络组成,其中包括3个卷积层2个下采样层和1个全连接层.其中卷积层采用5×5卷积核,而下采样层分别采用的平均值池化和最大值池化.
2D目标检测论文大盘点(37篇)_第1张图片

2.AlexNet

2012年Krizhevsky等提出的AlexNet以16.4%的显著优势问鼎ILSVRC的冠军,它第一次采用ReLU,Dropout,GPU加速等技巧,参数数量为6000万个,模型大小240MB左右.其网络结构如图所示,共8层网络结构,其中5个卷积层和3个全连接层.第一个卷积层的卷积为步长为4,大小为11×11;第二个卷积层的卷积核步长为1,大小为5×5;其余卷积层的大小均为3×3,步长为1.
AlexNet将CNN的基本原理应用到了更深的网络中.主要应用的新技术如下:
(1)使用ReLU作为CNN的激活函数,成功解决了Sigmoid在网络较深时的梯度弥散问题.
(2)训练时使用Dropout随机忽略一部分神经元,以避免模型过拟合.
(3)池化层使用重叠的最大池化,避免平均池化的模糊化效果.
(4)提出LRN层,对局部神经元的活动创建竞争机制,使得其中响应比较大的值变得相对更大,并抑制其他反馈较小的神经元,增强了模型的泛化能力.
(5)使用CUDA加速深度卷积网络的训练,利用GPU强大的并行计算能力,处理神经网络训练时大量的矩阵运算.
(6)数据增强.随机对图片进行镜像,旋转,随机噪声等数据增强操作,大大降低过拟合现象.
2D目标检测论文大盘点(37篇)_第2张图片

3.VGGNet

VGGNet网络结构如图所示,相比AlexNet具有较深的深度,网络表达能力进一步增强,同时在ImageNet上测试的精度进一步提高,VGGNet网络优点:
(1)结构非常简洁,整个网络都使用了同样大小的卷积核尺寸(3×3)和最大池化尺寸(2×2).
(2)验证了几个小滤波器(3×3)卷积层组合比一个大滤波器(5×5或7×7)卷积层好.减少了参数同时得到更多非线性映射,增加网络表达能力.
(3)验证了深层次的网络可以获得高级语义特征,通过不断加深网络结构可以提升网络性能.
2D目标检测论文大盘点(37篇)_第3张图片

4.OverFeat

Sermanet等改进AlexNet提出了OverFeat算法.该算法结合AlexNet通过多尺度滑动窗口实现特征提取功能,共享特征提取层,并应用于图像分类、定位和目标检测等任务.在ILSVRC2013数据集上的mAP达24.3%,检测效果相比传统检测方法有显著提升.该算法对深度学习的目标检测算法有启发式意义,但对小目标物体检测效果不好,存在较高错误率.

2D目标检测论文大盘点(37篇)_第4张图片

5.GoogLeNet

GoogLeNet是一个22层的深度网络,在主干卷积环节有3个inception模块,模块之间用3×3的最大池化层隔开.Inception模块如图所示,该结构分4条线路并行,将CNN中常用的卷积(1×1,3×3,5×5)、池化操作(3×3)堆叠在一起.采用不同大小的卷积核获得不同大小的感受野,最后拼接融合不同尺度的特征,增加了网络对尺度的适应性.为了解决计算过量的问题,在后3条路线上增加了1×1卷积核来进行降维.同时为了缓解梯度消失的问题,GoogLeNet增加了两个辅助分类器.这两个辅助分类器被添加到网络的中间层,它们和主分类器共享同一套训练数据.
GoogLeNet特点:
(1)采用1×1卷积核,性价比高,用很少的计算量就可以增加一层的特征变换和非线性变换
(2)提出batch normalization,把每层神经元的输入值分布回归到均值0方差1的正太分布,使其落入激活函数的敏感区,避免梯度消失,加快收敛;
(3)引入Inception模块,4个分支结合的结构,每个分支采用1×1的卷积核;
(4)去除了最后的全连接层,大大减少计算量

2D目标检测论文大盘点(37篇)_第5张图片

6.ResNet

越深的网络有越高等级特征,拥有强大表达能力.然而神经网络随着层数的增加,网络退化严重,即深层次的网络反而不如稍浅层次的网络性能,这并非是过拟合导致的.何凯明等提出的ResNet网络很好的解决了这个问题,ResNet模型的核心是通过建立浅层与深层之间的“短路连接”,在浅层网络的基础上叠加y=x层,就是恒等映射(identitymapping),可以让网络深度增加而不退化,有助于训练过程中梯度的反向传播,从而能训练出更深的CNN网络,实现更高的准确度.图为残差模块的示意图,残差函数F(x)=H(x)-x,如果F(x)=0,即为恒等映射,这样学习训练过程相当于自主确定了多少层次的网络是最优的.
ResNet特点:
(1)通过残差模块将网络深度进一步提高,解决了不断深化神经网络而使准确率饱和的问题.通过活用1×1卷积降低了特征图维度,控制了参数数量.
(2)存在明显层级,特征图个数层层递进,保证输出特征的表达能力.
(3)使用较少池化层,大量采用下采样,提高传播效率.
2D目标检测论文大盘点(37篇)_第6张图片

7.DenseNet

DenseNet模型的基本思路与ResNet一致,通过短路连接来融合前后几层的信息,但是DenseNet建立前面所有层与后面层的密集连接,同时通过特征上的连接来实现特征重用.这些特点让DenseNet在参数和计算成本更少的情形下实现比ResNet更优的性能,DenseNet也因此斩获CVPR2017的最佳论文奖.DenseNet网络结构主要结构分稠密块(Denseblocks)和过渡层(transitionlayers).稠密块结构能够互相连接所有的层,具体就是每个层都会接受其前面所有层作为其额外的输入.对于一个L层的网络,DesNet共包含L(L+1)/2个连接,可以实现特征重用,提升效率,并且缓解了深层网络的梯度消失问题.过渡层为相邻2个稠密块的中间部分,稠密块是连接两个相邻的稠密块,并且通过池化使特征图大小降低.
DenseNet的优势主要体现在以下几个方面:
(1)由于密集连接方式,DenseNet提升了梯度的反向传播,使得网络更容易训练.由于每层可以直达最后的误差信号,实现了隐式的深度监督;
(2)参数更小且计算更高效,由于DenseNet是通过拼接特征来实现短路连接,实现特征重用;
(3)由于特征复用,最后的分类器使用了低级特征

8.R-CNN

Girshck等针对卷积神经网络如何实现目标定位的问题,提出了将Regionproposal和CNN结合的算法R-CNN,开创了神经网络实现目标检测的先河,其计算流程如图所示,可分为4步,首先利用选择搜索算法提取候选区域,接着将候选区域缩放到固定大小,然后进入卷积神经网络提取特征,随后将提取的特征向量送入SVM分类器得到候选区域目标的类别信息,送入全连接网络进行回归得到位置信息.
R-CNN缺点:
(1)输入的图像大小会进行缩放,导致图像失真;
(2)用选择性搜索算法提取约2000个候选区域,每个候选区域都要送入卷积神经网络提取特征,计算量大耗时多;
(3)训练测试复杂,候选区域提取、特征获、分类和回归都是单独运行,中间数据也是单独保存卷积提取的特征需单独存储,占用大量硬盘空间.
2D目标检测论文大盘点(37篇)_第7张图片

9.SPP-Net

2014年He等针对R-CNN的缺陷进行了改进,开发出了SPP-Net(Spatial Pyramid Pooling Network).SPP-Net将整个图片送入卷积提取特征,避免了候选区域分别送入卷积层提取特征造成的重复计算.在卷积层和全连接层之间增添了空间金字塔池化层(Spatial Pyramid Pooling,SPP),可以对不同大小特征图进行池化操作并生成特定大小的特征图,避免了R-CNN对图像进行缩放导致图像失真
SPP-Net缺点:
(1)与R-CNN设计相同,训练各个阶段都是单独运行,且中间数据必须保存.
(2)训练数据的图像尺寸大小不一致,使候选框感受野过大,不可以使用反向传播有效的更新权重.
(3)网络微调只更新了全连接层,不能实现端到端的检测且检测精度还需进一步提升.
2D目标检测论文大盘点(37篇)_第8张图片

10.Fast R-CNN

借鉴空间金字塔池化层的思路,Ross等2015年提出Fast R-CNN,用感兴趣池化层(Region of Interest,RoI)代替了空间金字塔池化层,它去掉了SPP的多尺度池化,直接用网格将每个候选区域均匀分若干个区域块,同时对每个块进行最大值池化,从而将特征图上大小不一的候选区域转变为大小统一的特征向量.针对在训练期间为多阶段和特征重复计算造成的时间代价以及数据存储过量的问题,将神经网络与SVM分类相结合,由全连接层同时负责分类和回归任务,实现了多任务端到端训练,使检测精度和速度同时得到了提高.Fast R-CNN网络流程如图所示,主要分3部分,首先将图像送入卷积网络提取特征,然后通过感兴趣池化层将候选区域池化为同一长度的特征向量,最后通过全连接层进行分类和回归.Fast R-CNN在PASCALVOC数据集中检测时间为每张0.32s,远小于R-CNN的45s和SPP-Net的2.3s.虽然Fast R-CNN实现了多任务端到端的训练,然而通过选择性搜索算法提取候选区域耗费了较多时间,训练和预测所需时间仍较长,不能实现实时性检测.
2D目标检测论文大盘点(37篇)_第9张图片

11.Cascade R-CNN

R-CNN系列算法在检测目标时均存在IoU阈值选取问题,阈值选取越高就越容易得到高质量的样本,但一味选取高阈值会引发两个问题:(1)样本减少引发的过拟合;(2)在推理阶段出现检测器最优的阈值与输入候选的IOU值发生不匹配.因此,单一检测器很难抉择一个合适的IOU,无论高低都是有很大弊端.针对此类问题Cai等提出了一种级联检测器,他们利用前一个检测器输出作为下一个检测器的输入,同时相应的提高训练时的IoU阈值,使得IoU阈值与预选框的IoU值较为接近,训练的3个检测器最后输出结果精度更高,从而在推理阶段合理的提高了检测器优选IoU阈值.Cascade R-CNN算法核心由一系列的检测模型组成,每个检测模型都基于不同IoU阈值的正负样本训练得到,通过重采样改变了不同阶段的输入假设分布,并且保证了每个阶段有足够固定数量的正例样本数.通过调整阈值的方式重采样,不断改变候选框的分布,在保证样本数不减少的情况下训练出高质量的检测器,从而不会出现过拟合,且在更深层的训练阶段可以得到更高的IoU阈值.

12.Faster R-CNN

Ren等在Fast R-CNN的基础上提出Faster R-CNN算法,在卷积层后添加了区域提取网络RPN(RegionProposalNetwork),代替了Fast R-CNN的选择性搜索算法.RPN核心思想是使用CNN卷积神经网络直接产生候选区域,锚框机制和边框回归可以得到多尺度多长宽比的候选区域.RPN网络也是全卷积网络(Fully-Convolutional Network,FCN),可以针对生成检测建议框的任务端到端训练,能够同时预测出目标物体的边界和分数.Faster R-CNN整个流程如图所示,先对图像进行卷积提取特征,然后进入RPN层得到候选区域,最后全连接层进行分类和回归.整个流程从图像特征提取、候选区域获得到分类和回归都在神经网络中进行,且整个网络流程都能共享卷积神经网络提取的特征信息,提高了算法的速度和准确率,从而实现了两阶段模型的深度.Faster R-CNN在PASCALVOC2007和2012上的mAP分别为73.2%和70.4%,检测速度达到5fps.
Faster R-CNN虽然大幅提高了算法精度和速度,但仍存在一些缺点:
(1)获取候选区域,再对每个候选区域分类计算量还是比较大;
(2)虽然速度有了提高,但还是没达到实时性检测的要求.
2D目标检测论文大盘点(37篇)_第10张图片

13.R-FCN

与Faster R-CNN不同在于,R-FCN只留最后一层卷积层来做预测,剩余所有的层均放在前面做共享网络,相比于Faster R-CNN减少大量计算,提高检测速度。
但只是简单地将所有层移到前面不能解决问题,反而会因为挪动使得平移可变性变差,影响检测的准确度。 因此提出了位置敏感分数网络层来加强结构的平移可变性。 为了引入平移敏感性,在全卷积后面添加了一个 1X1 卷积 输出敏感位置分数图,对感兴趣区域的信息进行编码,使 RoI Pooling层后不再接全连接
层,避免了重复计算。 敏感分数图中存放的是对应目标某一部分的特征图,具体来讲目标被分成K×K个网格,网格对应感兴趣区域的 K×K个子网络的特征图。 得到敏感位置分数图后送入敏感位置 RoI池化层,对每个部分的得分求和作为每个类别的分数,然后通过softmax得到最大值作为对应类别的输出。R-FCN的 mAP达到了83.6% ,测试每张图像耗时170ms。

2D目标检测论文大盘点(37篇)_第11张图片

14.MaskRCNN

2017年He等在FasterR-CNN的基础上再次改进,提出了MaskR-CNN算法,通过添加Mask分支,能够同时实现目标检测和语义分割任务.由于Faster R-CNN在下采样和感兴趣池化层都采取了取整运算,对检测任务产生了影响,特别是对于像素级检测的任务.通过RoI align层替换RoI Pooling层,使用双线性插值来确定非整数位置的像素,使得每个感受野取得的特征能更好对齐原图感受野区域.此外Mask R-CNN采用基础网络ResNet+FPN(Feature Pyramid Network)来提取图像特征,如图所示,在COCO数据集上的检测准确率从Fast R-CNN的19.7%提高至39.8%.

Mask R-CNN网络的优点在于:它在Faster R-CNN网络的基础上增加了目标掩码作为输出量,掩码是将一个对象的空间布局进行编码,从而使得对目标的空间布局提取更精细.其缺点在于:分割分支增加了计算量,导致Mask R-CNN比Faster R-CNN检测速度慢一些.
2D目标检测论文大盘点(37篇)_第12张图片

15.TridentNet

目标检测算法对图像多尺度特征的提取主要是采用骨干网络,影响骨干网络进行多尺度特征提取的因素有:网络下采样率、网络深度和感受野.R-CNN系列算法中大部分学者研究了下采样率和网络深度对算法精度的影响,而对于目标检测中感受野的影响很少有人研究.Li等首次提出了TridentNet算法,通过从感受野的角度来构造多尺度目标的特征图,对于获取不同尺寸目标的特征过程中结构与权重相同,促进不同尺寸的目标能够形成相似特征.实验证明,不同的感受野对不同尺度目标的检测有着不同的影响,大的感受野对尺度较大的目标检测性能较好,小的感受野对小目标的检测性能较好.
TridentNet算法针对多尺度特征提取做了以下两点创新:
(1)多分支结构,在最后一层增加了多分支卷积层,用来提取不同尺度目标的特征图;
(2)不同分支之间结构相同,权重共享,唯一的不同在于不同分支所对应的感受野不一样(使用空洞卷积来实现).
2D目标检测论文大盘点(37篇)_第13张图片

小结:

从R-CNN、SPPNet、FastR-CNN、FasterR-CNN、MaskR-CNN、CascadeR-CNN和TridentNet算法网络逐步优化,每个算法均解决一部分难题,具体来说:
(1)RCNN解决了使用CNN进行目标定位问题;
(2)FastR-CNN解决了目标定位和分类同步问题;
(3)FasterR-CNN解决了选择性搜索目标问题;
(4)MaskR-CNN解决了同时进行目标定位、分类和分割问题;
(5)CascadeR-CNN解决了IoU阈值选取问题;
(6)TridentNet解决了从感受野提取图像特征问题.

16.YOLOv1

2015年Redmon等提出了基于回归的目标检测算法YOLO(You Only Look Once)
,其直接使用一个卷积神经网络来实现整个检测过程,创造性的将候选区和对象识别两个阶段合二为一,采用了预定义的候选区(并不是Faster R-CNN所采用的Anchor),将图片划分为S×S个网格,每个网格允许预测出2个边框.对于每个网格,YOLO都会预测出B个边界框,而每个边界框YOLO都会预测出5个值,其中4个代表边界框的位置,还有一个代表框的置信值.YOLO的网络结构示意图如图10所示,其中,卷积层用来提取特征,全连接层用来进行分类和预测.网络结构是受GoogLeNet的启发,把GoogLeNet的inception层替换成1×1和3×3的卷积.最终,整个网络包括24个卷积层和2个全连接层,其中卷积层的前20层是修改后的GoogLeNet.网络经过最后一个FC层得到一个1470×1的输出,7×7×30的一个张量,即最终每个网格都有一个30维的输出,代表预测结果.
YOLO优点:
(1)将目标检测问题转化为一个回归问题求解.结构非常简单,直接使用一个卷积神经网络实现同时预测边界框的位置和类别;
(2)速度非常快,可以实现视频的实时检测;
(3)泛化能力强,能学习到高度泛化的特征,可以迁移到其他领域.
2D目标检测论文大盘点(37篇)_第14张图片

17.YOLOv2

Redmon等对YOLO网络结构做修改提出了YOLOv2方法,YOLOv2用DarkNet-19用做基础网络,包含19个卷积层、5个最大值池化层.YOLOv2网络通过在每一个卷积层后添加批量归一化层(batch normalization),同时不再使用dropout.YOLOv2引入了锚框(anchor boxes)概念,提高了网络召回率,YOLOv1只有98个边界框,YOLOv2可以达到1000多个.网络中去除了全连接层,网络仅由卷积层和池化层构成,保留一定空间结构信息.结果mAP由69.5%下降到69.2%,下降了0.3%,召回率由81%提升到88%,提升7%.尽管mAP略微下降,但召回率的上升意味着模型有更大的提升空间.同时利用K-means聚类,解决了anchor boxes的尺寸选择问题.

18.YOLO9000

YOLO9000是基于YOLO的改进版本,YOLO的不足是:
a)利用全连接层的数据对边框进行预测会丢空间信息,导致定位不准,并且设定一个网格只检测两个边界框,合理性不足;
b)相对于two-stage检测,召回率较低.YOLO9000解决了这两个主要问题,去掉全连接层,目的是引入anchor框的思想,在每一个网格中设定九个anchor框,并对anchor框使用了K-means聚类,使其自动地找到更合适的anchor框,提高了召回率,从81%提高到88%.网格分辨率也从YOLO的7×7改为了13×13,增加特征图的细粒度,可以更好地检测小目标.
YOLO9000中尝试加入了批量规范化层(batch-normalization,BN),对数据进行规范化处理.对于神经网络,每层的分布都有变化,通过对上一层的输出进行均衡规范数据分布,就可以起到加速训练的效果.并且通过规范化输入,降低激活函数在输入区间上达到饱和的概率,来规避梯度消失现象.YOLO9000采用的网络是DarkNet-19,卷积操作比YOLO的inception更少,减少计算量.该算法mAP达到76.8%,并且速度达到40fps.

19.YOLOv3

YOLOv3借鉴了ResNet的残差结构,使主干网络变得更深(从v2的DarkNet-19上升到v3的DarkNet-53).整个YOLOv3结构里面,没有池化层和全连接层,在前向传播过程中,张量的尺寸变换是通过改变卷积核的步长来实现.相应改进使YOLOv3与SSD相当的精确度下达到50fps的检测速度,并在COCO测试数据上mAP的最佳效果达到33.0%,与RetinaNet的结果相近,速度快了3倍,但整体模型变得更加复杂,速度和精度相互制衡.
YOLOv3改进之处:
(1)多尺度预测,借鉴FPN,采用多尺度来对不同大小的目标进行检测.
(2)更好的分类网络,从DarkNet-19到DarkNet-53.
(3)采用Logistic对目标进行分类,替换之前用Softmax的分类方法,且Softmax可被独立的多个Logistic分类器替代,准确率不会下降.
2D目标检测论文大盘点(37篇)_第15张图片

20.YOLOv4

YOLO v4的创新主要有四点:
1)输入端:这里指的创新主要是训练时对输入端的改进,主要包括Mosaic数据增强、cmBN、SAT自对抗训练
2)BackBone主干网络:将各种新的方式结合起来,包括:CSPDarknet53、Mish激活函数、Dropblock
3)Neck:目标检测网络在BackBone和最后的输出层之间往往会插入一些层,比如Yolov4中的SPP模块、FPN+PAN结构
4)Prediction:输出层的锚框机制和Yolov3相同,主要改进的是训练时的损失函数CIOU_Loss,以及预测框筛选的nms变为DIOU_nms
仅对比Yolov3和Yolov4,在COCO数据集上,同样的FPS等于83左右时,Yolov4的AP是43,而Yolov3是33,直接上涨了10个百分点。

2D目标检测论文大盘点(37篇)_第16张图片

21.YOLOv5

与YOLO v4相比,YOLO v5的主要改进如下:
(1)输入端:Mosaic数据增强、自适应锚框计算、自适应图片缩放
(2)Backbone:Focus结构,CSP结构
(3)Neck:FPN+PAN结构
(4)Prediction:GIOU_Loss

2D目标检测论文大盘点(37篇)_第17张图片
2D目标检测论文大盘点(37篇)_第18张图片

22.SSD

Liu等提出的SSD(Single Shotmultibox Detector)方法是对YOLO算法的改进,其网络结构如图所示.SSD与YOLO主要不同在于以下几个方面:
(1)采用多尺度特征图用于检测.SSD使用VGG16作为主干网络,并在VGG16的基础上添加了新的卷积层以获得不同大小的特征图,较大的特征图用来检测小目标,较小的特征图用来检测大目标.
(2)采用卷积进行检测.YOLO最后采用全连接,而SSD直接采用卷积对不同的特征图进行提取特征.对于形状为m×n×p特征图,只需要采用3×3×p这样较小的卷积核得到检测值.
(3)设置先验框.YOLO中每个单元预测多个边界SSD算法检测速度较快,整个过程只需要一步.首先在图片不同位置按照不同尺度和宽高比进行密集抽样,然后利用CNN提取特征后直接进行分类与回归,速度较快,但均匀密集采样会造成正负样本不均衡使得训练比较困难,导致模型准确度有所降低.SSD对小目标的检测没有大目标好,因为随着网络的加深,在高层特征图中小目标的信息丢失掉,适当增大输入图片的尺寸可以提升小目标的检测效果.为了提高SSD对小目标的检测能力,Fu等提出了DSSD(De-convolutional Single Shot Detector)方法DSSD的核心思想:提高浅层的表征能力.首先将主干网络由VGG替换成更深的ResNet-101,增强了网络提取的能力,其次修改了预测模块,添加了类似于ResNet的shortcuts通道,将各层次之间特征相结合.DSSD的主要特点是增加了反卷积DM(Deconvolution
Module),DM模块与SSD中的卷积层网络构成了不对称的“沙漏”结构.DM模块与整个沙漏结构,更充分利用了上下文信息和浅层的特征,从而与SSD相比在小目标和密集目标的检测率上有很大的提高.但是由于ResNet-101网络层数太深,网络结构过于复杂,导致检测速度大幅度降低,DSSD检测513×513图像时速度只有6fps.

2D目标检测论文大盘点(37篇)_第19张图片

23.RetinaNet

Lin等认为基于回归的目标检测方法精度不及基于候选区域的目标检测方法的根本原因在于“类别不平衡”,基于候选区域的目标检测算法由于RPN网络的存在,过滤掉了大部分背景框,从而缓解了“类别不平衡”的问题.而one-stage算法直接在生成的“类别框,但是都是相对于这个单元本身,YOLO需要在训练过程中自适应目标的形状.SSD借鉴了Faster-RCNN的anchor理念,每个单元设置尺度或者长宽比不同的先验框,减小了训练的难度,对重叠或近邻的物体有更好的预测效果.极不平衡”的边框中进行难度极大的细分类,意图直接输出边框和标签.而原有交叉熵损失作为分类任务的损失函数,无法抗衡“类别极不平衡”,容易导致分类器训练失败.因此,one-stage目标检测算法虽然保住了检测速度,却丧失了检测精度.RetinaNet采用FocalLoss损失函数代替交叉熵误差,来抑制量大的类别所贡献的损失值.通过此种方法,使得训练过程中量少的类别的权重更大,从而缓解了“类别不平衡”的问题.RetinaNet的网络结构如图所示,采用ResNet+FPN网络提取图像的多尺度信息,再利用one-stage目标识别法+FocalLoss,这个结构在COCO数据集上的mAP达到了39.1%,速度为5fps,精度超过同期所有two-stage的检测器.
2D目标检测论文大盘点(37篇)_第20张图片

24.CornerNet

目前大部分常用目标检测算法(比如RCNN系列,SSD,YOLO系列等)都是基于锚框(即anchor boxes)进行目标检测,引入锚框的缺点在于:
(1)正负样本不均衡.大部分检测算法的锚框数量成千上万,而目标数量相对少很多,导致正样本数量会远远小于负样本.
(2)引入更多的超参数,比如anchor的数量、大小和宽高比等.Law等舍弃了传统的锚框思路,提出了一种无锚框的目标检测新算法,即CornerNet算法,该算法使用单个卷积神经网络将目标边界框检测为一对关键点(即边界框的左上角和右下角),也就是使用单一卷积模型生成热点图和嵌入式向量.CornerNet算法架构包含3部分:环面网络、右下角和左上角的热图、预测模块,如图所示.
(1)环面网络(即Hourglass网络)是人体姿态估计的典型架构,堆叠两个环面网络生成两组热力特征图来预测不同分类下的角点,其中一组负责预测左上角点,另一组负责预测右下角点,每一个角都包括角合并、对应的热图、嵌入式向量和偏移;
(2)环面网络同时包含多个从下往上(从高分辨率到低分辨率)和从上往下(从低分辨率到高分辨率)过程,目的是在各个尺度下抓取信息;
(3)嵌入式向量使相同目标的两个顶点(左上角和右下角)距离最短,偏移用于调整生成更加紧密的边界定位框.
CornerNet算法消除了现有one-stage检测算法中对锚框的需要,整个检测网络的训练从头开始并不基于预训练的分类模型,用户能够自由设计特征提取网络,不用受预训练模型的限制.同时该算法提出了一种新的池化方法(即cornerpooling),能够帮助网络更好地定位边界框的角点,提高算法的检测精度.
2D目标检测论文大盘点(37篇)_第21张图片

25.CenterNet

CornerNet算法在生成边界框的时候在生成边界框的时候受限于检测的角点对,即如果生成角点对的质量够高,则对应的边界框的质量也高;反之,则会产生错误的边界框.在生成边界框是不能仅依靠角点对的信息,还需要角点对生成的区域内部信息.Duan等在CornerNet算法基础上改进并提出的CenterNet算法,使模型能够自行判断生成边界框的正确性.CenterNet算法将左上角、右下角和中心点结合成为三元组进行物体框的判断,不仅预测角点,也预测中心点,如果角点对所定义的预测框的中心区域包含中心点,则保留此预测框,否则弃掉.同时如果预测的边界框与标注框有很大的交并比,即该预测框的质量较高,该预测框的中心区域应该
包含中心关键点.为了提高检测角点对和中心点的质量,提出具有创新性的级联角点池化(cascadecornerpooling)和中心池化(centerpooling)改善上述关键点的生成.
(1)级联角点池化:针对角点对的预测,级联角点池化首先提取物体边界最大值(cornerpooling),然后在边界最大值处继续向内部提取最大值,并与边界最大.
(2)值相加,以结合更多内部信息,使其具有感知内部信息的能力.
(3)中心池化:针对中心点的预测,中心池化提取中心点水平方向和垂直方向的最大值并相加,以此给中心点提供所处位置以外的信息,将有助于中心关键点获取目标的更多信息、感知边界框的中心区域.CornerNet算法引入了目标内的信息,同时通过级联角点池化和中心池化两种策略来改善了各关键点的生成,利用生成边界框内部的信息来筛选出高质量的边界框,从而显著提升检测效果.

26.D2Det

2020年Cao等提出了一种新颖的二阶段目标检测方法D2Det,它可以同时解决精确定位和精确分类的问题.模型引入了密集局部回归,该回归可以预测对象提议的多个密集框偏移,密集局部回归不限于固定区域内的一组量化的关键点,并且具有回归位置敏感实数密集偏移的能力,从而可以实现更精确的定位.为了进行准确的分类,引入了DRP(DiscriminativeRoIPooling),分别从第一阶段和第二阶段提取准确的目标特征区域,进而提升性能.

27.M2Det

2019年Zhao等提出了M2Det.由于之前特征金字塔仅根据固有的特征来构建,因此它们具有一些局限性.在M2Det中提出了更有效的特征金字塔,多层特征金字塔.该结构首先利用FFMv1将骨干提取的特征图进行融合得到基本特征,再利用TUM和FFMv2模块交替生成一系列的特征金字塔,最后利用SFAM模块将特征金字塔中尺度相同的特征层聚合起来.
2D目标检测论文大盘点(37篇)_第22张图片

28.EfficienDet

2019年Tan等为了寻找一个兼顾检测速度和精度的模型,在EfficienNet的基础上提出了Effi⁃cienDet.该模型以EfficienNet为主干网络,双向特征金字塔网络(BiFPN)为特征网络,同时引入了联合尺度缩放的方法.BiFPN可以快速地进行多尺度特征融合,其中应用了加权的思想.联合尺度缩放可以将主干网络、特征网络和框-类预测网络的深度、宽度和分辨率进行统一缩放,以达到最优效果.结合这些方法的EfficienDet模型参数比当时最先进的模型减少了4倍,并且检测速度提升了3倍.

29.CentripetaNet

为了解决基于关键点的探测器容易匹配错误的问题,Dong等提出了CentripetalNet.该模型可以预测目标的角点位置和向心位移,并匹配其对应的角,这种方法比传统的嵌入方法更准确地匹配角点.同时为了充分利用角池化层后形成的部分特征图中的十字星特征,提出十字星形可变性卷积,可以增强对该特征的学习.经试验该模型在COCO数据集上性能表现超越了当前所有无锚框的目标检测器.

30.FPN

FPN特征金字塔是对目标检测方法的一种改进,它借鉴了多尺度的思想,用卷积网络得到不同的特征层,然后将低分辨率的高级特征和高分辨率的低级特征进行自顶向下的侧边链接度信息都可以很好地利用,提高准确度.FPN包含自底而上的特征层、自顶而下的特征采样、和特征之间的连接.自底而上的特征层是卷积网络前向传播所得.自顶而下的部分进行上采样处理,上采样用插值方法,在原像素基础上用某种算法插入新像素,达到扩大特征层尺寸的效果.对上一层的特征图上采样,使得它与下一层的特征图具有相同尺寸.特征之间的侧边横向连接是将上采样得到的特征图与自底而上的特征图进行融合.将特征图用1×1卷积网络卷积,目的是改变特征层的通道数,可以与上采样的特征图融合.3×3卷积网络是为了消除采样的混叠效果.FPN算法很大程度上提高了小目标的检测性能.
2D目标检测论文大盘点(37篇)_第23张图片

31.RefineDet

2018年研究人员将Faster R-CNN与SSD两种思路融合产生了RefineDet,框架上是通过两个不同的模块来仿照two-stage的检测模式,但算one-stage检测.在保证速度的前提下,提高检测效果.图为RefineDet的模型框架结构.上端模块ARM用于初步生成候选框.ARM只做二分类,判断是否存在目标并删除一些无目标候选框.下端模块OBD,作用是对上端模块结果进行更精确的多分类以及框回归.中间模块TCB,作用是将不同特征层的特征图进行融合.速度比“两步法”检测器快的原因是没有做如Faster R-CNN步骤将ROI提取出来再做池化,而是将特征图直接用TCB模块进行传递,实现了加速.在VOC2012数据集上的mAP达到83.5%.
2D目标检测论文大盘点(37篇)_第24张图片

32.SqueezeNet SqueezeNext

2016年,Iandola等提出了SqueezeNet轻量化网络,该网络借鉴了Inception网络的设计思想,通过Firemodule基本模块实现SqueezeNet网络的构建,其Firemodule结构如图(a)所示.Firemod⁃ule中主要包含了Squeeze层和Expand层,其中Squeeze层采用1´1的卷积核来减少参数量,Ex⁃pand层则采用1´1和3´3卷积核分别得到对应特征图后进行拼接,由此得到Firemodule的输出.利用卷积层、Firemodule和池化层构建的SqueezeNet模型大小只有4.8MB,却在ImageNet上达到了相比AlexNet略优的57.5%的TOP-1分类精度.2018年,Gholami等基于SqueezeNet提出了改进版的SqueezeNext轻量化网络,其主要采用了如图1(b)所示的模块结构.该结构中采用通道数减半的两层Squeeze层对输入进行处理,然后通过3´1和1´3搭配的低秩卷积核进行卷积,之后利用一个卷积层实现数据维度匹配.此外,SqueezeNext借鉴ResNet网络结构思想实现了shortcut连接,并通过硬件实验指导网络设计,其参数量相比SqueezeNet有了明显降低,但却实现了高达69.8%的TOP-1分类精度.
2D目标检测论文大盘点(37篇)_第25张图片

33.MobileNetv1v2

2017年,Howard等提出了MobileNetv1轻量化网络,该网络使用了深度可分离卷积(Depthwise Separable Convolution,DSC)结构代替传统卷积结构,将传统卷积结构中N个DK´DK´C卷积核分解为C个DK´DK´1和N个1´1´C卷积核叠加的形式,其结构图如图(a)所示,通过该方法可使卷积操作运算量降低为原有的1/8~1/9.于此同时,通过引入时间因子α和分辨率因子ρ进一步降低模型参数量,最终MobileNetv1参数量约为4.2M,且在ImageNet数据集上实现了70.6%的TOP-1分类精度.2018年,Mark等在Mobilenetv1的基础上提出了Mobilenetv2轻量化网络,该网络最大的特点是引入了反向残差和线性瓶颈结构,反向残差结构如图(b)所示,其不同于常规残差结构“压缩—卷积—扩张”过程,而是采用“扩张—卷积—压缩”的反向式操作,充分利用深度可分离卷积可有效降低中间卷积运算计算量的优势来保证算法性能,且通过去掉ReLU来避免信息损失.
2D目标检测论文大盘点(37篇)_第26张图片

34.ShuffleNet v1 v2

2017年,Zhang等提出了ShuffleNet v1轻量化网络,其基本模块结构如图(a)所示.ShuffleNet v1对常规残差结构进行了改进,将与输入特征图相连的第一个1´1卷积层替换为分组卷积,并利用Channel shuffle操作对分组卷积各组输出结果进行信息交互,以此实现在降低运算量的情况下保证网络性能,ShuffleNet v1最终在ImageNet数据集上实现了73.7%的TOP-1分类精度.2018年,Ma等在ShuffleNet v1的基础上又提出了ShuffleNetv2轻量化网络,该网络的基本模块结构如图(b)所示,其在对输入特征图进行处理时首先进行了通道划分,其中一个分支不采取任何操作,另一个分支经过卷积处理后,与前一个分支拼接后再进行Channel Shuffle操作,以此实现信息交互,最终ShuffleNet v2在ImageNet数据集上实现了74.9%的TOP-1分类精度.
2D目标检测论文大盘点(37篇)_第27张图片


*感谢 同济子豪兄 知乎江大白 杨玉敏 廖育荣 林存宝 倪淑燕 吴止锾 王灿 卜乐平 陆峰 刘华海 黄长缨 杨艳 谢禹 刘财喜 南晓虎 丁雷
为本文提供支持!

你可能感兴趣的:(论文,计算机视觉,目标检测)