面向空中小目标检测任务的YOLOv7改进模型

2024-01-05 12:42董凤禹魏振忠
航空科学技术 2023年12期
关键词:集上基准精度

董凤禹,魏振忠

北京航空航天大学,北京 100191

空中小目标检测任务通常是指在航空或航天等领域中,对飞行器或卫星等载具进行实时监测,以实现空中交通管制、地质探测、天气预测、空中加油[1]、飞行器姿态测量[2]等应用。相较于高分辨率的图像,空中目标往往相对尺寸小或尺度变化极大,且目标速度快、动态性强,因此对检测算法的精度和实时性都有很高的要求。在空中小目标检测任务中,常需要处理复杂的背景干扰、快速移动的目标和目标尺度变化等问题。同时,由于这些目标通常是在远距离或高空下进行检测,所以还需要考虑光照、气象等因素的影响。因此,针对这些问题,需要使用高精度、高鲁棒性的目标检测算法,并且在算法的设计上需要考虑到实时性和计算复杂度等因素。

当前,随着深度学习技术在计算机视觉领域的应用,目标检测器的精度和速度都有了巨大的提升。目前主流的目标检测算法包括 R-CNN、Fast R-CNN[3]、Faster R-CNN[4]、YOLOv7[5]、RetinaNet[6]、CornerNet[7]、CenterNet[8]等。尽管目标检测方法发展迅速,但小目标检测仍是当前亟待解决的难题。根据国际光学工程学会的定义,小目标的成像尺寸小于整个成像区域的0.12%。小目标在图像中通常只占少数像素,携带较少的目标特征,因此通用目标检测方法难以对小目标实现较好的检测效果。针对小目标检测任务,相关研究人员已经进行了一些研究。B.Zoph等[9]尝试通过设计有效的数据增强策略解决小目标检测数据不足的问题。Li等[10]使用生成对抗网络(GAN)将低分辨率特征作为GAN的输入来生成高分辨率特征,但这种方法的检测速度较慢,并且对用于训练的数据集有较高的要求。Yang等[11]采用了一种查询机制来提高基于特征金字塔的对象检测器的推理速度,提高了小目标检测器的性能。

综上所述,这些小目标检测方法都是为了在小目标检测场景中提高检测精度和速度而被提出。它们的具体思路和技术实现方式不同,但都采用了一些特殊的技巧来解决小目标检测问题。然而,这些方法仍然存在一些局限性和缺陷,如模型复杂性增加、速度变慢等,需要进一步研究和改进。本文针对空中小目标检测任务,在 YOLOv7 基准模型的基础上进行了改进。具体来说,采用GFPN 结构替换YOLOv7 原有的 PANet,并且设计新的损失函数以提高模型在处理小目标检测和目标尺度变化较大的检测任务时的表现。通过改进,本文方法在小目标检测和目标尺度变化较大的数据集上取得了较好的表现,比 YOLOv7 原始模型有更高的检测精度和较快的检测速度,适合在实际应用中使用。

1 YOLOv7目标检测模型

YOLOv7 是一种单步法目标检测模型,YOLOv7 的速度 比YOLOX 快180%(FPS),比Dual-Swin-T 快1200%(FPS),比ConvNext 快550%(FPS),比SWIN-L 快500%(FPS)。此外,即使在精度为56.8%AP的情况下,模型的检测速度仍可达到30帧/s以上。YOLOv7的出色性能使其可用于实时目标检测和跟踪任务中,其结构如图1所示。

图1 YOLOv7模型网络结构Fig.1 YOLOv7 network structure

YOLOv7 将模型重参数化的思想引入网络架构中,通过对模型参数进行适当的重组,可以在不影响模型性能的前提下,减少模型参数数量,从而降低模型计算复杂度。YOLOv7 采用了YOLOv5 的跨网格搜索和YOLOX的匹配策略,对标签分配进行了优化,提高了模型的准确性。此外,YOLOv7 提供了一种新的高效网络架构ELAN,该架构可以在保持准确性的前提下,大幅减少计算和内存开销,并通过引入辅助头,可以在不影响推理时间的前提下,提高模型的训练效率和准确性。尽管YOLOv7 通过模型重参数化、标签分配优化、高效网络架构设计和辅助头训练方法等多方面的改进,提高了目标检测模型的性能和效率,但其在小目标检测方面仍有较大提升空间。

2 基于中间层改进与Wasserstein 散度的YOLOv7模型

