A Survey of Deep Learning-based Object Detection

目录

摘要

一、简介

二、骨干网络

三、典型的baseline

A、R-CNN

B、Fast R-CNN

C、Faster R-CNN

D、Mask R-CNN

E、YOLO

F、YOLO v2

G、YOLO v3

H、Retinanet

I、SSD

J、DSSD

K、RefineDet

L、Relation Networks for Object Detection

M、DCNv2

N、NAS-FPN

O、M2Det

四、数据集和标准

A、PASCAL VOC dataset

1)、Dataset

2)、Metric

B、MS COCO基准

1)、Dataset

2)、Metric

C、ImageNet基准

1)、Dataset

2)、Metric

D、VisDrone2018基准

E、Open Image V5

1)、Dataset

2)、Metric

F、行人检测数据集

5、通用图像目标检测方法的研究

A、增强特征

B、提高目标定位

C、解决负样本不平衡问题

D、提升的NMS后处理方法

E、将单级和两级检测器相结合,取得了较好的效果

F、复杂场景的解决方法

G、Anchor-free

H、Training from scratch

I、设计新结构

J、加速检测

K、达到快速的精确的检测

六、应用的分支

A、典型的应用领域

1)安全领域:

2)军事领域:

3)、交通领域:

4)、医学领域:

5)、生活领域:

B、目标检测分支

1)弱监督目标检测:

2)显著性目标检测:

3)、高亮检测:

4)、边缘检测:

5)、文本检测:

6)、多域目标检测:

7)、视频目标检测:

8)、点云三维目标检测:

9)、2D、3D位姿估计:

七、结论和趋势

A、结论

B、趋势

1)、把一阶段和两阶段方法进行结合:

2)、视频目标检测:

3)、有效的后处理方法:

4)、弱监督目标检测方法:

5)、多域目标检测:

6)、3D目标检测:

7)、显著性目标检测:

8)、无监督目标检测:

9)、多任务学习:

10)、多元信息辅助:

11)、构建终端目标检测系统:

12)、医学影像与诊断:

13)、先进的医学生物识别技术:

14)、遥感机载实时检测:

15)、基于GAN的检测器:


摘要

目标检测是计算机视觉中最重要、最具挑战性的分支之一,它在人们的生活中得到了广泛的应用,如监控安全、自主驾驶等,其目的是定位某一类语义目标的实例。随着用于检测任务的深度学习网络的迅速发展,目标检测器的性能得到了很大的提高。为了全面深入地了解目标检测过程的主要发展现状,本文首先分析了现有典型检测模型的方法,并对基准数据集进行了描述。之后,我们主要系统地概述了各种目标检测方法,包括单级和两级检测器。此外,我们列出了传统的和新的应用程序。分析了目标检测的一些代表性分支。最后,我们讨论了利用这些目标检测方法构建一个高效的体系结构,并指出了一套发展趋势,以便更好地遵循最新的算法和进一步的研究。

一、简介

近年来,目标检测由于其广泛的应用和近年来的技术突破而受到越来越多的关注。这项任务正在学术界和现实世界的应用中进行广泛的研究,如监控安全、自动驾驶、交通监控、无人机场景分析和机器人视觉。在导致图像目标检测技术快速发展的诸多因素和努力中,深度卷积神经网络和GPU计算能力的发展应作出显著贡献。目前,深度学习模型已广泛应用于计算机视觉的各个领域,包括一般的图像目标检测和特定领域的目标检测。目前最先进的目标检测器几乎都是使用深度学习网络作为主干网和检测网络,分别从输入图像、分类和定位中提取特征。目标检测是一种与计算机视觉和图像处理相关的计算机技术,它处理在数字图像和视频中检测某一类语义对象(如人、建筑物或汽车)的实例。研究较多的图像目标检测领域包括多类检测、边缘检测、显著性目标检测、姿态检测、人脸检测和行人检测。由于越来越多的应用需要场景理解,作为图像目标检测的重要组成部分,图像目标检测在现代生活的许多领域得到了广泛的应用。到目前为止,许多基准在目标检测领域发挥着重要作用,如Caltech、KITTI、ImageNet、PASCAL VOC、MS COCO。在ECCV VisDrone 2018大赛中,主办方发布了一个新的数据集基准,其中包含了大量基于无人机平台的图像和视频。

我们的研究重点是描述和分析基于深度学习的图像目标检测。现有的调查往往涉及一系列的一般目标检测领域,由于发展迅速,可能不包含最先进的方法,这些方法提供了一些新的解决方案和这些任务的新方向。我们列出了最近提出的非常新颖的解决方案,但忽略了讨论基础,以便读者更容易看到该领域的前沿。与以往的目标检测调查不同,本文系统、全面地回顾了基于深度学习的目标检测方法,最重要的是研究了最新的检测解决方案和研究趋势。我们的调查在各个方面进行了深入的分析和讨论,据我们所知,其中许多是这个领域的第一次。我们的目的是概述不同的深度学习方法是如何被使用的,而不是对所有相关论文进行全面的总结。

本文的其余部分组织如下。图像目标检测器需要一个强大的主干网络来实现丰富的特征提取。我们将在下面的第2节中讨论骨干网络。典型的管道领域特定的图像检测器作为任务的基础和里程碑。在第三部分中,我们将阐述2019年6月之前提出的最具代表性和开拓性的基于深度学习的方法。第4节将描述常用的数据集和度量。第5节系统地阐述了一般图像目标检测方法的分析。在第6节中,我们描述了5个典型的目标检测领域和几个流行的目标检测分支。第7节总结了发展趋势。

二、骨干网络

骨干网作为目标检测任务的基本特征提取器,以图像为输入,输出相应输入图像的特征图。这些网络大多是用于分类任务的网络,去掉了最后一个完全连接的层。改进版的基本分类网络也可用。对于精度与效率的不同要求,人们可以选择更深层次、密集连接的骨干,如ResNet、ResNeXt、AmoebaNet等,也可以选择轻便的骨干,如MobileNet、ShuffleNet、SqueezeNet、Xception、MobileNetV2等。当应用于移动设备时,轻量级的骨干可以满足要求。Wang等人通过将PeleeNet与[8]相结合,优化结构以提高处理速度,提出了一种新的实时目标检测系统。但更精确的应用需要更高的精度,因此复杂的骨干。另一方面,视频、摄像头等实时获取不仅需要高速的处理速度,还需要高精度,这就需要精心设计的主干来适应检测架构,同时也需要在速度和精度之间做出权衡。

为了提高检测精度,采用深度密集连接的骨干网代替浅层稀疏连接的骨干网。He et al.利用ResNet而不是VGG,这是在更快的R-CNN中采用的,因为它具有捕捉丰富特征的高容量,从而进一步提高精度。新型的高性能分类网络可以提高目标检测的精度,降低目标检测任务的复杂度。这是进一步提高网络性能的有效途径,因为骨干网是一个特征提取器。众所周知,特征的质量决定了网络性能的上限,因此这是一个需要进一步探索的重要步骤。

三、典型的baseline

随着深度学习和计算能力的提高,一般目标检测领域取得了很大的进展。第一个基于cnn的目标检测器R-CNN的提出,为推动一般目标检测的发展做出了一系列重要的贡献。我们介绍了一些具有代表性的对象检测体系结构,供初学者在此领域入门。

A、R-CNN

R-CNN是一种基于区域的CNN检测器。Ross Girshick等人提出的R-CNN可以用于目标检测任务,他们的工作首次表明,与基于简单的类Hog特征的系统相比,CNN可以在PASCAL VOC数据集上显著提高目标检测性能。在目标检测领域,证明了深度学习方法的有效性和有效性。R-CNN检测器由四个模块组成。第一个模块生成分类独立的区域建议。第二模块从每个区域的建议中提取一个固定长度的特征向量。第三个模块是一组特定于类的线性支持向量机,用于对同一幅图像中的对象进行分类。最后一个模块是一个精确预测边界盒的边界盒回归器。具体来说,首先,为了生成区域建议,作者采用了选择性搜索的方法。然后利用CNN从每个区域的建议中提取4096维特征向量。由于全连通层需要固定长度的输入向量,区域建议特征应具有相同的大小。本文采用固定的227×227像素作为CNN的输入尺寸。我们知道,在不同的图像中,物体的尺寸和长宽比是不一样的,这使得第一个模块提取的区域建议大小不同。无论候选区域的大小或长宽比如何,作者都将其周围的紧包围框中的所有像素弯曲到所需的大小227×227。特征提取网络由五个卷积层和两个完全连通层组成。所有CNN参数在所有类别中共享。每个类别都训练独立于类别的支持向量机,这些支持向量机不会在不同的支持向量机之间共享参数。

对大数据集进行预处理,然后对指定数据集进行微调,是实现深度卷积神经网络快速收敛的一种很好的训练方法。首先,Ross Girshick等人对CNN进行了大规模数据集(ImageNet分类数据集)的预处理。最后一个完全连接的层被CNNs ImageNet特定的1000路分类层所替代。下一步是使用SGD(随机梯度下降)微调扭曲建议窗口上的CNN参数。最后一个完全连接的层是(N+1)-way分类层(N: object classes, 1: background),它是随机初始化的。在列举积极例子和消极例子时,作者将其分为两部分。一是在微调过程中定义IoU(交集大于并集)重叠阈值0.5,在该阈值以下区域提案定义为负值,超过该阈值的对象提案定义为正值。同样,那些最大IoU与ground-truth类重叠的对象建议被分配给ground-truth框。另一种方法是在训练svm时设置参数。相反,只有ground-truth框作为各自类的积极示例,而提案与一个类的所有ground-truth实例的重叠小于0.3 IoU,作为该类的消极提案。由于这些建议重叠在0.5和1之间,但没有ground truth,所以正样本的数量增加了大约30倍,所以大集合可以有效地避免在微调整个网络的过程中过度拟合。

