专治无'小目标失明' | SOD-YOLO创新ASF机制,小目标mAP飙升20.6%

大模型机器学习算法

点击下方名片,关注「集智书童」公众号


picture.image

精简阅读版本

本文主要解决了什么问题

无人机图像中的小目标检测问题 :无人机图像中的目标通常尺寸微小,容易被背景噪声干扰或在深层特征中被忽略,导致检测精度低。

YOLO系列模型在小目标检测中的固有局限性 :YOLOv8等单阶段检测器在处理小目标时存在精度不足、细节捕捉能力弱的问题。

后处理阶段误删真正例的问题 :传统NMS方法在密集目标场景中容易将重叠的小目标误判为冗余框而删除,影响召回率。

本文的核心创新是什么

引入ASF机制(自适应尺度融合) :集成到YOLOv8的Neck中,通过尺度序列(ScalSeq)模块和注意力机制,实现更精细的多尺度特征融合。

添加P2小目标检测层 :在网络早期(高分辨率特征层)引入额外检测Head,保留更多空间细节,提升小目标检测能力。

集成Soft-NMS进行后处理优化 :采用Soft-NMS替代传统NMS,通过置信度渐进衰减策略,减少真正例的丢失,提升密集场景下的召回率。

结果相较于以前的方法有哪些提升

检测精度显著提升 :在VisDrone2019-DET数据集上,mAP 50:95 提升了36.1%(从0.258提升至0.351),mAP 50 提升了20.6%(从0.436提升至0.526)。

优于当前主流YOLO系列模型 :相比YOLOv9-gelan-c和YOLOv10-1等先进模型,SOD-YOLO在mAP 50:95 和mAP 50 上均表现更优。

在密集与远距离小目标场景中表现更好 :SOD-YOLO能够更准确地检测远距离的小型目标(如车辆、行人),并正确分类相似尺寸的物体。

本文的局限性

计算复杂度有所增加 :引入ASF机制和P2检测层后,模型的FLOPs从78.7G增加至94.9G,影响了实时性能,可能限制其在资源受限平台(如嵌入式无人机)上的部署。

对轻量化支持不足 :虽然检测性能提升显著,但未针对模型轻量化进行专门优化,未来需进一步研究如何在保持性能的同时降低计算开销。

深入阅读版本

导读

小目标检测在目标检测领域仍然是一个具有挑战性的问题。为了应对这一挑战,作者提出了一种基于YOLOv8的增强模型SOD-YOLO。该模型在 Neck 集成了ASF机制以增强多尺度特征融合,添加了小目标检测层(命名为P2)以提供更高分辨率的特征图,从而更好地进行小目标检测,并采用Soft-NMS来优化置信度分数并保留真正例。实验结果表明,与 Baseline 模型相比,SOD-YOLO显著提升了检测性能,在VisDrone2019-DET数据集上mAP

提升了36.1%,mAP

提升了20.6%。这些改进使得SOD-YOLO成为无人机图像中小目标检测的实用且高效的解决方案。

源代码、超参数和模型权重: https://github.com/iamwangxiaobai/SOD-YOLO

1 引言

无人机(UAV),也称为无人机,已经革新了多个领域,包括野生动物监测、精准农业、搜救行动和基础设施检查[1]。这些应用通常需要检测小型物体,例如动物、害虫、失踪行人或结构缺陷。无人机从原本难以接近的观景点捕捉高分辨率图像的能力使其成为不可或缺的资产。无人机应用中的一个关键任务是目标检测。

无人机领域的目标检测,尤其是小目标检测,能够提升无人机的自主性和效能。它使无人机能够实时识别和追踪小目标,为多种关键任务提供支持。在众多目标检测方法中,两种主要策略已成为现代无人机系统的基石:单阶段目标检测和双阶段目标检测。

两阶段目标检测方法,以R-CNN(基于区域的卷积神经网络)及其变体[2, 5]为例,通过首先在输入图像中生成一组候选区域,然后对每个区域进行单独分类来运行。虽然这些方法有效,但它们可能计算密集,对资源受限的无人机平台上的实时应用构成挑战。相比之下,YOLO(你只看一次)[6, 13]等单阶段目标检测方法采用更精简的方法,通过单次遍历直接从整个图像中预测边界框和类别概率。这种效率使它们特别适用于无人机应用,其中实时处理和低延迟响应至关重要。

