分享自:

一种改进的YOLOv5无人机小目标实时检测方法

期刊:soft computingDOI:10.1007/s00500-021-06407-8

学术研究报告:面向无人机捕获场景的小目标实时检测改进方法研究

一、 研究团队与发表信息

本项研究由长江大学计算机科学学院的Wei ZhanChenfan SunYangyang ZhangZhiliang ZhangYong Sun以及中国地质大学(武汉)计算机学院的Maocai WangJinhui She合作完成。研究成果以题为“An improved YOLOv5 real-time detection method for small objects captured by UAV”的学术论文形式,发表于Soft Computing期刊2022年第26卷。论文于2021年10月5日被接受,并于2021年11月2日在线发表。

二、 研究背景与目标

本研究属于计算机视觉领域,具体聚焦于目标检测(Object Detection) 任务,并特别关注无人机(Unmanned Aerial Vehicle, UAV) 航拍场景下的小目标检测(Small Object Detection) 挑战。

研究背景: 目标检测技术在智能监控、身份识别、医学成像等领域至关重要。传统算法主要针对近距离水平视角拍摄的图像进行优化。然而,无人机航拍具有视野广阔、能规避水平方向遮挡等优势,极大地拓展了目标检测的应用场景(如交通、农业、公共安全等)。然而,现有先进的目标检测算法(如YOLOv5、CenterNet等)在应用于无人机捕获的图像时,性能会显著下降。研究团队通过分析发现,其核心原因在于无人机图像分辨率高、视场大,导致图像中待检测目标所占像素比例极小。以VisDrone-2020数据集为例,其中小目标(面积小于图像总面积0.3%)占比高达87.77%,而大目标(面积大于3%)仅占0.26%。现有模型(如YOLOv5s在COCO数据集上)对小目标的平均精度(Average Precision for Small objects, APs)远低于对大目标的平均精度(Average Precision for Large objects, APL),存在严重的性能退化问题。此外,直接使用更大、更复杂的模型(如YOLOv5x)虽能略微提升精度,但会带来模型参数量剧增、推理速度大幅下降的问题,难以满足无人机平台对实时性、轻量化和易部署的实际需求。

研究目标: 基于以上背景,本研究旨在解决无人机平台目标检测算法的核心矛盾:如何在显著提升小目标检测精度的同时,尽可能保持较高的检测速度(即实现实时检测)。为此,研究团队提出了两个指导性思路:1)增强算法对小目标的检测精度;2)采用轻量化设计思想,提高检测效率。具体目标是,在YOLOv5s模型的基础上进行改进,使其在VisDrone-2020数据集上的性能(以mAP50为主要指标)得到大幅提升,同时保持较高的帧率(Frames Per Second, FPS)。

三、 研究方法与详细流程

本研究以YOLOv5s模型为基线,系统地提出了四项改进方法,并通过消融实验逐一验证其有效性。整个研究流程包括数据集准备、模型改进、实验训练与评估分析。

1. 研究对象与数据集: 本研究使用VisDrone-2020数据集作为核心实验对象。该数据集是专业的无人机航拍数据集,包含8899张图像(训练集6471张,验证集548张,测试集1610张),共计超过38万个标注框。数据集中包含行人、汽车、巴士等11个类别,其特点是目标尺寸小、分布密集。统计分析显示,该数据集中87.77%的目标为小目标,这与通用数据集(如MS-COCO)的分布截然不同,使其成为研究小目标检测问题的理想测试平台。