B、Fast R-CNN

一年后,Ross Girshick提出了一个更快的改进版本的R-CNN,叫做Fast R-CNN。由于R-CNN在不共享计算的情况下对每个区域的提案都执行ConvNet前向传递,因此在svm分类上花费了很长时间。Fast R-CNN从整个输入图像中提取特征,然后通过感兴趣区域池层(region of interest, RoI)得到固定大小的特征作为后续分类和边界盒回归全连通层的输入。特性从整个图像中提取一次,发送到CNN每次分类和本地化R-CNN输入每个地区建议CNN相比,可以节省大量时间用于CNN处理和大型磁盘存储来存储大量的功能。如上所述,训练R-CNN是一个多阶段的过程,包括训练前阶段、微调阶段、svm分类阶段和边界盒回归阶段。Fast R-CNN是一个单阶段端到端训练过程,使用每个标记RoI上的多任务损失来联合训练分类和边界盒回归。

另一个改进是Fast R-CNN使用RoI池层从大小不同的提案中提取固定大小的feature map。该操作不需要对区域进行翘曲,保留了区域建议书特征的空间信息。为了快速检测,Ross Girshick使用截断的SVD加速计算全连通层的前向传递。实验结果表明,Fast R-CNN在PASCAL VOC 2007数据集上有66.9%的mAP,而R-CNN在PASCAL VOC 2007数据集上有66.0%的mAP。与R-CNN相比,训练时间从84小时下降到9.5小时,快了9倍。对于测试速率(s/image),截断SVD (0.32s)的Fast R-CNN比R-CNN (47s)快213×。这些实验是在Nvidia K40 GPU上进行的,所有这些都证明了Fast R-CNN确实加速了目标检测。

C、Faster R-CNN

Fast R-CNN提出3个月后,对基于区域的CNN的baseline进行了改进。快速R-CNN采用选择性搜索的方式提出RoI,速度慢,需要与检测网络相同的运行时间。Faster R-CNN用一个全新的RPN(区域建议网络)代替它,这是一个完全卷积的网络,可以有效地预测具有广泛规模和宽高比的区域建议。RPN加速了区域提案的生成速度,并与检测网络共享全图像卷积特征和一组共同的卷积层。图3 (b)简化了检测过程,另一种不同尺寸目标检测的新方法是参考多尺度锚。该锚点可以大大简化生成各种大小区域建议的过程,不需要输入图像或特征的多个尺度。在最后一个共享卷积层的输出(feature map)上,滑动一个固定大小的窗口(3×3),每个特征窗口的中心点相对于原始输入图像的中心点,即k(3×3)锚盒的中心点。笔者设置的锚箱有3种不同的尺度和3种宽高比。区域建议是相对于引用锚框参数化的。然后测量预测箱与对应ground truth距离,优化预测箱位置。实验表明,Faster R-CNN在精度和检测效率上都有了很大的提高。在PASCAL VOC 2007测试集中,通过共享卷积计算,Faster R-CNN获得了69.9%的mAP,而速度更快的R-CNN获得了66.9%的mAP。同样,在相同VGG骨干网下,Faster R-CNN (198ms)的总运行时间比Fast R-CNN (1830ms)低近10倍,处理速度为5fps比0.5fps。

D、Mask R-CNN

Mask R-CNN是对R-CNN的一种扩展,主要用于实例分割任务。不管添加并行掩模分支,Mask R-CNN都可以看到一个更精确的目标检测器。何凯明等人使用Faster R-CNN和ResNet -FPN (feature pyramid network,主干根据特征金字塔的规模从不同层次提取RoI特征)主干进行特征提取,获得了非常好的精度和处理速度。FPN包括一个自底向上通路和一个具有横向连接的自顶向下通路。自底向上路径是一个主干卷积网络,它计算一个由多个尺度的特征图组成的特征层次结构,其缩放步骤为2。自顶向下路径通过从更高的金字塔层次上向上采样空间更粗但语义更强的特征图,从而产生更高分辨率的特征。一开始,自底向上路径的最后一个卷积层的输出捕获顶部的金字塔特征图。每个横向连接从自底向上的通路和自顶向下的通路合并相同空间大小的特征图。虽然feature map的维数不同,但是1×1 convolutional layer可以改变维数。一旦进行横向连接操作,将形成一个新的金字塔级,并在每个级别独立作出预测。由于高分辨率地形图对小目标的检测非常重要,而低分辨率地形图则含有丰富的语义信息,因此特征金字塔网络提取出了重要的特征。

另一种提高精度的方法是用RoIAlign替换RoI池,从每个RoI中提取一个小的feature map,如图2所示。传统的RoI池将浮点数量化为两个步骤,以获得每个bin中的近似特征值。首先,给定输入图像的RoI坐标和下采样步长,对特征图中各RoI的坐标进行量化计算。然后将RoI特征图划分为多个区域,生成大小相同的特征图,并在此过程中进行量化。这两种量化操作会导致RoI和提取的特征之间的不对齐。为了解决这个问题,在这两个步骤中,RoIAlign避免了RoI边界或箱子的任何量化。首先计算每个感兴趣区域特征图坐标的浮点数,然后进行双线性插值运算,计算每个感兴趣区域内四个定期采样点的特征值的精确值。然后它使用max或average池聚合结果,以获得每个bin的值。图2是RoIAlign操作的示例。实验表明,通过上述两种改进,提高了测量精度。在MS COCO检测数据集上,采用ResNet-FPN骨干网改进了1.7点盒AP, RoIAlign操作改进了1.1点盒AP。

E、YOLO

YOLO是Joseph Redmon等人在Faster R-CNN之后提出的一种单阶段目标探测器。主要贡献是实时检测全图像和网络摄像头。首先,这是由于该流程预测不到100个边界框每幅图像,而每幅图像Fast R-CNN使用选择性搜索预测2000个区域建议。其次,YOLO帧检测是一个回归问题,统一的体系结构可以直接从输入图像中提取特征,用于预测边界框和类概率。YOLO基础网络以每秒45帧的速度运行,在Titan X GPU上没有批处理,相比之下,R-CNN速度更快,为0.5fps, R-CNN速度更快,为7fps。YOLO管道首先将输入图像划分为S×S网格,其中网格单元负责检测中心落入的目标。信心得分乘以两部分,P(object)表示盒子包含一个目标的概率,IOU (union上的交集)表示盒子包含该目标的准确度。每个网格单元格预测B个边界框(x、y、w、h)和它们的置信度得分,以及C类的C维条件类概率。特征提取网络由24个卷积层和2个全连通层组成。在对ImageNet数据集进行预训练时,作者使用了前20个卷积层和一个平均池化层,然后是一个完全连接层。在检测方面,为了提高性能,采用了整个网络。为了获得细粒度的视觉信息,提高检测精度,在检测阶段将训练前阶段的输入分辨率提高一倍,达到224×224。

实验表明,YOLO定位精度不高,定位误差是预测误差的主要组成部分。Fast R-CNN会产生很多背景误报错误,而YOLO比它小3倍。YOLO在PASCAL VOC数据集上进行训练和测试,与Fast R-CNN (70.0% mAP, 0.5fps)和Faster R-CNN (73.2% mAP, 7fps)相比,YOLO以45 fps实现63.4% mAP。

F、YOLO v2

YOLOv2是YOLO的第二个版本,它采用了过去作品中的许多设计决策,以新颖的概念来提高YOLOs的速度和精度。批处理规范化。对流网层输入的固定分布将对各层产生积极的影响。由于优化步骤采用随机梯度下降法,对整个训练集进行归一化是不切实际的。由于SGD在培训期间使用小批,每个小批生成每个激活的平均值和方差的估计值。计算小批量m的均值和方差值,将m的激活量标准化为均值为0,方差为1。最后从相同的分布中对每个小批的元素进行采样。这个操作可以看作是一个BN层输出具有相同分布的激活。YOLOv2在每个卷积层之前添加一个BN层,这将加速网络的收敛,并有助于模型的规范化。批处理规范化使mAP得到了2%以上的改进。

高分辨率分类器。在YOLO骨干中,分类器采用了224×224的输入分辨率,然后将分辨率提高到448。当切换到对象检测任务时,这个过程需要网络调整到新的分辨率输入。为了解决这个问题,YOLOv2在ImageNet数据集上增加了一个微调过程,在ImageNet数据集上,在448×448的时候,它的分类网络增加了4%。与锚箱卷积。在原始的YOLO网络中,预测箱的坐标直接由完全连接的层生成。更快的R-CNN使用锚箱作为参考,用预测的盒子来生成补偿。YOLOv2采用该预测机制,首先消除了完全连接的层。然后它预测了每个锚箱的等级和目的。该操作增加了7%的回忆,而地图则减少了0.3%。