YOLO在单帧内检测多个物体的能力提升了其在需要全面态势感知的场景中的实用性。然而YOLO存在固有局限性。与某些两阶段方法相比,其精度较低,特别是在包含小物体或密集物体场景中,这可能是一个问题。此外YOLO的固定网格单元结构可能难以捕捉物体的细粒度细节,导致在某些情况下性能欠佳。再者YOLO对预定义 Anchor 框的依赖可能限制其在无人机操作中常见多样化环境和物体尺度上的适应性。

本文提出了一种增强型YOLOv8算法,称为SOD-YOLO(Small Object Detection YOLO),旨在提升无人机图像中的小目标检测性能。作者的改进针对小目标尺寸微小及背景复杂的挑战。实验结果表明,作者的SOD-YOLO在VisDrone2019-DET [14]数据集上提升了YOLOv8的性能,mAP50:95指标提高了36.1%,mAP50指标提高了20.6%。作者的主要贡献可总结如下:

2 相关工作

2.1 实时目标检测器

YOLO在目标检测方法中脱颖而出,因其开创性的单阶段、实时能力神经网路方法。与传统的双阶段检测器如R-CNN不同,YOLO在单次遍历中直接从整张图像预测边界框和类别概率。这种设计显著减少了计算时间,使其非常适合实时应用。YOLO经历了多次迭代,其中YOLOv5和YOLOv8是显著的进步,提高了速度和准确性。YOLO的效率使其成为多个领域中低延迟和高吞吐量关键场景的流行选择。

2.2 小目标检测相关研究

2.2.1 网络架构增强

在目标检测领域,网络架构的改进带来了显著进展。自YOLOv1问世以来,YOLO系列始终引领实时目标检测,这得益于 Backbone 网络和检测层持续不断的增强。传统的 Backbone 网络如Darknet被广泛使用,在计算效率与检测性能之间取得了平衡。近期的发展包括CSPNet [16] 和EfficientNet [17] 等先进 Backbone 网络,它们提供了更优的特征提取和网络效率。尽管取得了这些进展,但在准确检测小目标方面仍存在挑战,因为传统的 Backbone 网络和检测层往往无法捕捉到高精度所需的细粒度特征。此外,小目标容易被忽略或与背景噪声混淆,导致检测率降低和假阴性率升高。

在上述基础上,作者的工作在YOLOv8框架内引入了多项关键架构改进。作者提出了ASF网络作为新型 Neck 结构,该结构能够根据目标尺度与上下文动态调整空间滤波器。这种自适应调整增强了特征提取能力,捕捉到对小型目标检测至关重要的精细空间信息。此外,作者集成了一个专门的小型目标检测层,该层特别针对常规检测层可能忽略的细粒度特征进行设计。这些改进的综合效果显著提升了模型检测小型目标的敏感性和准确性,从而在具有挑战性的环境中实现了卓越性能。

2.2.2 后处理技术

后处理技术对于优化目标检测模型生成的结果至关重要。传统的非极大值抑制(NMS)技术虽然有效,但由于其硬抑制标准,常会丢弃真正的正例检测,这对小目标检测尤其成问题,因为重叠的边界框会导致大量信息损失。在密集场景中,小目标彼此靠近时,这一问题更为突出。此外,NMS的硬阈值方法可能导致精度-召回率平衡不佳,难以在多种目标尺寸和密度下实现高精度。近年来,如Soft-NMS等新进展被引入以解决这些问题。Soft-NMS逐步降低重叠边界框的置信度分数,而非直接消除它们,从而保持高召回率并提升精度。该方法在提升目标检测模型整体性能方面显示出良好前景,特别是在密集和杂乱的场景中。

在SOD-YOLO中,作者将Soft-NMS集成到YOLOv8框架中以提高小目标检测性能。Soft-NMS允许更细致地抑制重叠检测,从而降低丢弃真实正例的风险。通过引入这一技术,SOD-YOLO在小目标检测方面取得了更好的性能,确保了更准确和可靠的结果,特别是在密集物体场景中。这一改进显著增强了检测系统的鲁棒性和有效性,确保在实际应用中具有高精度和高召回率。

3 方法

3.1 ASF机制集成

标准YOLOv8架构采用顺序颈设计,通过卷积(Conv)、C2f(增强型残差块)和SPPF(空间金字塔池化融合)层逐步下采样并丰富特征图[19]。其 Head 连接多尺度特征(P3、P4、P5),并通过检测层进行处理以进行目标预测。

在作者的无人机视角小目标检测工作中,作者创新性地将自适应尺度融合(Adaptive Scale Fusion,ASF)机制——最初是为细胞实例分割开发的[15]——集成到YOLOv8框架中,如图1所示。作者的改进主要集中在新型尺度序列(Scale Sequence,ScalSeq)特征融合模块和基于ASF注意力的细化块上。