2. 改进方法流程: 研究团队对YOLOv5s模型进行了四项关键改进:

  • a) 锚框重设计(Anchor Redesign):

    • 问题: YOLOv5默认的锚框尺寸是基于COCO数据集聚类得到的,其尺寸分布与以小目标为主的VisDrone数据集不匹配,导致锚框与真实目标框(Ground Truth Box)的匹配概率低,影响训练效果。
    • 方法: 采用K-means++聚类算法,直接在VisDrone-2020数据集的标注框上进行重新聚类,生成一组新的、更适合该数据集目标尺寸分布的锚框尺寸。距离度量使用1 - IoU(Box, Centroid),以确保聚类中心能更好地代表目标框的形状和大小。新的锚框尺寸覆盖了从P2到P5四个特征层的不同尺度(见表4),特别是为更高分辨率的P2特征层设计了更小的锚框。
  • b) 引入注意力模块(SE Module):

    • 问题: 神经网络类似于人类视觉,容易关注显著特征而忽略小目标。小目标的特征在卷积和下采样过程中容易丢失。
    • 方法: 在YOLOv5s的主干网络(Backbone)CSPDarknet53中嵌入了挤压与激励(Squeeze-and-Excitation, SE) 注意力模块。该模块是一个轻量化的“即插即用”组件,通过学习通道间的相关性,为特征图的每个通道分配一个权重,从而让网络更加关注信息量丰富的通道特征,抑制不重要的通道。具体实现上,将SE层添加在主干网络的第4、6、8层之后(以Focus层为第0层)。实验比较了将SE模块放在基础块之后(SE-after)和之中(SE-middle)两种方案,最终选择了效果略好的SE-after方案。
  • c) 损失函数替换(CIoU Loss):

    • 问题: YOLOv5原版使用广义交并比(Generalized Intersection over Union, GIoU) 作为边界框回归损失函数。GIoU虽然解决了预测框与真实框不相交时梯度无法更新的问题,但当两个框完全包含时,其会退化为IoU,无法区分预测框在真实框内部不同位置(如中心对齐或偏离中心)以及不同长宽比的情况。
    • 方法: 将边界框回归损失函数替换为完全交并比(Complete Intersection over Union, CIoU)损失函数。CIoU在IoU的基础上,额外引入了两个惩罚项:1)预测框与真实框中心点之间的距离;2)预测框与真实框长宽比的差异。其公式为:CIoU = IoU - ρ²(b, b_gt)/c² - αv,其中ρ²为中心点距离的平方,c²为最小包围框对角线长度的平方,v用于衡量长宽比的一致性,α是权衡参数。CIoU能更精确地评估预测框与真实框的匹配度,在两者完全重叠时也能继续优化,从而提升回归精度。
  • d) 特征层级扩展(P2 Feature Level):

    • 问题: YOLOv5原网络仅使用{P3, P4, P5}三个特征层进行检测。这些特征层分辨率较低(经过8倍、16倍、32倍下采样),缺乏低层级的细节特征信息,导致对小目标的表征能力弱。
    • 方法: 采用了低层特征图复用策略,在原有的三个检测头基础上,增加了一个对应更高分辨率(4倍下采样,160x160像素)的P2特征层。这样,检测头扩展为{P2, P3, P4, P5}四个层级。P2特征层保留了更丰富的空间细节和细粒度特征,有助于网络学习小目标的特征。同时,通过自底向上的路径增强(Bottom-up Path Augmentation) 结构(见图12c),缩短了P2特征图的特征融合路径,更好地保留了低层特征信号。

3. 实验设计与数据分析流程: * 实验环境: 使用Intel i9-9900K CPU和NVIDIA GeForce RTX 2080Ti GPU,在Ubuntu 16.04系统上进行训练和测试。 * 训练设置: 初始学习率设为0.001,批量大小(Batch Size)为16,训练轮次(Epochs)为300。 * 评估指标: 采用五个关键指标评估模型:模型大小(Model Size)、推理速度(Inference Speed)、精确率(Precision)、召回率(Recall)和平均精度(mean Average Precision at IoU=0.5, mAP50)。 * 消融实验(Ablation Study): 为了验证每项改进方法的有效性,研究团队设计了系统的消融实验。共构建了5个改进模型(M1-M5)与原始YOLOv5s模型进行对比: * M1: 仅使用新锚框。 * M2: M1 + SE模块。 * M3: M1 + CIoU损失。 * M4: M1 + P2特征层。 * M5: 集成所有四项改进(新锚框 + SE模块 + CIoU损失 + P2特征层)。 通过对比这些模型在相同数据集上的性能指标,可以清晰分析每项改进的单独贡献和组合效果。

四、 主要研究结果

消融实验的结果(见表5和图13、14)清晰地展示了各项改进方法的效果:

  1. 锚框重设计(M1): 与原始YOLOv5s相比,仅重设计锚框就将mAP50从12.70%提升至13.97%。此方法不增加任何计算开销,推理速度保持不变(0.015s),表明根据数据集特性定制锚框是简单有效的提升手段。
  2. 引入SE模块(M2): 在M1基础上加入SE模块后,mAP50仅微增0.06%至14.03%,模型大小增加了0.11MB,推理速度下降了3%。这表明SE模块带来的精度增益有限,且会引入轻微的计算成本。
  3. 使用CIoU损失(M3): 在M1基础上将GIoU替换为CIoU,mAP50提升至15.45%,涨幅明显(+1.48%)。此方法不影响模型大小和推理速度,是一种高效的低成本改进方案。
  4. 增加P2特征层(M4): 这是效果最显著的单项改进。在M1基础上增加P2特征层后,mAP50大幅跃升至37.41%,相比M1提升了近24个百分点。召回率(Recall)从27.11%大幅提升至51.06%,说明模型检测小目标的能力(找出所有正样本的能力)得到了质的飞跃。代价是模型大小从14.81MB增至16.16MB,推理时间从0.015s增至0.018s,推理速度从约66 FPS下降至55 FPS,但仍保持在高实时性范畴。
  5. 集成所有改进(M5): 最终集成了全部四项改进的M5模型,取得了最佳性能:mAP50达到37.66%,精确率(Precision)为30.82%,召回率(Recall)为51.29%。与原始YOLOv5s模型(mAP50: 12.70%)相比,精度提升了196%。模型大小为16.25MB,推理速度为0.018s(约55 FPS)。