利用维数聚类预测锚盒的尺寸和长径比。在快速R-CNN中,锚盒的尺寸和纵横比是由经验确定的。为了便于学习预测良好的检测,YOLOv2在训练集边界框上使用K-means聚类来自动获得良好的先验。使用维度集群以及直接预测包围框中心位置,与使用锚框的版本相比,YOLO提高了近5%。细粒度特性。对于小目标的定位,高分辨率地形图可以提供有用的信息。与ResNet中的标识映射类似,YOLOv2通过将相邻的特征叠加到不同的通道中,将高分辨率的特征与低分辨率的特征连接起来,性能仅提高了1%。

多尺度的训练。为了使网络对不同大小的图像具有鲁棒性,网络每10批随机地从{320,352,…608}。这意味着同一个网络可以预测不同分辨率下的检测。在高分辨率检测中,YOLOv2的mAP和40fps达到了78.6%,而YOLO的mAP和45fps分别达到了63.4%和45fps。As well, YOLOv2 提出 了 一 种 新的 分类 支柱 即 Darknet-19 19 卷积 层 和 5 maxpooling 层 需要 较少 的 操作 过程 图像 达到 高 accuracy.与更快的R-CNN相比,更有竞争力的YOLOv2版本拥有78.6%的mAP和40fps,而ResNet骨干为76.4% mAP和5fps, SSD500拥有76.8% mAP和19fps。如上所述,YOLOv2可以实现较高的检测精度和较高的处理速度,这得益于7个主要的改进和一个新的主干。

                                  A Survey of Deep Learning-based Object Detection_第1张图片

G、YOLO v3

YOLOv3是YOLOv2的改进版本。首先,YOLOv3使用多标签分类(独立的逻辑分类器)来适应包含许多重叠标签的更复杂的数据集。其次,YOLOv3使用三种不同尺度的特征映射来预测边界框。最后一个卷积层预测一个三维张量编码类的预测、目标和边界框。第三,YOLOv3提出了一种更深入、更健壮的特性提取器,称为Darknet-53,其灵感来自ResNet to get deep。根据MS COCO数据集的实验结果,YOLOv3 (AP:33%)在MS COCO指标上的性能与SSD变体(DSSD513:AP:33.2%)相当,但速度是前者的3倍,而相当落后于RetinaNet [31] (AP:40.8%)。但利用IOU= 0.5(或AP50)时mAP的老检测指标,YOLOv3可以实现57.9%的mAP,而DSSD513为53.3%,RetinaNet为61.1%。由于多尺度预测的优点,YOLOv3对小目标的检测能力更强,但对中、大目标的检测性能相对较差。

H、Retinanet

RetinaNet是林海啸等人于2018年2月提出的一种以焦损为分类损失函数的单级目标探测器。RetinaNet的结构如图4 (c)所示,R-CNN是一种典型的两级目标检测器。第一阶段生成一组稀疏的区域建议,第二阶段对每个候选位置进行分类。由于第一阶段滤除了大部分的负位置,两阶段目标检测器比一阶段检测器具有更高的精度,后者提出了一组密集的候选位置。其主要原因是单级探测器训练网络收敛时,前、后级极不平衡。因此,作者提出了一种损失函数,称为焦点损失,它可以减轻分类良好或简单示例的损失,专注于困难的训练示例,避免训练过程中大量容易的负面示例压倒检测器。RetinaNet继承了以往单级检测器速度快的优点,大大克服了单级检测器难以对不平衡正、负样本进行训练的缺点。

                       A Survey of Deep Learning-based Object Detection_第2张图片

实验表明,在MS COCO test-dev数据集上,ResNet-101-FPN骨干的RetinaNet获得39.1%的AP,而33.2% AP的DSSD513得到39.1%的AP。由于采用了ResNeXt-101-FPN技术,它使得40.8%的AP远远超过了最先进的单级探测器——DSSD513。RetinaNet大大提高了对中小目标的检测精度。

I、SSD

SSD,单阶段检测器内多个类别单程直接预测类别分数和盒补偿违约边界框的一组固定在每个位置在几个不同尺度和不同尺度的特征图,如图4所示。默认的边界框有不同的宽高比和尺度mAP在每个特性。在不同的feature map中,默认边界框的scale是通过在最高层和最低层之间的有规律的空间来计算的,每个特定的feature map学习如何响应目标的特定scale。对于每个默认框,它预测所有对象类别的偏移量和置信度。图3 (c)给出了该方法。在训练时,将这些默认边界框匹配到地面真相框,其中匹配的默认框作为正面示例,其余作为负面示例。对于大量的默认框为负数,采用硬负挖掘方法,对每个默认框使用最大的置信度损失,然后选取最上面的框,使负数与正数的比值最多为3:1。此外,作者还实现了数据扩充,这被证明是一种大幅度提高精度的有效方法。实验表明,SSD512与VGG-16[24]骨干网相比,在mAP和速度上都有一定的优势。SSD512(输入图像大小:512×512)在PASCAL VOC 2007测试集上实现了81.6%的mAP,在PASCAL VOC2012测试集上实现了80.0% mAP,相比更快的R-CNN(78.8%, 75.9%)和YOLO (VOC2012: 57.9%)。在MS COCO DET数据集上,SSD512在所有条件下都优于更快的R-CNN。

J、DSSD

DSSD[32](反卷积单点检波器)是SSD(单点检波器)的改进版本,它以ResNet-101为骨干,增加了预测模块和反卷积模块。DSSD的结构如图4 (b)所示,对于预测模块,Fu等人在每一个预测层中添加一个残差块,然后对预测层和残差块的输出进行元素级相加。反褶积模块是为了提高地物图的分辨率来增强地物。每个反褶积层后面都有一个预测模块,用来预测各种不同大小的物体。在训练过程中,首先在ILSVRC cl - loc数据集上训练基于ResNet-101的主干网络,然后使用321×321输入或513×513输入对检测数据集上的原始SSD模型进行训练,最后训练反卷积模块冻结SSD模块的所有权值。在PASCAL VOC数据集和MS COCO数据集上的实验表明了DSSD513模型的有效性,而增加的预测模块和反褶积模块对PASCAL VOC 2007测试数据集有2.2%的增强。

K、RefineDet

整个网络包括两个相互连接的模块,锚点细化模块和目标检测模块。通过一个传输连接块将两个模块连接起来,对前一个模块的特征进行传输和增强,从而更好地预测后一个模块中的对象。培训过程是端到端的,由预处理、检测(两个相互连接的模块)和NMS三个阶段完成。经典的单级检测器如SSD、YOLO、RetinaNet等均采用一步回归法得到最终结果。作者发现,采用两步级联回归方法可以较好地预测难检出的目标,特别是对小目标,可以提供更准确的目标位置。

L、Relation Networks for Object Detection

Hu等人提出了一种用于目标检测的自适应注意模块,称为目标关系模块,该模块考虑了图像中不同目标之间的相互作用,包括它们的外观特征和几何信息。该对象关系模块在两个完全连接的层之前添加到检测器头部,增强了对目标的精确分类和定位的特征。关系模块不仅将增强后的特征输入分类器和回归器,而且替代了NMS后处理步骤,具有更高的精度。通过在COCO test-dev数据集上分别使用更快的R-CNN、FPN和DCN作为主干网,添加关系模块,分别提高了0.2、0.6和0.2的精度。

M、DCNv2

为了学习适应目标有效空间支持区域所反映的几何变化,戴季峰等人提出了可变形卷积网络DCN。规则的ConvNets只能聚焦于固定的正方形大小的特征(根据内核大小),因此接收域不能很好地覆盖目标对象的整个像素来表示它。可变形的卷积网络可以产生可变形的核,并从网络中学习初始卷积核的偏移量(大小固定)。可变形的RoI池还可以适应不同形状目标的局部定位。在COCO test-dev set上,DCNv1实现了显著的精度改进,比三个plain ConvNets提高了近4%。在严格的COCO评价标准(mAP @[0.5:0.95])下,最佳平均精度为37.5%。[36]使用了比DCNv1更多的可变形卷积层,从conv5阶段的conv层到conv3-conv5阶段的所有conv层,替换了常规的conv层。所有的可变形层都由一个可学习标量调制,这明显提高了可变形效果和精度。为了进一步提高检测精度,作者采用了特征模仿的方法,在DCN的每RoI特征上加入一个特征模仿损失,使其类似于从裁剪后的图像中提取的良好特征。在COCO 2017 test-dev set上,DCNv2在COCO评价标准下的mAP达到45.3%,而DCNv1在ResNext-101主干网上的mAP达到41.7%,常规Faster R-CNN达到40.1%。在其他强壮的骨架上,DCNv2比DCNv1高出3% ~ 5% mAP,比常规更快的R-CNN高出5% ~ 8%。

N、NAS-FPN

In 最近 days, 作者 从 Google Brain 采用 神经 结构 搜索 找到 一些 新 特性 金字塔 architecture, 名叫 NAS-FPN [16], 组成 的 自 顶 向下 和 自 底 向上 连接 与 各种 不同 的 scales. 融合 功能通过重复FPN体系结构N次,然后在搜索过程中将它们连接到一个大型体系结构中,高层特征层选择要模仿的级别特征。所有精度最高的结构都具有高分辨率的输入特征映射与输出特征层之间的连接,这表明对于小目标的检测,需要生成高分辨率的特征。Stacking 更多 金字塔 networks, 添加 特性 dimension, 采用 高 容量 架构 都会 增加 检测 大型 margin. accuracy实验表明,在COCO test-dev数据集上,采用ResNet-50作为具有256个特征维的主干,NAS-FPN的平均精度超过了原始FPN 2.9%的平均精度。最优配置是利用AmoebaNet作为骨干网,叠加7个特征维数为384的FPN,在COCO test-dev上达到48.0%。

