道路小目标检测是自动驾驶与智能交通中的核心技术之一,但小目标尺寸小、信息少,检测难度大。本文系统梳理了基于深度学习的五类优化方法,包括数据增强、多尺度策略、超分辨率生成、上下文信息加强和损失函数改进,并介绍了常用数据集、评价指标与性能对比,最后展望未来研究方向。
概述
道路目标检测是智能交通监控、自动驾驶、车牌识别、行人跟踪、车辆检测等领域的重要研究分支,旨在识别和检测整个道路场景图像中感兴趣的目标。在复杂场景中的准确性和实时性是评测模型系统的重要指标,具有广泛的应用价值。然而,自然交通场景复杂多变,道路各类目标在尺寸与距离上的干扰,使得目标识别和检测难度大大增加,其中小目标检测是研究者关注的一个难点问题。对于大中型的车辆、行人等目标,通用的Two-stage和One-stage目标检测模型已经能够达到不错的检测效果,然而小目标的尺寸较小,不具备相应的形状和纹理特征,导致其检测性能仍有所欠缺,不能满足实际需求。
道路小目标的具体定义方式可参考小目标的定义方式,大致可分为两种:
- 绝对尺寸定义:在通用的目标检测数据集MS COCO中,尺寸小于32×32像素的目标被定义为小目标。
- 相对尺寸定义:根据国际光电仪器工程师协会(SPIE)的定义,小目标是指在大小为256×256像素的图像中目标区域小于9×9像素。
目前,道路小目标检测困难和效果相对较差的原因大致可以归结为以下4种:
- 相较于中大型行人车辆目标,包含小目标实例的图像较少,且道路场景复杂多变,小目标容易隐藏在背景中。
- 小目标在道路图像中面积占比小、分辨率低,携带的信息少,位置缺乏多样性,难以定位,因此卷积神经网络提取到的可利用的有效信息非常有限。
- 特征提取时,输入图像经过卷积神经网络的多次下采样后,小目标的细节信息丢失严重,影响小目标的检测效果。
- 道路目标检测领域缺乏大规模通用的小目标检测数据集,目前该领域发布的公共数据集多为针对中大型的行人车辆进行检测,难以满足小目标的检测需求。
针对上述问题,国内外许多研究者提出了相应的改进和优化方法来提高小目标的检测精度。本文将主要从数据增强、多尺度策略、生成超分辨率(Super-Resolution,SR)细节信息、加强上下文信息联系、改进损失函数等5类改进方向出发进行归纳梳理,对各类方法的特点和优缺点进行比较,在MS COCO公共数据集以及其他不同道路场景数据集上对各类方法的检测性能进行评估和对比分析,并对道路小目标检测的未来研究方向进行展望。
01 针对小目标检测的优化方法
1.1 数据增强
数据增强是一种扩展数据的技术,在缺乏数据或数据量有限的情况下,该技术可以利用有限的数据来创造尽可能多的价值并尽可能满足研究者的需求。尽管现在有很多用于各种任务的公开数据集,但数据量在使用中远远不够,而收集和制作这些数据的成本其实非常高且不便于采集,因此数据增强便成为了一种快速有效的改进方法。在大部分目标检测的数据集中,小目标的实例数量占比少,在训练和检测中容易被忽略。通过数据增强来增加小目标的样本数量,可有效改进小目标的检测精准度。常用的数据增强方法可大致分为单样本数据增强和多样本数据增强两类。
单样本数据增强:主要是在一张预检测的图像上进行翻转、裁剪、缩放、添加噪声、变换颜色等操作,改变图像原有的状态,可有效增加数据集的样本数量和提高网络的泛化能力。文献[7]使用过采样和基于复制粘贴的增强方法进行改进,并在将对象粘贴到新位置前,对其应用两种缩放图像和旋转图像的随机变换,然后将小目标粘贴到新的位置,并确保新粘贴的目标不与任何现有目标相重叠,且距离图像边界至少5个像素。文献[8]对输入的每一张图像先采用缩放操作,在缩放操作后进行增强对比度、翻转、改变亮度和以0.5的概率随机角度旋转等操作。文献[9]在小目标数据集上,将每张图片上的小目标物体在训练时复制3次,使得网络在训练过程中可以更容易地提取目标的特征信息。文献[10]通过几何变换和颜色变换等进行数据增强,增加了数据集的数据量。文献[11]提出自动数据增强策略,与手工制定的策略不同,该策略利用自动算法在多种增强候选者中进行搜索,且该策略也可以应用于其他数据集和框级任务。文献[12]利用自动机器学习(Auto Machine Learning,Auto ML)原理设计自动搜索数据增强技术用于行人检测,从而产生最佳的数据增强策略。
多样本数据增强:近些年,许多研究者也提出了多种通用的多样本数据增强方法,包括MixUp、CutOut、CutMix、Mosaic等方法,这些方法通过将多张图像以某种方式合成到一起形成新的样本,达到扩充数据集容量的目的。MixUp方法将两张图像以一定的概率和比例拼凑到一起,比例分配决定了分类结果。CutOut是在图像中随机选择某一部分区域进行裁剪。CutMix是将两种方法相结合,先裁剪掉一张图像的某一部分,再使用另一张图像中的某一部分进行填充形成新的样本。Mosaic数据增强方法是目前最常用的数据增强方法之一,该方法借鉴了CutMix增强方法,将采用的2张图像扩充为4张图像,先对4张图像进行随机裁剪、缩放、翻转等操作,然后将4张图像拼接形成一张新的图像。这个操作在扩充了数据集的同时也增加了小样本的数量,并且极大地丰富了检测对象的背景。在YOLOv4和YOLOv5模型结构中,均使用了Mosaic数据增强方法,以此提高了模型学习能力和效率。文献[18]也将Mosaic数据增强方法引入改进后的CenterNet中,以此优化算法的训练模式,丰富检测背景,优化检测性能。
小提示:数据增强虽然简单有效,但在大型复杂数据集中,单独使用数据增强对小目标检测的性能提升有限,建议与其他方法(如多尺度策略)结合使用。
1.2 多尺度策略
在使用卷积神经网络进行特征提取时,不同的网络深度对应不同层次的特征。低层特征的分辨率更高,像素更丰富,包含更多的细节信息和位置信息,对于目标的定位有极大帮助,但包含的语义信息较少;高层特征包含更丰富的语义信息,极大地促进了对象的分类,但分辨率较低,像素较少,对细节位置信息的感知能力较差。对于小目标行人、车辆以及指示牌而言,它们的尺寸小,分辨率低,在多次下采样后,特征图不断缩小,致使小目标的细节信息严重丢失,而多数通用检测器仅采用最后一层的特征图来定位目标和预测置信度分数,其中包含丰富的分类信息但缺乏详细信息,使得小目标物体容易出现误检和漏检的情况。多尺度策略的提出有效缓解了这一问题,在计算量不大的情况下,增强了物体特征的表达能力,提高小目标检测的性能。目前,典型的多尺度策略有图像金字塔、SSD算法和特征金字塔网络(Feature Pyramid Network,FPN)。
图像金字塔:是图像多尺度表达的一种,通过对原始图像进行下采样,得到一系列以金字塔形状排列的分辨率逐渐降低的子图集合,构成图像金字塔。图像金字塔结构如图 3所示。
图3 图像金字塔结构
文献[20]将背景差分目标检测模型与高斯图像金字塔相结合用于多目标的检测,减少了误检测。文献[21]指出当前在极端尺度变化下目标检测训练存在的缺点,在此基础上提出一种新的训练方案,即图像金字塔尺度标准化(Scale Normalization for Image Pyramid,SNIP),在训练和反向传播更新参数时,只考虑在指定的尺度范围内的目标,即只对大小合适的某些目标进行训练,以此提高小目标的检测效率。然而,图像金字塔方法的一个明显限制是它在处理一张图像时需要较大的计算量,模型必须对来自所有尺度的图像执行独立的计算。
SSD算法:使用步长为2的卷积来降低特征图的大小,以不同尺度的特征图作为检测层来分别预测不同尺度目标的类别和位置坐标,较大的特征图用来检测小目标,较小的特征图用来检测大目标,实现多尺度目标的检测。SSD算法的多尺度检测如图 4所示。
图4 SSD算法的多尺度检测
文献[22]提出DSSD网络,使用ResNet-101更换SSD的骨干网络VGG16,提高了模型的特征提取能力,并使用反卷积层增加了上下文信息,提升了多尺度目标及小目标的检测精度。文献[23]提出一种基于稀疏连接和多尺度融合的Inception-SSD行人检测方法,使用Inception模型代替骨干网络的基础部分,将全连接转换为稀疏连接,有效缓解了参数空间大、容易过拟合、梯度分散、模型性能下降等问题。
特征金字塔网络(FPN):由于SSD多层特征图为非连续结构,所得到的信息不足,影响检测性能,因此特征金字塔通过引入自上而下的连接来解决SSD模型存在的问题。特征金字塔是目前最常使用的多尺度特征融合方法,针对图像中不同物体具有不同的尺度,利用自下而上的路径、自上而下的路径和横向连接三部分完成多尺度检测。自下而上的路径是卷积神经网络的前向过程,选取每个阶段最后一层的输出构成特征金字塔;自上而下的路径通过从更高的金字塔级别对空间上更抽象但语义更强的特征图进行上采样来生成更高分辨率的特征图;横向连接合并了自下而上路径和自上而下路径的相同空间大小的特征图,将来自低层特征图的详细位置信息和来自高层特征图的丰富语义信息相融合,实现了不同尺度的特征提取,显著提升了小目标的检测性能。特征金字塔结构如图 5所示。
图5 特征金字塔结构
文献[25]将FPN网络中的Add融合方式更改为Concat方式来融合经多次卷积后提取的特征。文献[26]提出一种融合FPN和Faster R-CNN的行人检测算法,获得了较好的检测效果。文献[28]提出基于FPN的路径聚合网络(PANet),在FPN后增加自下向上的路径增强,能够缩信息息路径并利用低层中存在的准确定位信息来增强特征金字塔,得到语义信息和定位精度上的双重提升,从而提高了对于多尺度目标的检测能力。PANet结构如图 6所示,其中,Pi和Ni表示不同层级的特征图,Ni是由包括Pi等多个特征图融合后的结果。
图6 PANet结构
文献[29]针对FPN网络存在自顶向下路径中信息稀释导致较低层获得的语义信息有限、高层特征缺乏空间信息的问题,将语义金字塔模块和语义特征融合模块加入检测模型,提出语义特征金字塔网络(SFPN),以解决信息不平衡问题并防止在特征融合过程中发生稀释。文献[30]提出新的图像金字塔引导网络(IPG-Net),创建了一条新的路径来缓解空间信息和语义信息之间的不平衡和错位问题,将IPG-Net信息不断融入主干流,解决了深层空间信息不足和小物体特征丢失的问题。文献[31]提出图特征金字塔网络(GraphFPN),该网络的拓扑结构能够动态适应输入图像的内在结构,并支持所有尺度特征的同时交互,继承输入图像的超像素层次结构,使用上下文层和等级间交互层来分别促进相同尺度内和不同尺度间的特征交互,避免了FPN网络中来自非相邻尺度的特征只能间接交互的问题。
小提示:多尺度策略是目前提升小目标检测效果最显著的方法之一,尤其是FPN及其变体(如PANet、GraphFPN)已成为主流方案。但注意会增加计算量,需在精度与速度间权衡。
1.3 超分辨率细节信息生成
相较于低分辨率(Low-Resolution,LR)图像,高分辨率(High-Resolution,HR)图像的像素密度较高,能够提供更多原始场景下精细的细节信息和可区分的特征,在检测中能够获得更佳的检测效果。因此,生成超分辨率图像也是对小目标的检测精度进行改进的一种有效方法,旨在从相应的低分辨率特征中恢复高分辨率特征,将生成的高分辨率图像作为检测模型的输入,获得更多小物体的细节信息。
目前,该类方法大部分主要通过生成对抗网络(Generative Adversarial Network,GAN)的方式将小目标的特征转化为与中大型目标一样或相近的特征表达来恢复或重建高分辨率图像,其中生成器用于从低分辨率图像中生成超分辨率图像来欺骗判别器,判别器对真实图像和生成器生成的仿真超分辨率图像进行区分,预测目标的类别和位置,整体流程如图 7所示。
图7 基于GAN的细节信息生成流程
文献[33]将GAN引入小目标检测构建一种Perceptual GAN,基于深度残差特征的生成器模型将底层特征作为输入,将小物体的原始较差特征转换为具有高判别力的特征,从而在中间表示上生成超分辨率图像,判别器通过对细粒度细节信息的生成进行指导以提高生成目标的质量,有利于小目标的检测。文献[34]提出一种可与多种检测器相结合的SOD-MTGAN,在生成器中引入超分辨率网络实现对小目标图像的大范围上采样,生成超分辨率图像,并在判别器中引入用于目标检测的分类和回归损失进行联合识别与反向传播,以进一步指导生成器网络生成超分辨率图像,使得小目标在检测中更易定位和识别。文献[35]提出一种新的特征级超分辨率图像生成方法,通过空洞卷积对网络输入的低分辨率特征感受野和目标高分辨率特征感受野进行匹配,提高超分辨率图像生成质量,并对超分辨率生成器进行直接监督,提高训练稳定性,总体模型结构如图 8所示,其中,I为原始输入图像,×0.5表示对图像进行下采样,F为来自原始图像的低分辨率特征,T为SR目标提取器提取到的真实目标的超分辨率特征,S为生成的超分辨率特征。
图8 特征级超分辨率图像生成模型结构
文献[36]使用超分辨率子网络从大规模行人中恢复小规模行人的详细信息,将分类任务和超分辨率图像生成任务集成在一个统一的JCS-Net框架中,使得重建图像特征更适合小尺度行人的检测.文献[37] Cont