1简介
小目标由于分辨率低、体积小,很难被检测到。而小目标检测性能差主要是由于网络模型的局限性和训练数据集的不平衡所造成的。
为了获得可靠的语义信息,很多目标检测器试图叠加越来越多的池化和降采样操作,使得在前向传播中逐渐丢失像素数较少的微小目标特征,因此降低了微小目标的检测性能。
FPN 通过水平融合低分辨率特征图和高分辨率特征图,在一定程度上缓解了信息扩散问题。但是,直接融合不同密度的信息会引起语义冲突,限制了多尺度特征的表达,使微小目标容易淹没在冲突信息中。
同时,在目前的经典公共数据集中,微小目标的标注数量远远少于较大目标的标注数量。因此,在训练过程中,网络的收敛方向不断向较大目标倾斜,导致微小目标性能较差。
因此,作者认为从以上2个方面来提高微小目标的检测性能是可行的。
针对微小目标的特征分散和层间语义差异的问题,本文提出了一种结合上下文增强和特征细化的特征金字塔复合神经网络结构。提出的算法框架如图1所示。
图1
它与上下文增强模块(CAM)和特征细化模块(FRM)相结合。CAM融合多尺度扩张卷积特征,获取丰富的上下文信息进行特征增强。FRM在通道和空间维度上引入特征细化机制来抑制冲突信息,防止微小目标淹没在冲突语义信息中。同时,为了保证网络在训练过程中不会向较大目标倾斜,提出了一种Copy-Reduction-Paste的方法来增加训练中微小目标丢失的比例。
2相关工作
2.1 经典方法
大家都知道目标检测是一项基础的计算机视觉任务,它包含分类和定位2个部分,而定位则可以看作是一个回归问题。
在早期,手工设计的特征被广泛应用于目标检测。但是,手工设计的特征是一种浅层特征,其也在基于深度学习的特征出现后逐渐被取代。
- R-CNN作为两阶段算法的先驱,利用不同大小的先验框对不同大小的目标进行匹配,然后通过CNN选择候选区域;
- 为了减少训练时间,Fast R-CNN提取整个图像的特征图,然后利用空间金字塔池化和RoI池化生成区域特征并筛选候选区域;
- 为了进一步提高小目标的精度,E-FPN提出了一种超分辨率特征金字塔结构来放大小目标特征。与两阶段网络相比,单阶段网络速度较快,但精度相对较低;
- SSD在图像上密集放置Anchor以获取Bounding Box,同时充分利用不同尺度的特征来检测更小的目标。
- YOLOV3基于特征金字塔有3个输出分别选择大、中、微小物体进行检测,大大提高了微小物体的检测性能。
- 还有一些学者在FPN中引入了高分辨率Attention机制,以挖掘微小目标中最有用信息。本文就是YOLOV3作为Baseline,并在此基础上进行改进。
- RefineDet引入了新的损失函数,解决了简单样本和困难样本之间的不平衡问题。
近年来,基于Anchor-Free架构的检测器越来越受欢迎。虽然目标检测算法在不断发展和替换,但在微小目标检测领域并没有大的突破,小目标的检测精度依旧很低。
2.2 多尺度特征融合
利用多尺度特征融合是提高小目标检测精度的有效方法。SSD是首次尝试用多尺度特征来预测目标的位置和类别。
FPN从上到下融合不同粒度的相邻特征也极大地提高了特征的表达能力。大量类似FPN的变异结构如下:
- PANet在FPN的基础上增加了额外的自下向上连接,更有效地将信息从底层传输到上层。
- NAS-FPN通过神经结构搜索技术搜索出一种新的连接方法。
- Bi-FPN改进了PANet的连接方式,提高了PANet的效率,并在连接点引入了简单的Attention机制。
上述结构虽然大大提高了网络的多尺度表达能力,但忽略了不同尺度特征之间冲突信息的存在,缺乏上下文信息可能会阻碍性能的进一步提高,特别是对于微小目标很容易被冲突信息淹没。
本文充分考虑了冲突信息和上下文信息对检测精度的影响。
2.3 数据增强
训练集的预处理一直是深度学习中不可缺少的一部分,如 Rotation、deformation、Random Erasure、Random Occlusion、Illumination Distortion以及MixUp 等。
近年来,人们提出了几种针对微小目标的数据增强方法。将4幅图像按相同尺寸拼接在一起,以提高反馈引导下的微小目标检测性能。
还有人试图通过Copy-Paste小目标到原始图像来实现小目标的数据增强。该方法只能增加微小目标的数量,而不能增加包含微小目标的训练图像的数量。也会在一定程度上造成训练的不平衡。由于大目标广泛分布在训练中,而本文保证了小目标对训练损失的贡献,使训练更加均衡。