O、M2Det

为了满足对象实例之间的大量尺度变化,Zhao等人提出了一种多级特征金字塔网络(MLFPN),该网络构造了更有效的特征金字塔。作者采用三个步骤来获得最终的增强特征金字塔。首先,与FPN类似,从主干中的多个层提取的多级特征被融合为基本特征。其次,将基本特征输入一个块,由交替连接的减薄u型模块和特征融合模块组成,得到TUM的解码层作为下一步的特征。最后,将具有等价尺度的解码层集合起来,构造一个包含多级特征的特征金字塔。到目前为止,已经具备了多尺度、多层次的特点。剩下的部分是遵循SSD架构,以端到端的方式获得边界框定位和分类结果。M2Det是一个单程检测器,它的mAP达到41.0,速度为11.8 FPS single-scale推理策略和美联社为44.2与多尺度推理策略利用VGG-16可可test-dev集。它优于RetinaNet800 (Res101-FPN骨干)0.9% single-scale推理策略,但比RetinaNet800慢两倍。综上所述,典型baseline通过提取更丰富的目标特征,采用多层次、多尺度特征对不同大小的目标进行检测,提高了检测精度。为了达到更高的速度和精度,单阶段检测器利用新设计的损耗函数滤除容易被滤除的样本,大大降低了方案目标的数量。为了达到更高的速度和精度,单级检测器利用新设计的损耗函数滤除容易被滤除的样本,大大降低了方案目标的数量。为了解决几何变化问题,采用可变形卷积层是一种有效的方法。为了提高性能,还需要对图像中不同对象之间的关系进行建模。对上述典型基线MS COCO test-dev数据集的检测结果如表2所示。

                       A Survey of Deep Learning-based Object Detection_第3张图片

四、数据集和标准

检测目标必须声明目标属于指定的类并在图像中对其进行本地化。目标的定位通常由一个包围框表示,如图5所示。使用具有挑战性的数据集作为基准在许多研究领域都具有重要意义,因为它们能够在不同算法之间进行标准比较,并为解决方案设定目标。早期的算法侧重于使用各种特殊数据集的人脸检测。后来,更现实和更具挑战性的人脸检测数据集被创建。另一个流行的挑战是检测已经为其创建了多个数据集的行人。Caltech行人数据集包含35万个带边框的带标记实例。PASCAL VOC、MS COCO、ImageNet-loc等通用对象检测数据集是对象检测任务的主流基准。主要采用官方度量来度量具有相应数据集的检测器的性能。

              A Survey of Deep Learning-based Object Detection_第4张图片

A、PASCAL VOC dataset

1)、Dataset

为了检测基本目标类别,从2005年到2012年,经过多年的努力,建立和维护了一系列被广泛采用的基准数据集。PASCAL VOC数据集包含20个目标类别(在VOC2007中,包括人、自行车、鸟、瓶子、狗等),覆盖11000多幅图像。这20个类别可以被认为是4个主要分支——车辆、动物、家居用品和人。其中一些增加了输出的语义特异性,如汽车和摩托车,不同类型的汽车,但外观不相似。此外,视觉上相似的类增加了检测的难度,例如dog vs. cat。超过27,000个目标实例边界框被标记,其中近7,000个具有详细的分段。VOC2007数据集中存在着不平衡的数据集,而class person无疑是最大的,是training set中最小的class sheep的近20倍。这个问题在周边场景中普遍存在,检测器如何很好地解决这个问题?另一个问题是视点,例如,前面、后面、左边、右边和未指定的视点,检测器需要分别处理不同的视点。图5的最后两行显示了一些带注释的示例。

2)、Metric

对于VOC2007标准,使用插值平均精度来评估分类和检测。它的目的是惩罚算法丢失的对象实例,对一个实例的重复检测和假阳性检测。

                                             A Survey of Deep Learning-based Object Detection_第5张图片

其中t为判断预测箱与地面真值箱之间IoU的阈值。在VOC度量中,t设置为0.5。i是第i个图像的索引,j是第j个对象的索引。如果检测根据阈值准则匹配到地面真值框,则为0,否则为0。N是预测框的数量。如果sij≥t为真,则指标函数1[sij≥t] = 1,否则为0。对于给定的任务和类,精度/查全率曲线是从方法排序输出中计算出来的。召回率的定义是所有正面例子的比例排名高于一个给定的排名。精度是所有例子的比例以上的排名,这是从积极类。所有类别的平均精度是最终结果。

B、MS COCO基准

1)、Dataset

用于检测和分割日常生活中在自然环境中发现的对象的Microsoft Common Objects in Context (MS COCO)数据集包含91个常见对象类别,其中82个具有超过5000个标记实例。这些类别涵盖PASCAL VOC数据集中的20个类别。在32.8万张图像中,该数据集中总共有2,500,000个带标记的实例。COCO dataset还关注不同的视点,所有的目标都在自然环境中,这给我们提供了丰富的上下文信息。与流行的ImageNet数据集相比,COCO具有更少的类别,但每个类别有更多的实例。该数据集在每个类别的实例数量(平均27k)上也显著大于PASCAL VOC数据集(大约是MS COCO数据集的10倍多)和ImageNet目标检测数据集(1k)。与PASCAL VOC(2.3)和ImageNet(3.0)相比,MS COCO每个图像包含的目标实例要多得多(7.7)。此外,MS COCO数据集每幅图像包含3.5个类别,而PASCAL(1.4)和ImageNet(1.7)平均只包含3.5个类别。此外,MS COCO中10%的图像只有一个类别,而ImageNet和PASCAL VOC中都有超过60%的图像包含一个单一的目标类别。正如我们所知,小物体需要更多的上下文推理来识别。MS COCO数据集中的图像具有丰富的上下文信息。最大的类也是person,将近800,000个实例,而最小的类是hair driver,整个数据集中大约有600个实例。另一个小班是梳子班,人数接近800人。除了20个实例较多或较少的类外,其余71个类别中的实例数量大致相同。图5的前两行显示了MS COCO数据集中三个典型的图像类别。

2)、Metric

MS COCO度量是在严格的方式下,彻底判断检测性能的。PASCAL VOC的阈值设为0.5,但属于[0.5,0.95],区间0.05为10,计算MS COCO的平均精度。并分别计算了小、中、大目标的特殊平均精度。

C、ImageNet基准

1)、Dataset

具有挑战性的数据集可以鼓励视觉任务和实际应用向前迈进一步。另一个重要的大型基准数据集是ImageNet数据集。目标检测的ILSVRC任务评估算法命名和定位图像中所有目标对象的所有实例的能力。ILSVRC2014有200个对象类和近450k的训练图像、20k的验证图像和40k的测试图像。与PASCAL VOC的更多比较见表3。

              A Survey of Deep Learning-based Object Detection_第6张图片

2)、Metric

PASCAL VOC度量使用阈值t = 0.5。但是,对于小的物体,即使是几个像素的偏差,根据这个阈值也是不能接受的。ImageNet使用的放宽阈值计算如下:

                                           

其中w和h分别为地面真值框的宽度和高度。这个阈值允许注释在对象周围的每个方向上平均扩展5个像素。

D、VisDrone2018基准

去年,一个新的数据集由无人机拍摄的图像和视频组成。VisDrone2018是一个大规模的视觉目标检测和跟踪基准数据集,旨在推进无人机平台上的视觉理解任务。该基准中的图像和视频序列是在中国14个不同城市的不同城市/郊区从北向南拍摄的。具体来说,VisDrone2018包含263个视频剪辑和10209张图片(不与视频剪辑重叠),注释丰富,包括目标边界框、目标类别、遮挡、截断比等。这个基准在179264个图像/视频帧中有超过250万个带注释的实例。作为迄今为止发布的最大的此类数据集,基准测试能够在无人机平台上对视觉分析算法进行广泛的评估和研究。VisDrone2018有大量的小物体,例如密集的汽车、行人和自行车,这将导致对某些类别的检测困难。此外,大部分的图像数据集每图像有20多个目标,82.4%在训练集,和平均每个图像的目标数是6471年54训练集的图像。该数据集包含黑夜场景所以这些图像的亮度低于一天时间,这就不利于小而致密的正确检测目标,如图6所示。该数据集采用MS COCO度量。

E、Open Image V5

1)、Dataset

Open Images是一个9.2M图像的数据集,使用图像级标签、对象边界框、目标分割掩码和视觉关系进行注释。Open Images V5包含总共16 M的边界框,用于190万张图像上的600个目标类,这使得它成为现有最大的具有目标位置注释的数据集。首先,这个数据集中的框主要由专业注释器(google内部注释器)手工绘制,以确保准确性和一致性。其次,其中的图像非常多样化,大多包含多个目标的复杂场景(平均每张图像8.3个对象)。第三,这个数据集提供了可视化的关系注释,指示特定关系中的目标对(例如“弹吉他的女人”、“桌子上的啤酒”)。共有三胞胎329对,其中三胞胎391,073例。第四,V5为350个类中的280万个目标实例提供了分段掩码。分割掩模是对物体轮廓的一种标记,它在很大程度上表征了物体的空间范围