picture.image

尺度序列(ScalSeq)特征融合:与YOLOv8中采用的简单拼接策略不同,作者的 Neck 在特征聚合过程的关键阶段集成了两个Scale Sequence(ScalSeq)模块实例。每个ScalSeq单元接收来自不同尺度的三个输入特征图,具体为YOLOv8架构中定义的P3、P4和P5。初始阶段,每个特征图通过

卷积统一其通道维度。随后,P4和P5特征图通过最近邻插值进行上采样,以匹配P3的空间分辨率。

在空间对齐后,三个特征图沿新引入的"尺度"维度被视为一个序列。接着沿该维度应用一个 Kernel 大小为

的3D卷积,使模型能够学习跨尺度语义融合和上下文表示。该操作后沿尺度维度进行批量归一化,并使用LeakyReLU激活函数。最后,采用 Kernel 大小为

的3D最大池化来压缩尺度维度,得到标准的2D特征图。ScalSeq模块的输出取代了YOLOv8 Neck 通常使用的传统拼接机制,实现了更富有表现力和结构化的多尺度信息融合。

基于注意力机制的细化:在每个ScalSeq模块之后,作者引入一个轻量级注意力模块,命名为注意力模型,以进一步细化融合特征。该模块实现了自适应尺度融合(ASF)注意力机制。它接收两个特征图作为输入,并依次对第一个输入特征图应用通道注意力模块。该通道注意力模块的结果随后被加到第二个输入特征图上。最后,对求和后的特征图应用局部注意力模块。这种通道和局部注意力的顺序应用使网络能够选择性地强调信息丰富的特征并抑制无人机图像中常见的噪声。所得的ASF增强特征随后用于 Neck 后续层或作为 Shortcut 的一部分,在最终预测阶段之前提升上采样特征的质量。

这些对 Neck 结构的改进使得SOD-YOLO能够比YOLOv8更复杂地融合多尺度特征,从而在保持适合实时无人机应用的计算效率的同时,更好地保留检测小物体所需的详细信息。

3.2 小目标检测层

为提升无人机图像中小目标检测的准确性,作者在网络的P2层引入了一个额外的检测Head,如图1所示。与P3、P4和P5层的标准检测Head不同,这些检测Head对应更深层次且更抽象的特征表示,空间分辨率较低,而P2层则处理来自 Backbone 网络早期阶段的高分辨率特征图。这些浅层特征保留了更多细粒度的空间信息,如目标边界、纹理和边缘,这些信息对于检测空中场景中的小规模目标至关重要[21][22]。

引入P2检测层的理由在于小目标的固有特性:它们在无人机高空图像中通常只占据很少的像素,并且在深层中容易因下采样而被淹没或稀释[23]。虽然P3已经提供了中等分辨率,但由于步长卷积,它仍可能丢失关键的局部细节。相比之下,P2保留了更精细的空间粒度,并捕捉到更适合识别小目标,尤其是在复杂背景和遮挡情况下的低层视觉特征。

为了有效利用这些高分辨率特征,作者首先从 Backbone 网络中上采样选定的特征图,并将其与浅层输出连接起来,形成一个结合了空间细节和上下文深度的丰富特征集。该复合特征通过一个C2f模块进行精炼——这是一个增强型残差块,旨在在保留关键边缘和形状信息的同时实现有效的特征融合[16]。

随后,处理后的P2特征图被传递到一个尺度序列(ScalSeq)模块,该模块聚合多尺度信息并强调小目标表示。最后,丰富后的P2输出与现有的P3-P5检测Head集成,形成一个多分辨率检测Head集合。这种设计确保了对目标尺度的全面覆盖,特别是提高了模型对小目标和密集分布目标的检测敏感性和精度。

总体而言,P2检测层的添加为模型提供了早期空间特征,增强了其在无人机视觉应用中常见的细小目标检测任务中的鲁棒性。它弥合了高分辨率局部特征与深层语义理解之间的差距,显著提升了在杂乱且尺度变化的空域环境中的检测精度。

3.3 软NMS集成

非极大值抑制(NMS)是目标检测模型中一种关键的后处理技术,旨在移除冗余的相互重叠的边界框。传统的NMS算法在当前检测框与得分最高的框之间的IoU(IoU)超过某一阈值时,将该检测框的得分降为0[25]。这种方法可能导致存在显著重叠的物体框被遗漏,从而降低小物体的召回率。

