【摘要】
现代无人驾驶飞行器(UAV)侦察得到了广泛的应用。配备FPV摄像头的无人机可以借助目标检测技术实现对密集小物体的侦察。然而,在无人机的俯瞰图像中,由于像素小且分布密集,很难检测到人或车辆目标。本文提出了一种改进的YOLOv7无人机密集小目标检测算法(DS-YOLOv7),以提高无人机对密集小目标的检测性能。SFN技术对融合网络进行了优化,进一步提高了密集小物体的语义信息和位置信息。LDSPP是一个优化的小目标特征提取模块。该算法更加关注小物体的边缘信息,降低了漏检率。
降维技术的重点是减少模型参数,以便于在轻量级设备上部署算法。在公共数据集VisDrone2019上的实验验证表明,mAP50和mAP50-95分别提高了4.3%和3.3%,F1分数提高了3.81%,模型体积减少了23.3MB,参数减少了1300万,改进后的算法更有利于无人机部署和密集小目标检测。
【介绍】
近年来,无人机发展迅速,在许多领域得到了广泛的应用,例如利用无人机对地面物体进行探测。由于无人机具有体积小、便携性高、隐蔽性强等优点,在现代军民侦察工作中非常受欢迎。随着硬件的不断进步,人们对目标检测技术的研究进入了一个新的时代。2012年以前,传统的检测算法,如VJ检测器[1]、[2]、HOG特征[3]、DPM算法[4]等难以满足高精度、实时性的处理要求。基于深度学习的目标检测技术正逐步应用于无人机领域。
如果能实现高精度实时检测功能,如实时检测地面人员位置、车辆类型等信息,在低空侦察领域具有很高的潜在价值。因此,深度学习目标检测技术的发展也越来越普遍。目前,深度学习目标检测算法根据预测锚框架的生成顺序可分为两阶段和一阶段。两者的主要区别在于,一阶段算法在一步中到位,没有RPN区域候选。与两级检测相比,这种检测方法更能满足实时检测的要求。
单阶段方法包括YOLO[5]级数算法和SSD[6]算法、RetinaNet[7]、Gaussion[8]等。这些算法在传统的尺寸目标的检测中表现良好。但对于密集小物体的检测效果不佳。
野外小物体的定义通常是根据物体的像素大小来划分的,可以分为非常小的物体和很小的物体。例如,COCO[9]数据集提出像素小于32×32的对象是小对象。TinyPerson[10]数据集进一步将像素小于20×20的对象分类为非常小。然而,致密天体的定义并不明确。本文的像素小于32×32,两个小物体A和B之间的距离小于半A或B大小。在其他领域已经提出了许多小目标检测算法,[11],[12],[13],[14],[15]。为了解决深度卷积层在密集小目标检测过程中语义信息不明显且相互遮挡的问题,我们提出了一种新的浅层特征层融合网络和一种轻量级的深度分离空间金字塔模块,从两个方面解决该问题。首先,我们构建了用于小目标检测的分支特征金字塔网络,该网络保留了原有的中尺度和小尺度特征层,并扩展了新的维度预测层和新的预测锚框架;随着卷积维数的增加,接收野越来越小,小物体的语义信息越来越不明显,特征提取的失败率也越来越高。我们使用深度分离卷积来减少语义信息的丢失,减少计算量,提高推理速度。本文基于YOLOv7[16],提出了一种针对无人机的密集小目标检测算法DS-YOLOv7,提供了高精度和轻量化的模型。该算法包含以下关键创新:
提出了一种新的浅层特征层融合网络SFN。该方法将浅层位置信息与深层语义信息相结合,提高检测精度。
提出了一种轻量级的深度分离空间金字塔模块LDSPP,用于特征提取。它增强了密集的小对象信息,降低了遗漏率,加快了推理速度。
分别在默认卷积维数和半卷积维数模型上进行实验,对VisDrone2019[17]数据集进行测试,验证DS-YOLOv7模型的有效性和鲁棒性。
2 相关工作
A.实时目标检测
单阶段目标检测算法既实现了快速检测,又保证了一定的检测精度。
以目前主流的YOLO系列算法为例。YOLOv1[4]将整个图像输入神经网络,得到边界框的位置和类别。YOLOv2[18]解决了第一代查全率低、定位精度不准确的问题。从第一代到第二代逐步实现小目标检测和多类目标检测。YOLOv3[19]更新了网络结构,首次采用组合残差网络的思想,在防止梯度爆炸或消失的同时获得更深层次的特征。YOLOv4[20]更新了网络骨干网和回归损失函数,在保持精度和提高速度方面取得了又一次突破。YOLOv5[21]采用变焦、色彩空间调整和马赛克数据增强相结合的方法,进一步将骨干网中的SPP改进为SPPF,其训练时间大大缩短,速度大大加快。美团团队的YOLOv6[22]致力于工业应用,支持GPU、CPU、ARM等多平台部署。第一代与第七代模型特性对比如表1所示
B. yolov7算法
YOLOv7[16]集成了一些先进的现有技术,实现了5FPS到160FPS范围内最先进的单级目标检测算法之一。其中,网络结构采用模型再参数化;新的标签分配策略(使用YOLOv5交叉网格搜索和YOLOX匹配策略);提出了一种高效的层聚合网络(ELAN)。辅助头是在训练过程中用来提高精度,
默认的网络结构如图1所示。YOLOv7的网络架构沿用了前几代的风格,由Backbone、Neck和Head组成。首先将输入图像归一化,然后发送到基于rgba的主干进行特征提取。这里,CBS层表示图像经过一系列二维卷积层、Batch-Normal层和SilU激活函数层。大小为1×1和3×3的卷积核分别以浅色和深色表示。ELAN架构由多个CBS融合单元组成,这些融合单元采用缩放、随机置乱和组合基数来不断增强网络学习,而不影响原始梯度路径。SPPCSPC在测试结果上优于SPP。在Head模块之前,REP-Net[23]被用于重新设计重新参数化的卷积架构。
然而,YOLOv7对小物体的检测性能仍然不理想。由于小物体所占像素的比例相对较小,随着卷积深度的增加,特征提取变得越来越具有挑战性。此外,在特征融合过程中,对浅层特征信息考虑不够,导致较大的目标信息覆盖了较小的目标信息。不仅如此,在检测头中,过大的预测锚框无法准确匹配小目标的位置,并将背景噪声引入检测,导致置信度损失增大。
3 提出创新
本文设计了新的SFN网络,以减少大目标检测层对小目标检测的负面影响,并更有效地增加深层语义信息和浅层特征信息的融合。此外,为了提高深度卷积层的特征提取能力,加快训练速度,设计了LDSPP卷积模块来代替SPPCSPC模块。DS-YOLOv7将两者结合起来,在像素尺寸小于32×32像素的密集小物体检测方面取得了新的突破。
A.新型特征融合网络
默认的YOLOv7算法结合了特征金字塔网络(Feature Pyramid Network, FPN)[24],将多个子样本生成的高级特征映射组合在一起。
(PAN)[25]对深、浅特征层进行合并。然后将组合的特征输入到检测头中,用于检测不同尺度的物体。这两种网络都显著提高了检测精度,因此在后续版本中得到了广泛的应用。默认结构如图2(a)所示,但是这种结构并不是万能的。作为输入的特征图的大小显著影响识别小物体的准确性。将原始图像输入到三层RGB特征提取网络中,随着网络深度的增加,可以得到更大特征对应的更大的接受场,有利于大物体的检测,但不利于小物体的检测。
本文设计了一种新的融合网络,以保留更多的小目标信息。其结构如图2(b)所示。在PAN结构的N4层进行两次上采样操作,与特征提取的C2体积层融合,得到更大尺寸的特征层。值得一提的是,虽然两次上样后N5的特征层尺寸更大,但为了便于与C2层融合,N5使用的通道数量更少。在卷积层中,减少通道的数量比减少通道的大小能减少更多的参数。
在原有的模型中,SPPCSPC模块被用于卷积神经网络的最深处,但该模块的缺点是带来了大量的参数和计算量。另外一点是,连续的卷积运算会使语义信息少的小对象的丢失更加严重。与传统的CBS结构相比,发现深度分离卷积可以减少卷积层的混叠效应,减少参数。深度分离卷积[26]采用多组卷积来减少多通道混叠造成的小目标信息损失,其中组卷积的个数等于特征中的通道个数,瓶颈结构可以方便地减少参数和计算量。
B.新的特征提取模块
假设输入特征图的维度为H_in x W_in x C_in,其中H_in为高度,W_in为宽度,C_in为输入通道数。
使用维度为k×k×C的卷积核执行二维卷积操作,其中k是宽度或高度,C是通道数。输出特征映射的维度是H_out x W_out x C_out,其中C_out是输出通道的数量。
那么二维卷积所需的参数个数为k×k×C,浮点运算为k×k×C×H_out×W_out。
图3包含了新引入的LDSPP模块,其中划分并显示了瓶颈结构、CBS结构和DWCBS结构等结构。图4显示了DS-YOLOV7的整体网络结构。
图3包含了新引入的LDSPP模块,其中划分并显示了瓶颈结构、CBS结构和DWCBS结构等结构。图4显示了DS-YOLOV7的整体网络结构。