2.1 基于广义特征金字塔网络的YOLOv7中间层改进

特征金字塔网络(FPN)的目的是解决CNN 骨干网络在提取不同分辨率、多尺度特征时存在的融合问题。除了最初的FPN,PANet 和BiFPN 等也常用于目标检测模型。尽管这些FPN结构注重特征融合,但它们缺乏块内链接,可能会导致在小目标检测任务中无法提取关键特征。而广义特征金字塔网络(GFPN)[12]采用一种新的路径融合方法,包含跳层和跨尺度连接,能够更好地提取和融合特征,相比于YOLOv7 原有的 PANet 结构,GFPN 结构在处理小目标检测和目标尺度变化较大的场景下具有更好的表现。GFPN结构能够更好地保留小目标的细节信息,并通过融合不同尺度的特征信息来提高检测精度。GFPN 具体结构如图2所示。

图2 GFPN结构示意图Fig.2 Schematic diagram of GFPN structure

GFPN 中含有两种特征链接方法:dense-link 和log2nlink,两种链接分别用以下公式表示

式中,Plk表示第l层特征图在第k级的尺度特征,Concat() 表示将前面所有层生成的特征图串联在一起,Conv() 表示使用 3×3 卷积对这些特征图进行处理。

式(1)表示dense-link 的链接方式,在dense-link 中第l层接收所有前面层的特征图;式(2)表示log2n-link 的链接方式,log2n-link 在每个级别k中,第l层从最多log2l+ 1 个前面的层接收特征图,log2n-link 结构只会在反向传播时将层间距离从1 增加到1+ log2l,因此可以被扩展到更深的神经网络中。

2.2 基于Wasserstein散度的损失函数

YOLOv7采用交并比损失(IoU)作为模型的损失函数,其计算公式如式(3)~式(5)所示

式中,b为预测框;bgt为真实框;w,h分别为预测框的宽和高;wgt,hgt分别为真实框的宽和高;c表示能够同时包含预测框和真实框的最小闭包区域的对角线距离;α为平衡参数;v用来衡量长宽比是否一致。

就常规目标检测任务而言,对于微小物体检测器来说IoU并不适用。因为在预测边界框与真实边界框之间没有重叠或者预测边界框完全包含真实边界框等情况下,IoU无法为优化网络提供梯度,而这种情况在微小物体检测中比较常见。根据式(3)~式(5),虽然YOLOv7 采用的CIoU可以在一定程度上处理这些情况,但是它仍对微小物体的位置偏差比较敏感[13]。

为了解决这个问题,本文采用基于最优传输理论的损失函数来衡量目标框坐标的准确程度,通过Wasserstein 散度来代替标准的IoU。Wasserstein 散度能够一致地反映分布之间的距离,即使它们没有重叠。对于微小的物体,边界框中往往会有一些背景像素,因为大多数真实物体不是严格的矩形。因此,边界框可以建模为二元高斯分布,其中边界框的中心像素具有最高的权重,像素的重要性从中心到边界递减。边界框之间的相似度可以转换为两个高斯分布之间的分布距离。

具体而言,目标边界框R=(cx,cy,w,h)可以建模为二元高斯分布N(μ,Σ),其中

3 测试试验

为了评估本方法的性能,本文在VisDrone基准数据集上进行了试验,VisDrone是一个大规模的计算机视觉基准数据集,包含288 个视频片段和10209 张静态图像,共计261908帧,图像内容涉及多个方面,如不同的地理位置、环境条件、物体种类、目标密度等。此外,该数据集还包含在不同天气和光照条件下拍摄的图像,为数据集增加了多样性。为了提高数据集的可用性,对所涉及的目标物体手动注释了超过260 万个边界框,并提供了其他属性,如场景可见度、目标类别和遮挡情况。

此外,为了验证改进前后的网络模型对于飞机目标的检测性能,本文提出了一个新的飞机目标基准数据集,该数据集包含2800 张带有目标矩形框标注的图像,采集自飞机试飞现场真实视频。数据集被划分为训练集、验证集和测试集,分别包含1700 张、500 张和600 张带标注图像。如图3 所示,该数据集涵盖了多种天气条件、目标姿态和大小变化,包括晴天、阴天、雾霾等多种天气条件,实例尺寸覆盖9~1521px,其中小目标超过实例总数的70%,可以有效地评估目标检测算法的鲁棒性。