2)、Metric

Kuznetsova等人在PASCAL VOC 2012地图评价指标的基础上,提出了若干修改意见,以全面考虑开放图像数据集的一些重要方面。首先,为了公平评估,忽略未注释的类,以避免错误地计算为假阴性。其次,如果一个目标属于一个类和一个子类,那么目标检测模型应该给出每个相关类的检测结果。没有其中一个类将被认为是该类中的假阳性。第三,在Open Images Dataset中,存在一组box,其中包含一组目标实例(多个相互遮挡或物理接触的实例),但不知道其中有一个目标定位。如果一组方框内的检测值与检测值与方框的交点除以检测面积大于0.5,则该检测值为真阳性。同一组方框内的多个正确检测仅计数一个有效的真阳性。

F、行人检测数据集

表4和表5分别列出了几种人群检测基准与行人检测数据集的比较。

                  A Survey of Deep Learning-based Object Detection_第7张图片

5、通用图像目标检测方法的研究

基于深度神经网络的目标检测管道一般分为图像预处理、特征提取、分类与回归、后处理四个步骤。首先,数据集中的原始图像不能直接输入网络。因此,我们需要将它们调整到任何特殊的大小,并使它们更清晰,例如增强亮度、颜色、对比度等。数据增强也可用于一些要求,如翻转,旋转,缩放,裁剪,平移,添加高斯噪声。此外,GANs(生成对抗网络)可以生成新的图像,因为您希望丰富输入的多样性。有关数据增强的详细信息,请参阅[60]。其次,特征提取是进一步检测的关键步骤。特征质量直接决定了包含分类和回归的后续任务的上界。第三,探测器头部负责提出和细化边界框,得出分类分数和边界框坐标。图1给出了第二步和第三步的基本过程。最后,对弱检测结果进行后处理。例如,NMS是一种广泛使用的方法,其中得分最高的对象删除其分类得分较低的邻近对象。为了获得精确的检测结果,有几种方法可以单独使用或与另一种方法结合使用。

                     A Survey of Deep Learning-based Object Detection_第8张图片

A、增强特征

从输入图像中提取有效的特征是进一步精确分类和定位的重要前提。要充分利用连续的输出特征图谱骨干层。FPN的目标提取更丰富的特性,通过将这些产品分为不同级别大小不同的检测目标,如图3所示(d)。有些作品利用红外系统的多层次特征金字塔骨干。此外,一系列改进的FPN丰富了用于检测任务的特征。Kim等提出了一种并行特征金字塔(parallel feature pyramid, FP)网络(PFPNet),该网络通过拓宽网络宽度而不是增加网络深度来构建FP。额外的特征转换操作是生成一个不同大小的特征映射池,这将生成跨尺度具有相似语义抽象级别的特征映射。Li等将不同层次、不同尺度的特征串联起来,生成新的特征金字塔,送入预测最终检测结果的多盒检测器中。Chen等提出WeaveNet迭代地将相邻尺度的上下文信息编织在一起,从而实现更复杂的上下文推理。郑等对单级探测器的浅层扩展了更好的上下文信息。

图像中不同目标或区域之间的语义关系可以帮助检测遮挡和小目标。Bae等利用组合的高级语义特征对目标进行分类定位,逐步将多区域特征结合起来。Zhang等人利用语义分割分支和全局激活模块,丰富了典型深度检测器中目标检测特征的语义。场景上下文关系可以为准确的视觉识别提供一些有用的信息,Liu等采用场景上下文信息进一步提高准确性。目标之间的建模关系可以帮助目标检测。Singh等在适当的尺度上处理ground-truth目标周围的上下文区域。Hu等人提出了一种关系模块,该模块通过交互同时处理一组目标,同时考虑外观和几何特征。目标的中层语义属性有利于包含视觉属性的目标检测。注意机制是网络聚焦于最重要区域的一种有效方法。一些典型的工作都集中在注意机制上,以便捕捉到检测目标所需要的更有用的特征。Kong等人设计了一种结合全局关注和局部重构的架构,以便在不同的空间位置和尺度上收集面向任务的特性。

充分利用一个目标的有效区域可以提高精度。原始的ConvNets只能聚焦于固定的正方形大小的特征(根据内核大小),因此接收域不能很好地覆盖目标对象的整个像素来表示它。可变形的卷积网络可以产生可变形的核,并从网络中学习初始卷积核的偏移量(大小固定)。可变形的RoI池还可以适应不同形状目标的局部定位。在[35][36]中,网络权值和采样位置共同决定有效支撑区域。最重要的是,丰富和适当的对象表示可以显著提高检测精度。脑激发机制是进一步提高检测性能的有力途径。

B、提高目标定位

定位和分类是目标检测的两大任务。在目标检测评价指标中,定位精度是一个重要的测量指标,提高定位精度可以显著提高检测性能。设计一种新的损耗函数来测量预测箱的精度是提高定位精度的有效途径。考虑到联合求交是最常用的目标检测评价指标,估计回归质量可以判断预测边界框与其对应的赋值地面真值框之间的IoU。对于两个边界框,IoU可以计算为交集面积除以并集面积。

                                            

一个典型的工作采用IoU损失来衡量网络预测的准确性程度。该损失函数对不同形状和尺度的物体具有较强的鲁棒性,能在较短的时间内很好地收敛。Rezatofighi等将广义IoU作为一种损失函数和一种新的度量标准加入到现有的目标检测管道中,这使得相对于原始的光滑L1损失模型有了一致的改进。Tychsen等人采用了一种新的边界盒回归损失的定位分支。在本研究中,IoU损失考虑的是预测框与指定的地面真值框之间的交集大于并集,该交集大于并集的阈值,但不只是最高的阈值。He等提出了一种新的边界盒回归损失方法,用于同时学习边界盒定位和转换方差。He等提出了一种新的边界盒回归损失方法,该方法与定位精度有很强的关系。庞等提出了一种新的L1均衡损耗方法,以进一步提高定位精度。Cabriel等提出了轴向定位检测方法,在细胞水平上实现了很高的定位精度。一般情况下,研究人员设计了新的局部化分支损失函数,使保留预测更加准确。

C、解决负样本不平衡问题

两级探测器主要有一个精心设计的步骤,这是第一个阶段产生的建议和过滤大量的负面样本。当输入检测器时,建议边界框属于稀疏集,但是在单级检测器中,网络没有过滤坏样本的步骤,因此稠密样本集很难训练。阳性和阴性样本的比例也极不平衡。典型的解决方案是硬负挖掘。推广的硬采矿方法OHEM可以帮助将焦点转向硬样本。Liu等人采用硬负挖掘方法,对所有的负样本进行分类,对每个预定义的盒子使用最大的置信度损失,并选取最上面的盒子,使负样本与正样本的比例最多为3:1。在训练目标检测器时,考虑硬样本更有效地提高检测性能。庞等提出了一种新的硬采矿方法,称为iou平衡采样。Yu等专注于实时需求。另一种有效的方法是在分类损失函数中增加一些项。Lin等人提出了一种损失函数,称为焦点损失,它可以减轻分类良好或容易的例子的损失,专注于难训练的例子,避免训练过程中大量容易的负面例子压倒检测器。Chen等考虑设计一种新的排序任务来替代传统的分类任务,并为该任务设计一种新的平均精度损失,可以显著缓解极端正负级不平衡问题。

D、提升的NMS后处理方法

只有一个被检测到的目标能够成功地匹配到一个将被保存的ground truth目标,而其他与之匹配的目标则被归为duplicate。非最大抑制(non-maximum suppression)是一种启发式方法,它只选择分类得分最高的目标,否则将被忽略。Hu等人利用关系模块产生的中间结果,可以更好地判断哪些目标将被保存,而不需要NMS。NMS考虑分类得分,但缺少定位置信度,导致弱结果的删除精度较低。Jiang等提出IoU- net学习来预测每个检测到的边界框与匹配的地面真实值之间的IoU。由于考虑了定位置信度,它通过保留精确定位的边界框来改进NMS方法。Tychsen等人提出了一种新的适应度NMS方法,该方法既考虑了较大的IoU估计重叠,又考虑了预测边界盒的分类得分。Liu等提出了一种自适应nms算法,它将动态抑制阈值应用于由目标密度决定的实例。Bodla等人提出了一种改进的NMS方法,无需任何额外的训练,易于实现。He等进一步改进了软- nms方法。Jan等在多个IoU阈值下由NMS生成的feed网络评分图。Hosang等设计了一种新型的ConvNets,无需后续的后处理步骤即可直接进行NMS。Yu等利用最终的feature map过滤掉容易的样本,使得网络集中在难样本上。

E、将单级和两级检测器相结合,取得了较好的效果

一般将已有的目标检测器分为两类,一类是两级检测器,另一种是单级探测器。两级检测器具有较高的定位和目标识别精度,而单级检测器具有较高的推理和测试速度。两级检测器的两个阶段由感兴趣区域池层划分。在Faster R-CNN检测器中,第一阶段称为RPN,一个区域建议网络,提出候选目标边界框。第二阶段,网络使用RoIPool从每个候选框中提取特征,并进行分类和边界框回归。为了充分继承单级和两级探测器的优点,克服它们的缺点,Zhang等人提出了一种新的细化det,它比两级探测器的精度更高,并且保持了与单级探测器相当的效率。