为解决可能丢弃包含目标的检测帧的问题,本研究采用soft-NMS[18]算法。与传统NMS不同,soft-NMS通过应用加权函数调整当前检测帧的得分,降低与得分最高的帧重叠的邻近帧的得分。与最高得分帧的重叠程度越高,得分衰减越快。这种方法防止了包含目标的帧被移除,并避免了两个相似帧同时检测同一目标的情况。本研究使用的soft-NMS算法考虑了检测帧之间的重叠,相较于传统NMS算法,降低了假阴性的可能性,从而提高了小目标检测的准确性和可靠性。

传统NMS算法的处理过程可以通过公式(1)中的分数重置函数进行可视化表达。

软NMS算法可以用一个分数重置函数来直观表示,如公式(2)所示。

在公式(1)和(2)中,

表示第

个检测帧的得分;

表示在感兴趣区域内置信度最高的检测帧;

表示第

个检测框;IoU表示第

个检测帧与

的重叠度;

表示校准的重叠阈值。

4 实验

4.1 实验设置概述

为验证作者提出的SOD-YOLO模型在无人机图像中小目标检测方面的有效性和鲁棒性,作者在多种场景下进行了广泛的实验。作者的实验设置旨在实现以下目标:

评估目标:评估SOD-YOLO在复杂空中场景中检测小尺寸密集物体方面的性能,并验证其相较于基准YOLOv8-m模型的改进效果。

评估指标:作者主要报告在IoU阈值为0.5(mAP@0.5)和0.5:0.95(mAP@0.5:0.95)下的平均精度均值(mAP),以及根据相应数据集定义的小目标检测指标。

对比 Baseline :作者将SOD-YOLO与 Baseline YOLOv8-m进行比较,并在适用情况下与其他当前最佳方法进行比较。为确保公平性,所有模型均在相同设置下进行训练和评估。

4.2 数据集

VisDrone2019-DET。作者在广泛使用的VisDrone2019-DET数据集[14]上评估了SOD-YOLO,该数据集是一个全面的无人机目标检测基准。该数据集包含来自288段无人机视频剪辑的10,209张静态图像和261,908个视频帧,拍摄于中国多个城市。它涵盖了多样化的场景(城市和乡村)、目标尺度和密度。静态图像集分为6,471张训练图像、548张验证图像和1,610张测试图像。

VisDrone定义了10个目标类别:行人、人群、自行车、汽车、面包车、卡车、三轮车、遮阳篷三轮车、公共汽车和摩托车。值得注意的是,超过75%的标注目标占据的图像面积小于0.1%,突显了小尺寸和微小尺寸目标的支配地位。目标分布也显示出强烈的中心偏置,这为采用以中心为重点的增强方法提供了依据。

4.3 实现细节

训练环境。所有实验均在配备单个NVIDIA RTX 4090 GPU的工作站上进行。模型 Backbone 网络为CSPDarknet53。训练采用随机梯度下降(SGD)优化器,结合余弦学习率调度和预热策略。

有关更多超参数设置和实现细节,请参考作者的GitHub仓库:https://github.com/iamwangxiaobai/SOD-YOLO。

4.4 评估标准

评估目标检测算法性能的常用标准包括IoU(IoU)、精确率、召回率和平均精度均值(mAP)。详细定义如下:

    1. IoU(IoU):IoU的计算方法是通过将预测区域(A)与实际真实值(B)之间的重叠面积除以两者的总面积来得到。公式可以表示为:

IoU的值范围在0到1之间。较大的IoU表示预测结果更加精确。分子值(交集)较低表明预测未能准确重叠真实值,而分母值(并集)较大则意味着预测区域更广,从而导致IoU值较低。

    1. 精确率:精确率表示在所有预测为正样本的样本中,正确预测为正样本的比例。其定义为:

    1. 召回率:召回率表示实际正样本中被正确预测的比例,计算公式如下:

Extra close brace or missing open brace

    1. mAP(平均精度均值):平均精度(AP)是衡量在不同召回阈值下精确度(Precision)曲线的指标。mAP是所有目标类别的平均AP值。具体而言,mAP

指的是IoU为0.5时的mAP值,而mAP

表示IoU阈值从0.5到0.95范围内的平均mAP值。

4.5 结果与比较