图3 空中目标检测基准数据集中多样化的图像Fig.3 Diverse images in aerial object detection dataset

本文试验软件环境为Ubuntu18.04,python3.8.13,pytorch1.11.0;GPU为NVIDIA GeForce 2080Ti;图片大小设置为1280×1280,迭代次数100次。在基准数据集上检测网络进行性能测试,试验中,遵循VisDrone2021数据集的使用规则,在VisDrone 2021 中的训练集上进行网络的训练,在VisDrone2021 中的验证集上进行评估。训练过程中,使用随机梯度下降法对网络参数进行优化,使用warm-up 来训练策略,warm-up epoch 设置为第三次迭代,初始学习率取0.01,优化器权重衰减为0.0005。

通过对比同样试验环境下改进前后的网络模型对不同类型图像的检测结果,可以评估漏检和误检情况。评估方法主要选取准确率—召回率(P-R)曲线、平均准确率(AP)和平均精度均值(mAP)三个指标。

(1) 准确率—召回率(P-R)曲线

P-R曲线是一个以准确率为纵轴、召回率为横轴的曲线图。其中,准确率P 是指在所有被分类为正样本中,真正为正样本的比例;而召回率R 是指在所有实际为正样本中,被分类为正样本的比例。对于不同阈值的分类器,绘制其P-R曲线可以帮助我们选择最优的阈值,以获得更好的检测效果。

(2) 平均准确率(AP)

AP是用于评估分类模型精度的指标之一,它是P-R曲线下面积的平均值。通过计算P-R曲线下的面积可以得到AP的值,AP值越高说明模型的检测效果越好。

(3) 平均精度均值(mAP)

mAP 是所有类别AP 的平均值,是评估整个模型性能的一个综合指标。它可以很好地反映模型在不同类别图像上的检测效果。本文所提出的模型与YOLOv7基准模型在VisDrone数据集上的检测结果(P-R曲线)如图4所示,使用P-R曲线来展示模型的性能,其中曲线下的面积AP值是反映模型综合性能的指标。试验结果表明,本文提出的模型在VisDrone数据集上表现出色,相较于YOLOv7基准模型,该模型的检测精度更高。

图4 YOLOv7模型与本文改进后的模型P-R曲线对比Fig.4 Comparison between the YOLOv7 model and the improved model P-R curve in this paper

为了进一步验证本文提出的模型在VisDrone数据集上的性能,本文对其他常用目标检测算法进行了试验,并将试验结果列于表1 中。根据测试结果,本文提出的模型在VisDrone 数据集上具有更高的检测精度,相比于其他常用目标检测算法表现更出色。

表1 本文模型与现有代表性算法在VisDrone数据集上的试验结果比较Table 1 Comparison of experimental results between the model in this paper and existing representative algorithms on the VisDrone dataset

此外,本文在自己建立的空中目标基准数据集上进行了试验,以验证本文模型在小目标和中等大小的目标检测方面的效果,并将试验结果列于表2 中。与通用的单步法检测器YOLOv3、YOLOv4等相比,在推理速度相当的情况下,本文提出的模型在中小目标检测方面具有更高的精度。与两步法检测器Cascade R-CNN 等相比,本文提出的模型在精度方面与其相当,但在推理速度上有很大优势。

表2 本文模型与现有代表性算法在基准数据集上的试验结果比较Table 2 Comparison of experimental results between the model in this paper and existing representative algorithms on benchmark datasets

4 结束语

本文针对空中小目标检测任务,对YOLOv7 基准模型进行了改进,中间层引入GFPN结构,使用Wasserstein散度替换原有的交并比损失,并建立了一个涵盖各种天气条件下多种姿态和不同大小飞机目标的基准数据集。在该基准数据集和公开数据集上对模型的性能进行测试,结果表明,本文提出的模型在公开数据集与自建数据集上都有着较好的表现,具有较快的检测速度和较高的检测精度,对于空中小目标具有良好的检测性能,为解决空中小目标检测任务的实际问题提供了有效的方法和思路。

猜你喜欢
集上基准精度
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
基于DSPIC33F微处理器的采集精度的提高
复扇形指标集上的分布混沌
明基准讲方法保看齐
GPS/GLONASS/BDS组合PPP精度分析
滑落还是攀爬
改进的Goldschmidt双精度浮点除法器
巧用基准变换实现装配检测
巧用磨耗提高机械加工精度