F、复杂场景的解决方法

目标检测一直面临着难以检测的小目标和严重遮挡情况等挑战。由于低分辨率和噪声表示,小目标检测是一个非常困难的问题。目标检测流程通过学习目标在多个尺度上的表示来检测小目标。Li等人利用GAN模型,在该模型中,生成器将感知到的小目标的较差表示转换为与真实大目标足够相似的超分辨目标,从而欺骗竞争的鉴别器。这使得小目标的表示类似于大对象,从而提高了精度,而不需要大量计算成本。一些方法通过提高IoU阈值训练多个定位模块来提高小目标的检测精度。Hu等利用特征融合更好地检测由图像金字塔产生的小人脸。Xu等通过反褶积融合块将高层特征与丰富的语义信息和低层特征融合在一起,增强小目标的表示。目标遮挡是目标检测领域的另一个难题。Wang等在没有速度衰减的情况下提高了人脸检测问题的召回率。Wang等提出了一种专为人群场景设计的边界盒回归损失,称为斥力损失。Zhang等提出了一种新设计的闭塞感知R-CNN (OR-CNN)来提高人群中的检测精度。Baqu等人将卷积神经网络和模拟潜在闭塞的条件随机场相结合。对于数据集中不同目标的大小差异很大,为了解决这个问题,常用的方法有三种。首先,在多个指定的尺度上调整输入图像的大小,并为每个尺度计算特征图,称为多尺度训练。其次,研究人员在特征图上使用多尺度卷积滤波器。例如,在[106]中,采用不同的滤波器尺寸(如5×7和7×5)分别训练不同纵横比的模型。第三,多尺度、多纵横比的预定义锚是预测边界框的参考框。首次将更快的R-CNN和SSD分别用于两级和一级探测器。图7是上述三种情况的示意图。

                   A Survey of Deep Learning-based Object Detection_第9张图片

G、Anchor-free

而目前主流的基于星座锚点的目标检测方法是同时包含单级和两级的检测方法,它们的性能都有了显著的提高,如SSD、Faster R-CNN、YOLOv2、YOLOv3等

仍然存在一些缺点。

(1)预定义的锚盒具有一组手工制作的尺度和纵横比,对数据集敏感,对检测性能影响较大。

(2)在训练过程中,预定义锚盒的尺度和长宽比保持不变,下一步无法得到自适应调整的锚盒。同时,探测器处理各种大小的物体都有困难。

(3)对于密集放置锚盒以实现较高的查全率,特别是对于大数据集,计算成本和内存需求在处理过程中带来巨大的开销。

(4)预置锚点多为负样本,在训练过程中,正样本与负样本之间存在较大的不平衡。为此,最近提出了一系列无锚定方法。CenterNet定位目标的中心点、左上角和右下角。田等提出了一种基于预测中心点与边界框四边之间四个距离值的定位方法。基于锚固方法的总体结构如图8所示。这仍然是一个新的研究方向。

                    A Survey of Deep Learning-based Object Detection_第10张图片

H、Training from scratch

几乎所有的最先进的检测器都采用了在大规模分类数据集上预先训练的现成分类主干作为初始参数集,然后对参数进行微调,以适应新的检测任务。另一种实现培训过程的方法是从头分配所有参数。Zhu等由于批量归一化操作带来稳定且可预测的梯度,因此从无到有的训练检测器不需要预先训练的分类主干。一些工作通过密集的分层连接从零开始训练目标检测器。

I、设计新结构

由于分类和定位任务的不同,分类网络与检测体系结构之间存在着一定的差距。本地化需要对象的细粒度表示,而分类需要高语义信息。Li等人提出了一种新的目标检测体系结构,专门针对检测任务,在更深层次上保持较高的空间分辨率,不需要对大规模的分类数据集进行预训练。两级检波器总是比一级检波器慢。通过对两级网络结构的研究,研究人员发现,像Faster R-CNN和R-FCN这样的两级探测器都有一个沉重的头部,可以减慢速度。Li等提出了一种光头两级检测器来保持时间效率。

J、加速检测

对于有限的计算能力和内存资源,如移动设备、实时设备、网络摄像头,自动驾驶鼓励研究有效的检测架构设计。最典型的实时检测器是系列及其改进的架构。近年来,一些方法旨在达到实时检测的效果。

K、达到快速的精确的检测

最好的目标探测器需要高效率和高精度,这是本课题的最终目标。Lin等人的旨在超越现有的两级探测器的精度,同时保持较快的速度。Zhou等将精确(但速度较慢)的检测器与快速(但精度较低)的检测器相结合,自适应地确定图像是容易检测还是难以检测,并选择合适的检测器进行检测。Liu等利用接受域块增强轻量级网络特性,构建了一种快速、准确的检测器。

六、应用的分支

A、典型的应用领域

目标检测已广泛应用于安全领域、军事领域、交通领域、医疗领域、生活领域等辅助人们完成任务的领域。

1)安全领域:

安全领域中最著名的应用是人脸检测、行人检测、指纹识别、欺诈检测、异常检测等。人脸检测的目的是检测图像中的人脸,如图9所示。由于极端的姿态,光照和分辨率的变化,人脸检测仍然是一个困难的任务。许多工作集中在精密探测器的设计上。R. Ranjan等同时学习相关任务(人脸检测、人脸地标定位、头部姿态估计和性别识别),提高个体任务的性能。He等提出了一种新的Wasserstein卷积神经网络方法来学习近红外(NIR)和可视(VIS)人脸图像之间的不变特征。设计合适的损失函数可以提高基于DCNNs的大规模人脸识别的识别能力。基于余弦的softmax损失在基于深度学习的人脸识别中取得了巨大的成功。Deng等提出了一种附加的角边缘损失(ArcFace)来获得人脸识别的高分辨特征。

行人检测主要是对自然场景中的行人进行检测。Braun等人发布了一个EuroCity person数据集,其中包含城市交通场景中的行人、骑自行车者和其他骑车者。复杂感知级联行人检测器侧重于实时行人检测。异常检测在欺诈检测、气候分析和医疗监控中发挥着重要作用。现有的异常检测技术对数据进行逐点分析。为了让专家分析人员指出数据中有趣的区域(异常),Barz等人提出了一种新的无监督方法,称为最大发散区间(MDI),它在空间中搜索连续的时间间隔和区域。

2)军事领域:

在军事领域,遥感目标探测、地形测量、飞行器探测等是具有代表性的应用。遥感目标检测是对遥感图像或视频上的目标进行检测,这面临着一定的挑战。首先,过大的输入量和较小的目标使得现有的目标检测过程过于缓慢,难以实际应用。其次,大量复杂的背景会导致严重的误检。为了解决这些问题,研究人员采用数据融合的方法,针对小目标信息少、偏差小的特点,重点对小目标进行检测,造成了较大的误差。遥感图像具有与自然图像相去甚远的一些特点,使得R-CNN、FCN、SSD、YOLO等较强的管道在新的数据领域不能很好地传输。遥感数据集自适应检测器的设计一直是该领域的研究热点。

Cheng等提出了一种基于CNN的遥感图像(RSI)目标检测模型,该模型通过提出旋转不变层来处理旋转问题。Zhang等提出了一种旋转和缩放鲁棒结构来解决RSI对象检测领域缺乏旋转和缩放不变性的问题。Li等提出了一种考虑车辆方向的可旋转区域建议网络和可旋转检测网络。Deng等提出了一种用于小目标检测的精确车辆建议网络(AVPN)。Audebert等利用精确的语义分割结果来获得对车辆的检测。Li等解决了船舶检测中船舶分辨率范围较大(从几十个像素到数千个像素)的问题。庞等提出了一种实时遥感方法。Pei等提出了一种合成孔径雷达(SAR)目标自动识别的深度学习框架。Long等专注于检测目标的自动精确定位。Shahzad等提出了一种包含自动标记和递归神经网络的检测框架。典型方法均利用深度神经网络实现对遥感数据集的探测任务。NWPU VHR-10、HRRSD、DOTA、DLR 3K Munich和VEDAI是遥感目标检测的基准。

3)、交通领域:

众所周知,车牌识别、自动驾驶和交通标志识别等大大方便了人们的生活。随着车辆的广泛使用,车牌识别需要在跟踪犯罪、居民出入、交通违章行为等方面进行跟踪,边缘信息、数学形态学、纹理特征、滑动同心圆窗、连通成分分析等方面都能给车牌识别系统带来更强的鲁棒性和稳定性。近年来,基于深度学习的方法为车牌识别提供了多种解决方案。

自动驾驶汽车(AV)需要准确地感知周围环境才能可靠地运行。AV的感知系统通常采用机器学习(如深度学习),将感知数据转换为语义信息,从而实现自主驾驶。目标检测是该感知系统的基本功能。三维目标检测方法涉及到三维空间,三维空间可以更详细地显示目标的尺寸和位置信息,分为单目、点云和融合三类。首先,基于单目图像的方法对图像进行二维边界框的预测,然后将其外推到三维,由于缺乏明确的深度信息,限制了定位的准确性。其次,基于点云的方法将点云投影到二维图像中,直接在体素结构中处理或生成点云的三维表示,其中点云丢失信息,点云耗时。第三,基于融合的方法融合了前视图图像和点云,产生了一个鲁棒的检测,这代表了最先进的探测器,但计算昂贵。最近,Lu等人利用一种包含三维卷积和RNNs的新架构,在不同的现实驾驶场景中实现厘米级的定位精度。Song等发布了一个用于自动驾驶的3D汽车实例理解基准。Banerjee等利用传感器融合来获得更好的特征。详情请参考最近的一项调查。无人驾驶汽车和自动驾驶系统都需要解决交通标志识别问题。为了安全和遵守规则,实时准确的交通标志识别通过获取潜在标志的时空信息来辅助驾驶。深度学习方法能够高效地解决这一问题。

