Abstract
无人机航拍目标检测在灾害救援、生态环境保护、军事侦察等领域具有很高的研究意义。较大的无人机摄影宽度给探测任务带来了背景干扰,而相对较高的无人机成像高度导致航拍图像中大多是小物体。针对无人机航拍图像背景复杂、小目标数量多的特点,提出了一种改进的YOLOX- x无人机航拍目标检测算法YOLOX w。首先采用切片辅助超推理(SAHI)算法对训练集进行预处理,并进行数据增强,提高了模型对小目标的检测性能。然后,在路径聚合网络(PAN)中引入具有丰富空间信息的浅特征映射,并增加检测头来检测小目标;其次,在PAN阶段加入超轻量子空间注意模块(ULSAM),突出目标特征,弱化背景特征,提高网络的检测精度。最后,对边界盒回归的损失函数进行优化,进一步提高网络预测精度。在VisDrone数据集上的实验结果表明,与基线的YOLOX- x相比,提出的YOLOX- w算法的检测精度提高了8%。在DIOR数据集上的迁移实验验证了改进方法的有效性和鲁棒性。
1 Introduction
无人机航拍是一种以无人机为空中平台,利用机载遥感设备获取信息,并利用计算机对获取信息进行处理的技术。无人机航空摄影成本低,使用小型和轻型设备,操作简单,灵活,安全,并具有其他理想的特点。因此,在灾害救援、生态环境保护、矿产资源勘查、公共安全、军事侦察等领域得到了广泛的应用。例如,在自然灾害救援行动中,救援人员可以利用无人机航拍快速了解灾区情况,获得实时获取的信息,开展救援工作,弥补人工搜救资源的不足,提高搜救效率,减少人员伤亡。在中国河南省强降雨引发的严重洪灾期间,救援人员利用无人机提供了灾难的态势感知,并传回实时航拍图像,生成全景图。此外,无人机还协助灾区侦察、搜救和内涝检查,有效降低了灾害风险。随着无人机的普及和网络共享应用的快速发展,无人机航拍量迅速增加,传统的人工图像处理难以满足需求。自动目标检测能够减少人力资源的消耗,高效、智能地处理图像信息,是机器视觉发展的一个重要方向。因此,研究无人机航拍图像的目标检测算法具有重要意义。
无人机航拍图像的拍摄角度与自然场景图像不同,且无人机图像宽度较大,不突出目标,将背景干扰引入检测任务[1]。此外,由于无人机的高度相对较高,无人机航拍图像中的大多数地物都是小物体(MS COCO[2]将小物体定义为小于32 × 32像素)。此外,无人机航拍中地物的方向具有随意性和多样性。针对无人机航拍图像背景复杂、小目标多的特点,Liu等人提出了D-A-FS SSD算法。该算法通过通道关注网络减少特征层的背景信息,融合包含丰富语义信息的底层特征层,提高了小目标的检测精度,但D-A-FS SSD并没有解决训练阶段正负样本不平衡的问题。Zhang等[4]在骨干网络[5]中引入了可变形卷积,帮助模型高效学习几何变换能力。这也通过数据增强和测试时间的改进大大提高了小目标检测的性能,但没有平衡网络效率和运行速度。Tian等人提出了一种针对小目标的双神经网络目标检测方法。这种方法对低置信度、错过的检测对象进行二次检测。这提升了检测精度,但需要更多的计算资源。、
基于深度学习的通用目标检测算法可以分为两类。第一种是基于候选区域的两阶段方法,如R-CNN系列算法[7-9]。二是单阶段算法,包括YOLO系列[10-15]和SSD系列[16-18]。单阶段算法不使用候选区域的提取过程,因此精度不如两阶段算法高,但运行速度更快。此外,无人机航拍图像目标检测必须是实时的,因此本研究选择了单阶段算法。目前最流行的基于深度学习的单阶段目标检测方法是YOLOX-X。YOLOX-X在自然场景图像数据集MS COCO上运行速度快,精度高。然而,无人机航拍图像的成像角度与自然场景图像不同。此外,这些图像具有背景复杂、小物体多、物体方向任意等特点。YOLOXX直接应用于无人机航拍图像会导致漏检和误检,因此需要对YOLOXX进行修改以适应无人机航拍的特殊要求。
本文提出了一种改进YOLOX- x的无人机航拍目标检测算法YOLOX w。针对无人机航拍图像中存在大量小目标的问题,首先采用切片辅助超推理(SAHI)对高分辨率无人机航拍图像进行预处理,将图像分割成多个重叠的切片,使小目标在生成的图像上占据更大的像素区域。其次,浅层特征图具有丰富的空间信息,因此将其引入路径聚合网络(PAN)中,并增加检测头来处理浅层特征图中的小目标;
最后,对边界盒回归损失函数进行优化,使边界盒回归更快、更准确。针对复杂背景,该方法在PAN阶段加入了超轻量子空间注意模块(ULSAM),有效地突出了目标特征,弱化了背景信息。本文的主要贡献如下:
•使用SAHI对数据集进行预处理,使小目标在图像中占据更多的像素区域,从而提高模型检测小目标的能力。
•在PAN结构中引入了浅层特征图C2,并增加了检测头来处理小物体。
•在PAN阶段加入ULSAM,有效抑制背景信息,提高颈部结构提取目标特征的能力。
•将IoU损失替换为所提出的SIoU损失,提高了训练速度和预测精度
2 Related work
本节首先介绍了无人机空中目标检测的研究现状。然后,介绍了基线算法YOLOX-X的网络结构。最后,总结了YOLOX-X在无人机航拍图像应用中存在的问题。
无人机航拍图像由于成像角度不同,与自然场景图像不同,这意味着无人机航拍图像具有物体小、背景复杂、物体方向多样等特点。研究人员提出了一些处理这些特征的解决方案。Lin等人[19]提出了特征金字塔网络(FPN),通过将高层语义信息与低层语义信息融合,获得高分辨率、强语义特征,有效提高了小目标的检测性能。然而,FPN是自顶向下的特征单向融合,没有充分利用底层语义信息,高、低层特征之间的长路径会导致一些底层特征的丢失。对此,Liu等人提出了PAN,该方法基于FPN创建了自下而上的融合路径,缩短了特征传播路径。同时利用底层特征的空间信息进一步提高小目标的检测性能。Guo等人设计了AugFPN来解决fpn的缺点,如语义差异、信息丢失和启发式兴趣区域分配策略的不足。整体性能得到有效提高,但计算成本增加。Li等人提出TridentNet,认为不同尺度的对象需要不同大小的接受野。TridentNet使用不同膨胀率[23]的展开卷积来检测不同大小的物体,提高了模型的检测能力。Yang等人提出了SCRDet,以有效捕获无人机航拍图像中复杂背景下的小目标,并解决目标方向的多样性问题。
针对复杂背景下的小目标,设计了一种有监督的多维注意网络(MDA-Net)来降低背景噪声,增强目标特征。此外,通过改进平滑L1损耗[8],解决了目标方向任意的问题。Van等人通过修改YOLOv2,提出了一种用于卫星图像多尺度目标检测的YOLOv2方法。他们使用密集预测网格来提高网络对密集小物体进行分类的能力。为了处理目标方向的多样性,使用了旋转和数据增强。Yang等人提出了一种基于高斯Wasserstein距离(GWD)的损失来处理任意物体方向的问题。将旋转的边界框转换成二维高斯分布,利用梯度反向传播方法进行学习,避免了旋转角度回归区间不连续和类平方问题。并且降低了模型的学习难度,从而提高了性能。但GWD不具有尺度不变性,因此Yang等人提出了一种基于Kullback-Leibler散度(KLD)损失的方法。将回归损失转化为两个二维高斯分布KLD损失,而KLD的自调制优化机制使模型能够根据目标的尺度动态优化调整目标的位置,有效提高了模型的鲁棒性。
CSPDarknet是YOLOX-X的骨干特征提取网络,它由五个部分组成:dark1、dark2、dark3、dark4和dark5。骨干网结构如图1所示,在每个部分之间使用降采样,使特征图的大小减少一半,通道数量增加一倍。CSPDarknet使用Focus模块[14]、残余网络[28]、跨阶段部分网络(CSPnet)[29]和空间金字塔池(SPP)[30]提取特征。其中,Focus模块在不丢失信息的情况下,提高操作效率。残差网络处理了增加神经网络深度所带来的梯度消失问题。CSPnet增强了网络学习特征的能力,同时减少了计算量。SPP模块利用不同池化核的最大池化操作来提高网络的感知野。YOLOXX的目标检测过程如图2所示。首先,通过CSPDarknet将图像输入主干进行特征提取,主干网络提取三层有效特征图{C3, C4, C5}。然后将有效的特征映射传递给颈部结构,通过PAN对特征进行增强,得到三层增强特征映射{N3, N4, N5}。在这里,FPN将自顶向下的高级语义信息传播到浅层特征映射,在多个尺度上增强语义信息,但对对象的定位信息较弱。在多个尺度上增强语义信息,但对目标的定位信息较弱。因此,自底向上路径的包含通过将丰富的空间信息从浅层传递到更高层次的特征地图来增强多尺度的定位。最后,利用解耦的头部对三个增强的特征映射进行分类和回归,从而加快了模型收敛速度,提高了检测精度。
3 Proposed method
3.1 Data augmentation
航拍无人机图像中存在大量的小物体,小物体在图像中所占的像素数量相对较少。此外,传统的检测方法在检测小物体时效果不佳。Akyon等人提出了SAHI方法,将图像分割成多个重叠的切片,使小物体在图像中占据更多的像素,从而提高了模型检测小物体的能力。在本文中,我们使用SAHI将训练图像裁剪成大小为640 × 640,重叠像素为160的切片,并删除仅包含背景的切片。
数据增强可以增加训练样本的数量和多样性,提高模型的鲁棒性。光度失真和几何失真是两种最常见的数据增强方法。光度失真调整图像的亮度、色度、对比度和饱和度。要执行几何变换,图像可以随机缩放、裁剪、翻转、旋转或以其他方式转换。还有几种数据增强方法,如Cutout[32]、Mixup[33]、CutMix[34]和Mosaic[13]。cut - out随机裁剪训练图像的一个正方形区域,并用零填充cut - out。Mixup在数据集中随机选择两个样本及其对应的标签,并按一定比例进行求和,生成新的样本和标签。CutMix从数据集中随机选择两张图像,然后将其中一张图像的裁剪部分叠加到另一张图像上。马赛克是一种随机裁剪四幅图像,然后将它们拼接成一幅新图像,丰富图像的背景。
本文采用光度失真、几何失真、混合和马赛克等方法进行数据增强。
3.2 Detection head enlargement
由于VisDrone数据集[35]有许多非常小的目标,YOLOX-X的三个解耦头导致在检测这些目标时大量漏检和误检。浅层特征图具有较小的感觉场和较强的空间信息,适用于小物体的检测。而YOLOX-X的骨干网络通过CSPDarknet提取特征,经过5轮降采样得到5层特征图{C1, C2, C3, C4, C5},通道数增加了一倍,特征图的大小减少了一半。特征图C1包含更详细的信息,但也有高水平的噪声和背景信息。因此,本文提出的方法在FPN中引入低层次、高分辨率的特征图C2,通过自顶向下的传递将基线{C3, C4, C5}的三级有效特征图与特征融合,通过将强语义特征从高层传递到浅层,增强了多尺度的语义表示。增强的特征图{P2, P3, P4, P5}自底向上传递包含高的空间信息特征图。增强多尺度的定位能力。同时增加了解耦的小目标检测头,改进后的网络结构如图所示。
图3 YOLOX w. (a)骨干网网络结构:采用CSPDarknet结构提取多尺度特征图。(b)颈部:使用PAN和ULSAM增强的多比例尺特征图。FPN与C2融合得到P2, P2自下而上融合得到N2。P2和N2用红色方块表示。为了弱化复杂的背景信息,在PAN结构之后添加了ULSAM结构,如图红框所示。(c)预测:红色虚线框表示解耦头,用于小目标检测。
3.3 Attention mechanism
注意机制类似于人类的视觉注意机制,从大量特征中提取出更多的关键特征,增强关键特征,减少对其他非关键特征的关注,甚至忽略无用的特征,从而提高网络的性能。虽然现有的注意力机制在提高网络性能方面是有效的,但它增加了计算开销,并且不适合轻量级网络。在这方面,Saini等人[36]提出了ULSAM,它可以有效地学习特征子空间中的跨通道信息,减少了参数的数量。ULSAM的结构如图4所示。输入特征映射在通道上被分割成g个互斥的子空间,每个子空间有G个特征映射,并且为每个子空间派生出不同的注意映射。
在本文提出的方法中,将ULSAM添加到PAN结构中,用于突出目标特征和减弱背景特征。然后将增强后的目标特征输入到解耦头部进行分类和回归,有效地提高了检测精度。改进后的颈部结构如图3所示。
3.4损失函数优化
YOLOX使用IoU损失[37]作为边界盒回归损失函数。IoU损失定义如下:
这里,b表示边界框,bgt表示基本真理。但是,IoU损失有两个缺点:首先,当边界框与地真值不相交时,IoU为1的常数,其梯度为0,导致无法优化参数。其次,当边界框与地面真值的交点固定时,IoU不能反映两个框如何相交。因此,本文将IoU损失替换为SIoU损失[38],达到了提高网络训练速度和预测精度的目的。SIoU引入了地真值与边界盒之间的矢量夹角,并重新定义了损失函数,损失函数由角度损失、距离损失、形状损失和IoU损失四部分组成。角度损失定义如下:
其中,σ为地面真值与边界框中心点之间的距离,ch为地面真值与边界框中心点之间的高度差,bgt cx, bgt cy为地面真值的中心坐标,Bcy、BCX为边界框的中心坐标。
距离损失定义如下,其中cw、ch分别为地真值和边界框最小外矩形的宽度和高度.
形状损失定义如下:
其中(w, h)和(w gt, hgt)分别为边界框的宽度和高度以及地面真值,θ控制对形状损失的关注程度,取值范围为2 ~ 6。
IoU损失的定义如下,其中b为边界框,bgt为地面真值。
最终SIoU定义如下:
SIoU通过加入回归之间的向量夹角来重新定义损失函数,有效加快了训练速度,进一步提高了推理的准确性。
4 实验结果及分析
4.1 Dataset
VisDrone数据集由中国天津大学机器学习与数据挖掘实验室的AISKYEYE团队收集,包括14个城市在不同天气和光照条件下的各种场景。该数据集提供了无人机在不同高度和位置拍摄的静止图像,图像分辨率高达2000 × 1500。它包含10个类别:行人、人、自行车、汽车、货车、卡车、三轮车、遮阳篷三轮车、公共汽车和电动机。其中,训练集包含6471张图像,验证集包含548张图像,测试集dev包含1610张图像。在VisDrone数据集中,一张图像中可能有多达902个物体。还有一个分类平衡问题,这使得小样本分类的小目标检测问题更加困难。类别和标签的分布如图5所示。在这10个类别中,汽车的样本数量最多(187,005),遮阳篷三轮车的样本数量最少(4,377),这两个类别之间的差异接近43倍。为了使类的分布更加均衡,本研究在训练前对标签较少的类进行了扩展。在本研究中,我们使用SAHI将6471张训练图像裁剪成640 × 640大小、160个重叠像素的切片,并删除仅包含背景的切片。接下来,选择包含较少样本类别的切片与原始训练图像组成新的训练集,使用548张图像进行验证;并对1610幅图像进行了测试,得到了实验结果。
4.2 Experimental environment
实验使用的操作系统为Windows 10, CPU为Intel(R) Core(TM) i7-12700KF,内存为32g,使用单个NVIDIA RTX 3090 GPU进行训练和测试,深度学习框架为PyTorch。采用随机梯度下降法进行训练,动量值为0.937,权重衰减因子为5e-4,初始学习率为0.01,批大小设置为4,历元设置为150。对于几何畸变,采用随机缩放和翻转。建立随机缩放区间为(0.25,2),输入图像在0.25 ~ 2之间随机均匀缩放,宽度和高度在0.538 ~ 1.857之间扭曲。此外,当翻转比率固定为0.5时,图像向左或向右翻转的几率为50%。对于光度失真,将色相、饱和度和亮度的失真系数分别设置为0.1、0.7和0.4。在将图像从RGB调整为HSV后,对色域进行了更改。
4.3 Experimental results
4.3.1消融实验
模型消融实验结果如表1所示。与基线网络相比,在使用SAHI和数据增强时,性能提升明显,对大、中、小目标的检测准确率分别提高4.7%、1.6%和1%。SAHI使小目标在切片中占据更多像素,数据增强增加了训练样本的多样性,有效提高了小目标检测精度。然后,将浅层特征图C2引入到具有PAN的FPN中进行特征融合,小目标检测精度进一步提高1.3%。结果表明,C2特征图具有丰富的小目标空间信息,适合于无人机航拍图像中的小目标检测。然后在PAN阶段加入ULSAM,得到不同的注意图,突出目标特征,弱化背景信息,再次提高了模型的检测性能。最后,将损失函数IoU替换为SIoU,使边界盒能够更快更准确地定位目标,提高了网络预测小目标的精度。
与基线YOLOX- x相比,改良后的YOLOX w使mAP50的结果提高了8%,AP-small、AP-mid和AP-large的结果分别提高了4%、5.5%和8.3%。结果表明,改进后的模型能够有效解决无人机航拍图像中存在的小目标多、背景复杂的问题。
4.3.2 Comparison with other algorithms
将YOLOX w检测模型的性能与一级算法CenterNet[39]、YOLOv4[40]、D-A-FS SSD[3]、RetinaNet[41]和两级算法Faster R-CNN[3]、Cascade R-CNN[39]进行比较,比较结果如表2所示。文献[40]中的实验表明,增加输入分辨率可以提高检测性能。表中的结果清楚地表明,在大多数类别中,所提出的YOLOX w模型的准确率高于相同输入分辨率的其他检测模型。这说明YOLOX w模型优于其他检测模型。
4.3.3可视化分析
最后,我们在视觉上比较了基线YOLOX- x和YOLOX w在VisDrone数据集上的检测结果。图6 (a)为基线试验结果,图6 (b)为改进模型试验结果。可以看出,改进后的模型的结果比原算法的结果要准确得多。此外,无论是在密集的物体环境还是在复杂的环境中,它对小物体更敏感,并且大大降低了漏检率和误检率。
4.4 Migration experiments
为了充分证明本文方法的有效性和鲁棒性,在DIOR数据集[42]上进行了迁移实验。DIOR数据集由西北工业大学整理,包含23,463张800 × 800的图像和192,088个对象实例,涵盖20个对象类。这20个对象类是飞机,机场,棒球场,篮球场、桥梁、烟囱、大坝、高速公路服务区、高速公路收费站、高尔夫球场、田径场、港口、立交桥、船舶、体育场、储罐、网球场、火车站、车辆、风车。由于成像质量、天气和季节的差异,该数据集的成像结果差异很大,背景也很复杂。它还具有较高的类间相似性、类内多样性和较大的对象尺度变化范围。23,463张图像被分成5,862张图像用于训练集,5,863张图像用于验证集,11,738张图像用于测试集。
实验中使用的超参数与以前相同。实验结果如表3所示。在DIOR数据集上,YOLOX w的检测精度比基线YOLOX- x的检测精度提高了近6.8%。YOLOX w的mAP50值高于其他模型,对大多数类别的检测精度也高于其他模型,表明YOLOX w模型优于其他模型。
我们还直观地比较了基线YOLOX- x和YOLOX w对DIOR数据集的检测结果。图7 (a)为基线试验结果,图7 (b)为改进模型试验结果。可以看出,改进后的模型比原算法的精度有了很大提高。而且,无论是在复杂的环境还是在密集的物体环境中,它对小物体都更加敏感,可以有效地降低漏检率和误检率。
5 Conclusion
航拍无人机图像的拍摄角度与自然场景图像不同。此外,航空无人机图像具有许多小目标和复杂背景的特点,直接应用于航空无人机图像的通用目标检测算法将导致大量的漏检和误检。本文提出了一种改进YOLOX- x的无人机航拍目标检测算法YOLOX w。通过对训练集进行预处理和使用SAHI进行数据增强,有效地提高了小目标的检测能力。此外,在PAN中引入一个包含丰富空间信息的浅层特征图C2,并与基线的三个有效特征图融合;并增加了一个检测头检测小目标,ULSAM也被加入到不同的注意力地图中,突出目标信息,弱化背景信息。最后,对边界盒回归的损失函数进行优化,使边界盒回归更快、更准确,提高了训练速度和预测精度。在VisDrone数据集上的实验结果表明,YOLOX w的检测精度比基线YOLOX- x提高了8%。此外,在DIOR数据集上的迁移实验表明,YOLOX w比YOLOX- x提高了6.8%的mAP50,进一步验证了改进方法的有效性和鲁棒性。
增加额外的检测头将提高检测精度,但会增加计算量并降低检测速度。
在未来的研究中,我们将探索提高YOLOX算法实时性的方法,并解决航拍图像中任意物体方向的问题。