综述阅读笔记:A Survey of Deep Learning-based Object Detection
论文链接:https://arxiv.org/pdf/1907.09408.pdf
目标检测是计算机视觉中最重要、最具挑战性的方向之一,在人们的生活中有着广泛的应用,如安全监控、自动驾驶等。随着深度学习的快速发展,目标检测器的性能得到了极大的提高。为了全面、深入地了解目标检测领域的主要发展现状,本文首先分析了现有典型检测模型的方法,并对基准数据集进行了描述。然后全面概述各种目标检测方法,包括单阶段(one-stage)和双阶段(two-stage)检测方法。此外,文章还列出了传统和新的应用程序。分析了目标检测的一些代表性分支。最后,文章讨论了利用这些目标检测方法构建高效系统的体系结构,并指出了一组发展趋势,以便更好地使用最先进的算法和进行进一步的研究。
本文贡献
骨干网络作为目标检测任务的基本特征提取器,将图像作为输入并输出相应输入图像的特征映射。大多数用于检测的骨干网络都是用于分类任务的网络,去掉了最后一个完全连接的层。针对精度与效率的不同要求,人们可以选择更深、连接更紧密的骨干网络。当应用于移动设备时,轻量级骨干网络可以满足要求。为了探索更高的检测精度,采用更深、密集连接的骨干来代替较浅、稀疏连接的骨干。
one-stage和two-stage
数据集
基于深度神经网络的目标检测方法一般分为四个步骤:图像预处理、特征提取、分类+定位、后处理。首先,数据集中的原始图像不能直接输入网络。我们需要调整它们的大小,使其更清晰,例如增强亮度、颜色、对比度。数据增强也可用于满足某些要求,如翻转、旋转、缩放、裁剪、平移、添加高斯噪声。此外,GANs(生成对抗网络)可以根据人们的需求生成新的图像,以丰富输入的多样性。其次,特征提取是进一步检测的关键步骤。提取出的特征的质量直接决定了后续任务(如分类和定位)的上限。第三,检测头负责提出并细化边界框,包括分类分数和边界框坐标。最后,后处理步骤负责删除弱检测结果。例如,NMS是一种广泛使用的方法,其中得分最高的对象删除其分类得分较低的邻近对象。
图1 两阶段检测器流程从输入图像中提取有效的特征是进一步准确分类和定位的重要前提,可以从以下方向增强特征:
1.改进Backbone
2.在Detection的Neck阶段多尺度特征融合,例如FPN及其改进
3.使用Attention机制
4.充分利用一个目标的有效区域可以提高精度。如deformable ConvNets等。
1.设计一种新的损失函数来度量预测框的精度。例如:结合IoU的损失
对于两阶段检测器,在第一阶段,网络生成建议时会过滤掉大量负样本。然而在单阶段检测器中,网络没有过滤样本的步骤,因此大量密集的样本(包含很多差的负样本)很难训练。典型的解决方案是硬负样本挖掘hard negative mining。另一个方法是在损失函数中加入某些限制项。
NMS只保留分类得分最高的对象,缺少定位的置信度。可以调整NMS的保留方案,如IoU-Net等。
例如RefineDet。
目标检测通常会遇到一些挑战,比如难以检测的小目标和严重的遮挡情况。
对于小目标检测问题,常常通过学习多个尺度的特征来增强表征。还有一些方法通过提高IoU阈值来训练多个定位模块,从而提高小对象的检测精度。还可以使用特征融合方法,将具有丰富语义信息的高层特征与底层特征进行融合,以增强小对象的表示。
目标遮挡是目标检测领域的另一个难题。尝试解决方案:repulsion loss,occlusion-aware R-CNN (OR-CNN)
目前主流检测器还是anchor-based,但存在着以下几个问题:
(1)预定义的锚框具有一组手工设置的比例和纵横比,它们对数据集非常敏感,并在很大程度上影响检测性能。
(2)在训练过程中,预定义锚框的尺度和纵横比保持不变,因此下一步无法自适应调整锚箱。探测器无法处理各种尺寸的目标。
(3)为了实现高召回率,密集的使用锚框,尤其是在大规模数据集上,这会造成大量的计算开销。
(4)大多数预定义锚框都是负样本,这导致训练过程中正负样本之间存在很大的不平衡。
最近,已经出现了很多anchor-free方法,如CenterNet等。
应用:
人脸检测、行人检测、异常检测、遥感目标检测、计算机辅助诊断(Computer Aided Diagnosis, CAD)系统、事件检测、模式检测、图像说明生成。
分支:
弱监督目标检测Weakly supervised object detection、显著目标检测Salient object detection、高光检测Highlight detection、边缘检测Edge detection、文本检测Text detection、多域目标检测Multi-domain object detection、视频目标检测Object detection in videos、三维点云目标检测Point clouds 3D object detection、二维三维姿态检测2D, 3D pose detection、细粒度视觉识别Fine-Grained Visual Recognition
随着强大计算设备的不断升级,基于深度学习的目标检测技术得到了迅速发展。为了部署在更精确的应用程序上,对高精度实时系统的需求变得越来越迫切。由于实现高精度和高效率的检测器是这项任务的最终目标,研究人员已经开发了一系列方向,如构建新的检测架构、提取丰富的特征、更好的的表示特征、提高处理速度、从头开始训练、Anchor-free方法、解决复杂的场景问题(小对象、遮挡对象),将单阶段和双阶段检测器相结合以获得良好的结果,改进后处理NMS方法,解决正负不平衡问题,提高定位精度,增强分类可信度。随着目标检测器在安全领域、军事领域、交通领域、医疗领域、生活领域的功能日益强大,目标检测的应用也逐渐广泛。此外,检测领域出现了各种分支。虽然这一领域最近取得了成效,但仍有很大的发展空间。