4)、医学领域:

在医学领域,医学图像检测、癌症检测、疾病检测、皮肤病检测、健康监测等越来越成为辅助医疗手段。计算机辅助诊断(CAD)系统可以帮助医生对不同类型的癌症进行分类。具体来说,在对图像进行适当的采集后,CAD框架进行的基本步骤可以识别为图像分割、特征提取、分类和目标检测。由于个体差异显著、数据稀缺性和隐私性,源域和目标域之间通常存在数据分布差异。医学图像检测需要一个领域自适应框架。Li 等 人 [77] 注意力 机制 纳入 CNN 青光眼 检测 和 建立 一 个 大型 attentionbased 青光眼 dataset.Liu等[183]设计了一种具有长短时记忆(LSTM)的双向递归神经网络(RNN)来检测DNA修饰,称为DeepMod。Schubert 等 人 [184] 提出 细胞 形态 神经 网络 神经元 (CMNs) 自动 重建 和 synapses. 的 自动 检测Codella等人[185]组织了一项针对黑色素瘤检测的皮肤病变分析挑战。详见[186]。

在医学领域,医学图像检测、癌症检测、疾病检测、皮肤病检测、健康监测等越来越成为辅助医疗手段。计算机辅助诊断(CAD)系统可以帮助医生对不同类型的癌症进行分类。具体来说,在对图像进行适当的采集后,CAD框架进行的基本步骤可以识别为图像分割、特征提取、分类和目标检测。由于个体差异显著、数据稀缺性和隐私性,源域和目标域之间通常存在数据分布差异。医学图像检测需要一个领域自适应框架。Li等将注意力机制纳入CNN对青光眼的检测中,建立了大规模的基于注意力的青光眼数据集。Liu等设计了一种具有长短时记忆(LSTM)的双向递归神经网络(RNN)来检测DNA修饰,称为DeepMod。Schubert等提出细胞形态学神经网络(CMNs)用于神经元的自动重建和突触的自动检测。Codella等人组织了一项针对黑色素瘤检测的皮肤病变分析挑战。

5)、生活领域:

在生活领域,智能家居、商品检测、事件检测、模式检测、雨/影检测等是最具代表性的应用。Eran Goldman等人提出了一种新颖的精确目标探测器和新的SKU-110K数据集来应对这一挑战。事件检测的目的是通过社交媒体的普及及其新特性,从互联网上发现节日、演讲、抗议、自然灾害、选举等真实事件,其数据类型比以往更加多样化。多域事件检测(MED)提供了对事件的全面描述。Yang等[188]提出了一种处理多域数据的事件检测框架。Wang等通过构建事件检测任务的亲和图,将在线社交交互特征纳入其中。schina等人提出了一种基于多模态图的系统来检测1亿张照片/视频中的事件。

模式检测一直面临着诸如场景遮挡、姿态变化、光照变化和传感器噪声等问题。为了更好地解决重复模式或周期性结构检测问题,研究提出了二维图像和三维点云的强baseline。Yang等提出了一种新的雨模型,并结合深度学习体系结构来处理单个图像中的雨检测问题。Hu等以方向感知的方式分析空间图像上下文,设计了一种新的深度神经网络来检测阴影。

B、目标检测分支

对象检测具有广泛的应用场景。这一领域的研究包含了许多分支。在这一部分中,我们描述了一些具有代表性的分支。

1)弱监督目标检测:

弱监督对象检测(WSOD)是利用少量的全标注图像(supervision)来检测大量的非全标注图像。传统上,模型是从只有目标类而不是对象边界框标记的图像中学习的。为大型数据集中的每个对象注释一个边界框是昂贵的、费力的和不切实际的。弱监督学习依赖于不完整的标注训练数据来学习检测模型。弱监督深度检测网络是弱监督对象检测的代表著作。采用上下文信息、实例分类器细化、图像分割等方法来处理难以优化的问题。Yang等表明,图像中描述的动作可以提供有关相关目标位置的强烈线索。Wan等提出了一种基于递归学习算法优化的弱监督目标检测最小熵潜伏模型。Tang等利用迭代过程生成提案簇,学习细化的实例分类器,使得网络专注于整个目标而不是目标的部分。Cao等提出了一种用于弱监督目标定位的反馈卷积神经网络。Wan等提出了连续多实例学习来缓解WSOD中的非凸性问题。

2)显著性目标检测:

凸点目标检测利用深度神经网络预测图像区域的显著性得分,得到精确的显著性图,如图10所示。突出目标检测网络通常需要聚合骨干网的多级特征。对于快速且不降低精度的情况,Wu等提出丢弃较浅的层特征可以达到较快的速度,而较深的层特征足以获得精确的凸点地图。Liu等扩展了卷积神经网络中池的作用。Wang等利用固定预测来检测突出物。Wang等利用递归全卷积网络,结合显著性先验知识对突出目标进行精确检测。Feng等提出了一个专注的反馈模块来更好地探索目标的结构。视频突出目标检测数据集为视频突出目标检测提供了基准,现有的优秀算法致力于该领域。

3)、高亮检测:

高亮检测是在一个短视频剪辑中检索一个时刻,捕捉到用户的主要注意力或兴趣,可以加速浏览很多视频,增强社交视频分享,促进视频推荐。通常,高光检测器是特定于领域的,因为它们是针对某个视频类别定制的。所有的目标检测任务都需要大量的手工标注数据,高亮检测也不例外。熊等提出了一种针对较短用户生成视频的弱监督方法来解决这一问题。

4)、边缘检测:

边缘检测是指从图像中提取目标边界和感知突出的边缘,对于分割、目标检测和识别等一系列更高层次的视觉任务具有重要意义。边缘检测面临一些挑战。首先,图像中各种尺度的边缘既需要对象级边界,又需要有用的局部区域细节。其次,不同层次的Conv层是专门用来预测最终检测的不同部分的,因此CNN中的每一层都要经过适当的分层监管训练。为了解决这些问题,他等人提出了一种双向级联网络,使一层由标记边缘监督,同时采用膨胀卷积生成多尺度特征。Liu等提出了一种利用更丰富卷积特征的精确边缘检测器。

5)、文本检测:

文本检测的目的是识别给定图像或视频的文本区域,这也是许多计算机视觉任务(如分类、视频分析等)的重要前提。已有许多成功的商用光学字符识别(OCR)系统用于互联网内容和文档文本的识别。在自然场景中,由于文本的模糊、光照不均匀、透视失真、方位变化等复杂情况,文本的检测仍然是一个难题。一些典型的文献侧重于水平或接近水平的文本检测。最近,研究人员发现,针对任意文本的检测是一个需要解决的问题。一般来说,基于深度学习的场景文本检测方法可以分为两大类。第一类以场景文本为一般目标类型,遵循一般目标检测范式,通过文本框回归定位场景文本。这些方法难以处理场景文本的大纵横比和任意性。第二种方法直接分割文本区域,但大多需要复杂的后处理步骤。通常,这类方法主要包括两个步骤,分割(生成文本预测图)和几何方法(针对倾斜的提案),这是非常耗时的。此外,为了获得文本框的期望方向,一些方法需要复杂的后处理步骤,因此其效率不如直接基于检测网络的体系结构。

结合上述两类的想法,同时避免他们的缺点,本地化角落点文本边界框和文本分割区域的相对位置来检测场景文本,它可以处理面向长文本,只需要一个简单的NMS后处理步骤。Ma等开发了一种基于旋转的新方法和一种端到端文本检测系统,其中旋转区域建议网络(RRPN)用于生成带有文本方向角信息的倾斜建议。

6)、多域目标检测:

特定于领域的检测器在指定的数据集上始终可以实现较高的检测性能。为了得到一种适用于多种图像域的通用检测器,近年来的许多工作都集中在训练多域检测器上,而不需要对新领域的先验知识。Wang等提出了一种通用检测器,它利用一种新的领域注意机制,在不事先知道感兴趣领域的情况下,对各种图像域(人脸、交通标志和医用CT图像)进行处理。Wang等提出了一种由11个不同数据集组成的新建立的通用对象检测基准,以更好地满足不同领域泛化的挑战。为了学习视觉的普遍表示,Bilen等将领域特定的BN (batch normalization)层添加到多领域共享网络中。回绝等人提出了适配器剩余模块,该模块在保持甚至提高领域特定表示的准确性的同时,实现了高度的参数共享。回绝等人介绍了视觉十项全能挑战,一个基准包含十个非常不同的视觉领域。回绝等受迁移学习的启发,实证研究了有效的参数化,并优于传统的微调技术。