作者选择YOLOv8-m作为 Baseline 模型,并在VisDrone2019-DET数据集上将其与几种当前最先进的目标检测器进行比较,该数据集主要包含小物体。VisDrone2019-DET-val上的结果如表1所示。通过比较YOLOv8-m和改进的SOD-YOLO算法的实验结果,可以明显看出作者的算法在检测小目标方面显著优于YOLOv8-m。SOD-YOLO实现了0.351的mAP50:95,比YOLOv8-m的0.258提高了0.093。类似地,SOD-YOLO的mAP50达到了0.526,比YOLOv8-m的0.436提高了0.09。这表明SOD-YOLO增强了小物体的检测能力,尤其是在较高的IoU阈值下,显示出比 Baseline 更好的精度和召回率。

picture.image

此外,与其他模型(如YOLOv9-gelan-c和YOLOv10-1)相比,SOD-YOLO仍然具有竞争力。尽管YOLOv9的参数数量相似,SOD-YOLO在mAP50:95(0.351 vs. 0.305)和mAP50(0.526 vs. 0.489)方面均优于YOLOv9-gelan-c。这突出了SOD-YOLO在平衡检测精度和计算成本方面的效率。此外,SOD-YOLO保持了相对较低的参数数量(22.6M)和有竞争力的FLOPs(94.9G),比YOLOv7-m(36.9M参数,103.5G FLOPs)和Edge-YOLO等模型提供了更高效的解决方案。因此,SOD-YOLO在计算需求适中的情况下,为小目标检测提供了改进的性能。

此外,SOD-YOLO能够以更高的置信度检测更远距离的车辆和摩托车,特别是在街道的中远端区域,而YOLOv8-m要么忽略这些目标,要么分配低置信度的边界框。SOD-YOLO在边界框定位和类别精度方面的增强表现在其正确区分卡车、面包车和轿车,而YOLOv8-m在相似尺寸的车辆类别之间偶尔会出现混淆。

这些视觉对比证实,SOD-YOLO-中提出的改进,例如引入ASF模块、P2检测层和Soft-NMS,有助于在包含密集、小型和遮挡目标检测的挑战性无人机场景中实现更优越的性能。

4.6 消融实验

作者进行了一项消融研究,以评估作者提出的SOD-YOLO模型中每个组件的贡献,结果如表2所示。在表中,红色高亮值表示性能提升,绿色高亮值表示性能下降。 Baseline 模型YOLOv8-m实现了mAP₅₀:₉₅为0.258,mAP₅₀为0.436,计算复杂度为78.7 GFLOPs。通过在模型的 Neck 引入注意力融合策略(ASF),作者观察到mAP₅₀:₉₅提升至0.265 (+0.007),mAP₅₀提升至0.440 (+0.004),但该修改使FLOPs增加到82.7G。随后添加的P2层,该层使用高分辨率特征图提供专门的小目标检测Head,进一步将mAP₅₀:₉₅提升至0.294 (+0.036),mAP₅₀提升至0.476 (+0.040),尽管FLOPs增加到94.9G。最后,集成Soft-NMS(通过优化置信度分数以更好地保留真阳性)显著提升了性能,实现了mAP₅₀:₉₅为0.352 (+0.094)和mAP₅₀为0.526 (+0.090),且计算复杂度没有进一步增加,维持FLOPs在94.9G。这些结果表明每个组件都对模型的整体改进做出了贡献,ASF、P2和Soft-NMS的综合效果显著提升了性能。

picture.image

5 结论

在本文中,作者提出了SOD-YOLO,一种针对无人机图像中小目标检测而优化的YOLOv8算法增强版。作者的改进包括集成ASF机制、引入专用P2检测层以及实现Soft-NMS,显著提升了检测性能。ASF机制通过聚焦关键区域增强空间特征提取,使模型能更好地检测小而密集的目标。P2检测层的添加在较低特征尺度上捕获更精细的细节,提高了小目标检测效果,而Soft-NMS通过柔和地惩罚重叠框而非丢弃它们来减少误报。在VisDrone2019-DET数据集上的实验表明,与基准YOLOv8相比,SOD-YOLO在mAP50:95上提升了3.6.1%,在mAP50上提升了20.6%,展示了其在复杂无人机场景中小目标处理方面的有效性。

尽管取得了显著改进,作者的工作仍存在一些局限性。首先,尽管ASF机制和P2检测层有效提升了小目标检测精度,模型的计算复杂度增加影响了其实时性能。这一局限性可能会限制模型的部署,特别是在计算资源有限的场景中。因此,未来的工作可以聚焦于通过轻量化设计优化模型的计算效率,以确保实时应用中的性能。

参考

[1]. SOD-YOLO: Enhancing YOLO-Based Detection of Small Objects in UAV Imagery

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论