结果分析与逻辑关系: * 实验数据有力地证明了研究团队最初的观点:提升无人机场景目标检测性能的关键在于增强小目标检测能力。P2特征层的引入带来了最巨大的性能提升,这直接印证了低分辨率特征层难以有效捕捉小目标特征,而利用高分辨率、富含细节的低层特征至关重要。 * 各项改进之间存在互补关系。锚框重设计为模型提供了更好的初始匹配;CIoU损失函数提供了更精确的边界框回归指导;SE注意力机制帮助网络聚焦重要特征;P2特征层提供了更丰富的空间信息。它们的组合(M5)实现了性能的最终优化。 * 图15的可视化结果直观展示了改进效果:原始YOLOv5s模型在远处和小物体上存在大量漏检和误检;M1、M2、M3模型改进有限;而M4和M5模型能够检测出更多被遮挡的车辆、远处的行人等小目标,检测效果显著改善。

五、 研究结论与价值

结论: 本研究成功提出并验证了基于YOLOv5s的四种改进方法,有效解决了无人机航拍图像中小目标检测精度低的问题。最终得到的集成模型在VisDrone-2020数据集上将mAP50从12.7%大幅提升至37.66%,同时保持了55 FPS的高检测速度,在精度和速度之间取得了优异的平衡。

价值: * 科学价值: 研究系统地探索并验证了针对小目标检测的多种技术路径(数据适配的锚框、注意力机制、改进的损失函数、多尺度特征融合),为小目标检测领域提供了有价值的经验和方法论参考。特别是明确了在无人机场景下,扩展高分辨率低层特征图(如P2)是提升小目标检测性能最有效的单一手段。 * 应用价值: 所提出的改进模型具有模型尺寸小、检测速度快、精度高的特点,非常符合无人机等边缘计算设备对算法轻量化和实时性的严格要求,有力推动了目标检测算法在无人机平台上的实际应用进程,在交通监控、农业巡查、公共安全、电力巡检等领域具有广阔的应用前景。

六、 研究亮点

  1. 问题导向明确,切入点精准: 研究直指无人机目标检测性能下降的核心症结——小目标占比极高,并围绕此问题展开系统性改进。
  2. 系统性的消融实验: 通过严谨的消融实验,清晰量化了每一项改进措施对最终性能的贡献,论证过程科学、有说服力。
  3. 显著的性能提升: 在基本不牺牲实时性的前提下,将基线模型的检测精度提升了近两倍(196%),成效非常突出。
  4. 工程实用性强: 所有改进均基于广泛使用的YOLOv5框架,易于复现和集成。改进方法兼顾了精度与速度,具有很高的实际部署价值。
  5. 深入的效果分析: 不仅提供了数值指标,还通过可视化对比(图15)直观展示了改进前后检测效果的巨大差异,增强了结果的可信度。

七、 其他有价值的内容

研究团队在与其他先进模型的对比(见表6)中指出,虽然他们最终模型的绝对精度(AP 20.60%)略低于当时VisDrone-2020榜单上的一些集成或复杂模型(如DPNet-Ensemble, AP 29.62%),但他们的模型在检测速度上具有压倒性优势(55 FPS vs. DPNet-Ensemble的6 FPS),实现了近9倍的加速。这凸显了本研究在实时性方面的巨大优势,更符合无人机平台对快速响应的实际需求。

此外,论文也坦诚地指出了本研究的局限性:1)实验主要针对小目标,未评估改进对大目标检测的影响;2)仅在COCO和VisDrone数据集上验证,需要在更多无人机数据集上进行测试;3)实验基于高性能GPU(RTX 2080Ti),在TX2、Nano等嵌入式设备上的实时性有待进一步验证。这些为后续研究指明了方向。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com