多域目标检测的另一个要求是降低注释成本。目标检测数据集需要大量的注释工作,这些工作费时、机械。将预先训练好的模型从标记丰富的域转移到标记贫乏的数据集,可以解决标记贫乏的检测工作。一种方法是利用无监督域自适应方法来处理数据集偏置问题。最近,研究人员使用对抗性学习来对齐样本的来源和目标分布。Chen等利用Faster R-CNN,训练一个域分类器来区分源和目标样本,如对抗性学习,而特征提取器学习欺骗域分类器。Saito等提出了一种弱对齐模型,将重点放在具有较大差异的域的不同图像之间的相似性上,而不是对全局不相似的图像进行对齐。当仅在源域手动注释中可用时,非监督域自适应方法将解决此问题。Haupmann等提出了一种无监督域自适应方法,该方法同时对类内和类间的域差异进行建模。

7)、视频目标检测:

视频中目标检测的目的是检测视频中的目标,由于运动模糊、视频散焦等图像质量的降低,给视频中同一目标的分类带来了额外的挑战。视频检测器利用时间上下文来迎接这一挑战。一些静态检测器首先在每个帧中检测对象,然后通过在相邻帧中链接检测同一对象来检测它们。由于物体的运动,同一物体在相邻帧中可能不会有很大的重叠。另一方面,预测的目标运动不够精确,无法链接到相邻帧。Tang等提出了一种将同一帧中的对象连接起来而不是相邻帧的体系结构。

8)、点云三维目标检测:

与基于图像的检测相比,激光雷达点云提供了可靠的深度信息,可用于精确定位目标并表征其形状。在自主导航、自主驾驶、家政机器人和增强/虚拟现实应用中,基于激光雷达点云的三维目标检测具有重要作用。基于点云的三维目标检测面临着一定的挑战,因为激光雷达点云具有稀疏性、高度可变的点密度、三维空间采样不均匀、传感器有效距离、遮挡、相对位姿变化等特点。Engelcke等首先提出稀疏卷积层和L1正则化来有效地大规模处理三维数据。Qi等提出了一种端到端深度神经网络PointNet,它直接从点云学习点方向的特征。Qi等[279]改进了PointNet,它可以学习不同尺度的局部结构。Zhou等[280]在三维检测任务中缩小了RPN与点集特征学习之间的差距。Zhou等提出了一种通用的端到端三维检测框架VoxelNet,该框架从点云中学习识别特征表示,并同时预测精确的三维边界框。在自主驾驶应用中,Chen等对单目图像进行三维目标检测。Chen等[282]以激光雷达点云和RGB图像为输入,预测定向三维边界框,实现高精度三维目标检测。实例三维检测结果如图11所示。

9)、2D、3D位姿估计:

人体姿态检测的目的是估计人体关节的2D或3D位姿位置,定义位姿类,然后返回得分最高的类的平均位姿,如图12所示。典型的二维人体姿态估计方法利用深度CNN架构。Rogez等提出了一种用于自然图像中联合二维和三维人体姿态估计的端到端体系结构,该结构可以同时预测多人的二维和三维姿态。利用全身三维位姿,可以在不同目标遮挡的情况下恢复身体部位的位置。人体姿态估计方法可分为单阶段法和多阶段法两大类。最佳性能方法通常基于一级骨干网。最具代表性的多阶段方法是卷积位姿机、沙漏网络和MSPN。

七、结论和趋势

A、结论

随着强大的计算设备的出现,基于深度学习的目标检测得到了快速的发展。为了在更精确的应用程序上进行部署,对高精度实时系统的需求越来越迫切。实现精度高和效率探测器是这个任务的最终目标,研究人员已经开发出一系列等方向,构建新的体系结构,提取丰富的特性,利用好表示,提高处理速度,从头开始训练,anchor-free方法,解决复杂的现场问题(小目标,阻挡物体),结合单级和两级探测器做出好的结果,改进后处理NMS的方法,解决正负不平衡问题,提高定位精度,增强分类置信度等。随着目标探测器在安全领域、军事领域、交通领域、医疗领域和生活领域的应用日益强大,目标检测的应用也逐渐广泛。此外,在检测领域也出现了多种分支。虽然这一领域的成就最近已取得成效,但仍有很大的发展空间。

B、趋势

1)、把一阶段和两阶段方法进行结合:

一方面,两级探测器需要密集的尾迹处理才能获得尽可能多的参考箱,这既费时又低效。为了解决这个问题,研究人员需要在保持高精确度的同时消除这么多冗余。另一方面,单级检测器处理速度快,已在实时应用中得到成功应用。虽然速度快,但较低的精度仍然是高精度要求的瓶颈。如何将单级和两级探测器的优点结合起来仍然是一个很大的挑战。

2)、视频目标检测:

在视频目标检测中,运动模糊、视频散焦、运动目标模糊、目标运动剧烈、小目标、遮挡、截断等,使得该任务在实际生活场景和遥感场景中都难以取得良好的性能。深入研究体育目标和更复杂的数据,如视频,是未来研究的重点之一。

3)、有效的后处理方法:

在三(单级检测器)或四(两级检测器)级检测过程中,后处理是最终结果的初始步骤。在大多数检测指标中,只有一个目标的最高预测结果才能被发送到度量程序中计算精度分数。NMS等后处理方法及其改进可能会消除定位良好但分类置信度较高的对象,不利于测量的准确性。更高效、准确的后处理方法是目标检测领域的另一个发展方向。

4)、弱监督目标检测方法:

利用只标注目标类而不标注目标边界框图像的高比例代替大量带完全注释的图像进行训练,是一种高效、易于获取的方法。弱监督对象检测(WSOD)是利用少量的全标注图像(supervision)来检测大量的非全标注图像。因此,开发WSOD方法是进一步研究的重要课题。

5)、多域目标检测:

特定于领域的检测器在指定的数据集上始终可以实现较高的检测性能。为了得到一种能够处理多种图像域的通用检测器,多域检测器不需要对感兴趣的新域的先验知识就可以解决这一问题。域转移是一个具有挑战性的课题。

6)、3D目标检测:

随着三维传感器的出现和三维理解的多样化应用,三维目标检测逐渐成为研究的热点。与基于二维图像的探测相比,激光雷达点云提供了可靠的深度信息,可用于精确定位目标并表征其形状。激光雷达能在三维空间中精确定位物体。基于激光雷达数据的目标检测技术通常也优于二维目标检测技术。

7)、显著性目标检测:

显著性目标检测(SOD)是为了突出图像中突出的目标区域。视频目标检测是对连续场景中感兴趣的目标进行分类和定位。显著性目标检测(SOD)被广泛应用于不同领域的目标级应用。给定每个帧中感兴趣的突出目标区域,可以帮助视频中精确的目标检测。因此,对于高水平的识别任务和具有挑战性的检测任务,突出目标检测是一个至关重要的前期过程。

8)、无监督目标检测:

监督方法是一种费时低效的培训方法,需要良好的监督信息标注数据集。为大型数据集中的每个对象注释一个边界框是昂贵的、费力的和不切实际的。开发自动标注技术来释放人工标注工作是无监督对象检测的一个发展趋势。无监督目标检测是未来智能检测任务的研究方向。

9)、多任务学习:

汇聚骨干网的多级特征是提高检测性能的重要途径。此外,同时执行多个计算机视觉任务,如目标检测、语义分割、实例分割、边缘检测、高亮检测等,由于信息丰富,可以大幅度提高单独任务的性能。采用多任务学习是将网络中的多个任务聚合在一起的一种很好的方法,如何保持处理速度和提高精度对研究人员提出了很大的挑战。

10)、多元信息辅助:

随着社交媒体的普及和大数据技术的发展,多源信息变得容易获取。许多社交媒体信息可以提供图片和文字形式的描述,这可以帮助检测任务。随着各种技术的进步,融合多源信息是一个新兴的研究方向。

11)、构建终端目标检测系统:

从云端到终端,人工智能的终结可以帮助人们更好更快的处理海量信息,解决问题。随着轻量级网络的出现,终端检测器被发展成为更高效、更可靠、应用场景更广泛的设备。基于FPGA的芯片检测网络将使实时应用成为可能。

12)、医学影像与诊断:

美国食品药品监督管理局(FDA)正在推广人工智能医疗设备,并于2018年4月首次批准了人工智能软件IDx-DR,该软件是一种糖尿病视网膜病变检测仪,精度超过87.4%。对于客户来说,图像识别系统和移动设备的结合可以使手机成为一个强大的家庭诊断工具。这个方向充满了挑战和期待。

13)、先进的医学生物识别技术:

利用深度神经网络,研究人员开始研究和测量以前难以量化的非典型风险因素。利用神经网络分析视网膜图像和语音模式可能有助于识别心脏病的风险。在不久的将来,医学生物计量学将被用于被动监测。

14)、遥感机载实时检测:

军事和农业领域都需要精确地分析遥感图像。自动化检测软件和集成硬件将给这些领域带来前所未有的发展。将基于深度学习的目标检测系统加载到片上系统SoC中,实现了对高空的实时检测。

15)、基于GAN的检测器:

基于深度学习的系统通常需要大量的训练数据,而生成式对抗网络是生成假图像的强大结构。你需要多少,它能生产多少。将真实场景与GAN生成的仿真数据混合训练目标检测器,使检测器具有更强的鲁棒性和泛化能力。目标检测的研究还需要进一步的研究。我们希望在不久的将来,深度学习方法能够取得突破。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(计算机视觉原理)