基于YOLOv5的无人机航拍小目标检测模型

石祥滨 ,  赵芮同

沈阳航空航天大学学报 ›› 2024, Vol. 41 ›› Issue (2) : 37 -46.

PDF (1615KB)
沈阳航空航天大学学报 ›› 2024, Vol. 41 ›› Issue (2) : 37 -46. DOI: 10.3969/j.issn.2095-1248.2024.02.005
信息科学与工程

基于YOLOv5的无人机航拍小目标检测模型

作者信息 +

A small target detection model for UAV aerial photography based on YOLOv5

Author information +
文章历史 +
PDF (1652K)

摘要

针对无人机小目标检测中漏检率高、检测成功率低等问题,提出一种基于YOLOv5的小目标检测算法。首先,分别在backbone结构和neck结构中,融合swin transformer模块,在减少计算成本的基础上,提高目标检测的准确率,以适应无人机航拍小目标检测;其次,引入卷积注意力模块(convolutional block attention module,CBAM),以增强网络对小目标特征的关注度;最后,将原始损失函数CIoU替换为SIoU损失函数,强调高质量样本权重加速收敛,提高回归精度。实验结果表明,经过模型优化,在Visdrone2019数据集上的检测精度为35.3%,与YOLOv5相比,提升了5.2%;相较于其他经典及先进算法,SWCBSI-YOLO算法表现良好,满足针对无人机航拍小目标的检测要求。

关键词

无人机航拍图像 / 小目标检测 / YOLOv5 / transformer / 注意力机制 / 损失函数

Key words

UAV aerial photography / small target detection / YOLOv5 / transformer / attention mechanism / loss function

引用本文

引用格式 ▾
石祥滨,赵芮同. 基于YOLOv5的无人机航拍小目标检测模型[J]. 沈阳航空航天大学学报, 2024, 41(2): 37-46 DOI:10.3969/j.issn.2095-1248.2024.02.005

登录浏览全文

4963

注册一个新账户 忘记密码

作为图像处理与计算机视觉领域的关键问题,目标检测备受重视。随着无人机、卫星遥感、航空航天等技术的发展,航拍图像目标检测已成为研究热点。无人机航拍图像是航拍图像的重要分支,是以无人机作为图像传感器空中搭载平台所拍摄的图像。无人机具有操控简单、飞行灵活、成本低等优点。目前,无人机航拍图像目标检测已广泛应用于城市规划、交通监测、生态保护、军事安防等领域,且适用场景不断拓展1。然而,区别于普通图像,航拍图像具有背景信息复杂、目标尺度小、目标具有显著的方向性且分布稀疏不均等特点2,这使得航拍图像的目标检测,尤其是小目标检测充满挑战。近些年,无人机在军事领域和民用市场都处于快速发展时期,无人机航拍检测技术广泛应用于电路巡检、防火巡查、交通监管、农作物监察等民用领域及缉毒侦查、应急救援等军事领域。随着卷积神经网络的创新发展,基于深度学习的目标检测算法因其优异的检测性能,被广泛推行使用。
基于深度学习的目标检测算法主要分为单阶段检测和双阶段检测两种。以RetinaNet3、YOLO系列等为代表的单阶段目标检测算法是基于锚框来预测目标的类别和定位,只需一次特征提取即可实现目标检测。双阶段目标检测算法以SPPNet4、R-CNN5为代表,首先通过区域提议网络生成候选区域,然后对候选区域进行分类和定位预测。双阶段目标检测算法的平均精度高、误检率和漏检率低,但由于其复杂的网络架构及对候选框提取等操作,导致网络计算量庞大、检测速度慢,难以满足实时检测的需求。而单阶段目标检测算法的模型结构简单、检测速度快、复杂度低,在实时性方面展现出更优异的检测性能。近年,为了提高小目标检测算法的性能,研究者提出许多方法。王龙博等6将坐标注意力(coordinate attention,CA)机制分别融合到YOLOv5的backbone、neck、head 3个位置,有效增强模型的检测性能;赵倩等7引入SENet通道注意力机制构建对遥感小目标检测效果较好的检测模型。上述研究虽然在无人机航拍小目标检测上取得了一定的进步,但是由于专注于精度的提高,在检测密集小目标的应用场景,如演唱会等有所欠缺。
为了从航拍图像中小目标的有限特征中获取关键有效的特征信息,提高模型对小目标检测的精度,本文提出一种基于YOLOv5的引入注意力机制的无人机航拍图像小目标检测算法,主要贡献归纳如下:
为了从航拍图像上小目标的有限特征中 获取关键有效的特征信息,提高模型对小目标 检测的精度,本文提出一种基于YOLOv5的无人机航拍图像小目标检测模型,该方法融合了swin transformer模块、CBAM模块和SIoU边框损失,通过在YOLOv5基础网络的backbone和neck结构中融合swin transformer模块,引入了滑动窗口注意力机制以提高目标检测的准确率,并在Neck结构中引入CBAM模块以增强网络对小目标特征的关注,同时采用SIoU优化损失函数的方式提升置信度并增强模型对小目标和数据噪声的鲁棒性。

1 相关工作

1.1 无人机小目标检测

主流的目标检测模型大多是面向自然场景图像设计的,而自然场景图像与无人机航拍图像存在明显差异: (1)无人机飞行高度高、拍摄角度高导致航拍图像中存在大量小目标且目标之间尺寸跨度大,可提取到的有效特征过少。 (2)航拍图像中背景复杂多变、密集小目标相互遮挡且易受环境干扰,导致检测效果不佳。 (3)无人机运动速度变化较大,拍摄的图像模糊,模型的检测精度低。

(4)无人机搭载的硬件设备计算能力有限、存在一定成本开销,对模型的检测速度和轻量化有较高要求。Kisantal等8通过复制粘贴小目标的操作来提高数据集中小目标的占比,从而提高小目标对网络的贡献。但这个操作仅增加小目标物体在数据集中的样本数量,并不能保证训练时正负样本数量平衡,而且没有对小目标的特征信息加以利用。Lin等9提出经典的特征金字塔网络(feature pyramid network,FPN);Liu等10提出路径聚合网络(path aggregation network,PAN),通过采用自上而下和自下而上的连接方式将不同层级的特征信息相融合,这种多尺度学习方法在一定程度上提高了网络的多尺度特征提取能力。但是仅通过简单的元素相加融合不同层级的特征图,忽略了不同层级的特征图拥有不同细粒度和价值的事实:浅层特征图的细粒度信息更有助于获取小目标的位置信息,而深层特征图的细粒度特征对语义信息的提取尤为重要。直接相加或者拼接操作还会导致冗余信息和冲突的产生,增加了网络参数量,减慢了训练速度。Yang等11首先在低分辨率特征图上粗略地预测小目标的位置,然后用这些粗略的位置信息引导高分辨率特征图,更精确地计算出小目标位置。这样既可以得到更精确的预测回归,又可以对背景目标进行更少的计算。综上所述,虽然现有的小目标检测算法在一定程度上提高了检测性能,但仍存在一些不足:(1)前景和背景样本不平衡;(2)不同场景下目标特征捕获量不足;(3)为了提高精度而增加计算量和参数量,导致推理速度变慢,无法满足无人机实际部署应用;(4)模型的迁移能力弱,泛化性降低,适用性有限。

1.2 注意力机制

深度学习中的注意力机制(attention mechanism,AM)是一种模仿人类视觉和认知系统的方法,允许神经网络在处理输入数据时对相关的部分集中注意力。通过引入注意力机制,神经网络能够自动学习并选择性地关注输入中的重要信息,提高模型的性能和泛化能力。注意力机制和人类的选择性注意力机制类似,核心目标也是从众多信息中选出对当前任务目标更关键的信息。深度学习中,注意力机制通常应用于序列数据(如文本、语音或图像序列)的处理。其中,最典型的注意力机制包括自注意力机制、空间注意力机制和时间注意力机制。这些注意力机制允许模型对输入序列的不同位置分配不同的权重,以便在处理每个序列元素时专注于最相关的部分。自注意力机制的基本思想是,在处理序列数据时,每个元素都可以与序列中的其他元素建立关联,而不仅仅是依赖于相邻位置的元素。自注意力机制减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性。多头注意力机制是在自注意力机制的基础上发展而来,是自注意力机制的变体,旨在增强模型的表达能力和泛化能力。它通过使用多个独立的注意力头,分别计算注意力权重,并将结果进行拼接或加权求和,从而获得更丰富的表征。通道注意力关注的是图像的通道维度,即不同通道之间的关系,因此常常被用在卷积神经网络中。

1.3 视觉transformer框架

基于transformer的目标检测相关工作大致可以分为:首先是基于自注意力(self-attention)的骨干架构,主要思路是使用自注意力层来替换流行的ResNet中的部分或全部空间卷积层;其次是使用自注意力层或transformer来增强标准的CNN架构,自注意力层可以通过提供编码远程依赖或异构交互的能力来补充主干网络或检测头。

DETR模型是第一个成功将transformer应用到目标检测领域的作品,如图1所示。作为transformer用在目标检测领域的开山之作,DETR的思路和传统目标检测的本质思路有相似之处,但表现方式不同。传统的方法(比如Anchor-based方法)本质上是对预定义的密集anchors进行类别的分类和边框的回归。DETR则是将目标检测视为一个集合预测问题。由于transformer本质上有序列转换的作用,因此,可以将DETR视为一个从图像序列到集合序列的转换过程。该集合实际上就是一个可学习的位置编码。

DETR将特征提取网络的输出特征图展开成一维后变成了序列长度,而批次和通道的定义不变。故而DETR可以计算特征图中的每一个像素相对于其他所有像素的相关性,这一点在CNN中是依靠感受野来实现的,可以看出transformer能够捕获到比CNN更大的感受野。根据Encoder编码的特征,Decoder将100个查询转化成100个目标,类似于CNN中的锚框。相比之下,基于CNN的方法要预测的锚框数目动辄上万,计算代价很大。

最近的研究表明,将transformer与CNN结合仍然是最具有性价比的方案,利用transformer增强CNN的特征提取能力是当前的流行方案。另外当前CNN的工程经验、模型部署都有了良好的基础,对CNN的优化更加普及和专业。最初研究者常用的手段是在卷积层中结合注意力机制来增强骨干网络的特征提取能力,Prajit等12提出的独立自注意力层(stand-alone self-attention,SASA),验证了自注意力层确实可以是一个高效的可堆叠层,在此基础上提出基于独立自注意力的骨干网络,可用于替换空间卷积并构建一个完全注意力模型。

2 检测模型

检测模型的网络结构如图2所示,其由backbone、neck和detect 3部分组成,在YOLOv5基础上,分别在backbone结构中融合swin transformer模块,通过上采样和常规的卷积操作,降低计算需求。首先,将640×640大小的图像输入backbone中,通过卷积层和C3模块操作,增加网络的深度和感受野,提高特征提取的能力。然后,concat操作使backbone输出的数据与neck层连接,同时在neck中新加入swin transformer模块和CBAM注意力机制,通过上采样和下采样操作,生成多尺度的特征金字塔,将自上而下部分和自下而上部分的特征图进行融合,得到最终的特征图。最后,head对特征图进行目标检测。

2.1 YOLOv5算法

YOLOv5骨干网络backbone主要负责对输入图像进行特征提取。骨干网络是指用来提取图像特征的网络,其主要作用是将原始的输入图像转化为多层特征图,以便在后续的目标检测任务中被使用。在YOLOv5中,使用的是CSPDarknet53或ResNet骨干网络,这两个网络都是相对轻量级的,能够在保证较高检测精度的同时,尽可能地减少计算量和内存占用。backbone中的主要结构有conv模块、C3模块和快速空间金字塔池化(spatial pyramid pooling-fast,SPPF)模块。conv模块是卷积神经网络中常用的基础模块,它通过卷积操作提取局部空间信息,并按照BN层规范化特征值分布,最后,通过激活函数引入非线性变换能力,从而实现对输入特征的转换和提取。C3模块通过增加网络的深度和感受野,提高了特征提取的能力。这对于目标检测等计算机视觉任务来说非常重要,因为这些任务需要对物体进行准确的识别和定位,而准确的识别和定位需要良好的特征提取能力。

2.2 CBAM注意力机制

卷积注意力机制模块(CBAM)13通过关注输入数据中的重要特征来增强卷积神经网络的性能。位置灵活的注意力机制模块可以让目标检测网络自适应地关注值得注意的区域与特征,而不是不加区分地关注所有区域与特征。CBAM的原理可以分为空间注意力模块和通道注意力模块两个部分。

空间注意力模块结构如图3所示,该模块关注输入特征图的每个空间位置的重要性。首先,对特征图的每个通道进行全局平均池化,然后使用1×1卷积将通道数调整为与输入特征图相同的大小。然后,使用sigmoid激活函数对每个空间位置的激活进行归一化。最后,使用全局最大池化获取最重要的空间信息。

通道注意力模块结构如图4所示,该模块关注每个通道对最终输出贡献的重要性。首先对每个通道的特征进行全局平均池化;然后使用1×1卷积将通道数调整为与输入特征图相同的大小;接着使用sigmoid激活函数对每个通道的激活进行归一化;最后使用全局最大池化获取最重要的通道信息。

2.3 swin transformer模块

swin transformer通过使用滑动窗口的机制将输入的图片分成多个小块,如图5所示,然后在这些小块之间进行信息交互,这样可以避免一次性处理整个图片带来的计算负担。在改进自注意力机制上,swin transformer通过引入滑动窗口自注意力机制来解决这个问题。滑动窗口自注意力机制是用于计算输入序列中元素之间的相似度,以获取全局信息。相比于标准的自注意力机制,滑动窗口自注意力机制计算效率更高,同时也具有更好的性能。

滑动窗口自注意力机制将输入序列划分成若干个不重叠的小块,如图6所示。每个小块内元素之间的相似度会被计算。在计算相似度时,不同于标准的自注意力机制需要计算所有元素之间的相似度,滑动窗口自注意力机制只需要计算每个元素与其周围一定范围内元素之间的相似度,这样可以避免计算更多的相似度,从而提高了计算效率。滑动窗口自注意力机制使用一个可学习的平移矩阵来平移每个小块内的元素,从而使每个元素与周围一定范围内元素的相对位置保持不变;然后,将这些元素分别送入自注意力模块中,计算它们之间的相似度,并根据相似度计算每个元素的加权汇总表示;最后,将每个小块内元素的加权汇总表示拼接在一起,作为整个序列的表示。

综上所述,swin transformer通过引入分层结构和滑动窗口自注意力机制,解决了transformer在计算机视觉任务中遇到的一些问题,提高了计算效率和性能,并且在一些任务中表现出色,得到了广泛的应用。

2.4 SIoU损失函数

模型的损失函数Loss分为以下3个部分,其计算如式(1)所示。

L=L obj+L cls+L bbox

式中:L obj是物体置信度的损失,采用的是二元交叉熵损失;L cls是物体的分类损失,采用的是交叉熵损失;L bbox为预测框位置的损失,本文采用SIoU14优化了预测框位置损失L bbox的计算方式,本文计算预测框的损失函数公式如式(2)所示。

L bbox=1-IoU+ Δ + Ω 2

SIoU损失函数由角度损失、距离损失、形状损失、IoU损失4个Cost函数组成,角度损失曲线如图7所示。

距离损失的公式为

Δ = t = x , y ( 1 - e - γ ρ t )

形状损失的公式为

Ω = t = w , h ( 1 - e - ω t ) θ

IoU损失的公式为

L IoU=1-IoU

3 实验结果分析

3.1 评价指标

目标检测中的平均精度均值(mean average precision,mAP)是评价检测性能的重要指标。本文采用AP50和AP75作为评价指标,分别代表IoU阈值为0.5和0.75时各个类别AP的均值。AP计算的是精确度(precision)和召回率(recall)曲线下的面积,其值越大表示模型检测精度越高,精确度、召回率和AP的计算公式如式(6)~(8)所示。

precision= T P T P + F P
recall= T P T P + F N
AP= P ( r ) d r

式中:TP为正确分类的正样本数;FP为误报的负样本数;FN为漏报的正样本数。

此外,F1分数也是一个比较重要的综合评价指标,通常用于衡量分类模型的精确度和召回率的均衡性。它是精确度和召回率的调和平均数,公式为

F 1 = 2 × ( p r e c i s i o n × r e c a l l ) ( p r e c i s i o n + r e c a l l )    

式中:precision是指预测为正样本的样本中,实际为正样本的比例;recall是指所有正样本中,被正确预测为正样本的比例;F1分数既可以用来比较不同模型的性能,也可以用来调整模型的阈值,以达到最佳的预测效果。

3.2 实验环境

本实验在Linux系统环境运行,使用4个TeslaT4进行训练推理,采用深度学习框架时网络的预训练模型权重是在coco数据集上进行训练获得。设置的训练总轮数为300 epochs,学习率为0.01,采用带动量的随机梯度下降法作为优化器,动量设置为0.937,权重衰减系数为0.000 5。

3.3 Visdrone2019数据集

Visdrone2019数据集15是由天津大学机器学习和数据挖掘实验室的AISKYEYE团队负责收集的,它包含288段视频,由261 908帧和10 209张静态图片构成。部分数据集如图8所示,这些数据来源于中国14个城市,覆盖了城市、农村、稀疏和拥挤等多种场景,并包括了行人、车辆、自行车等多种目标。这些数据集是在不同的场景、天气和光照条件下,通过不同无人机平台收集的。此外,数据集的框架还手工标注了超过260万个常见的目标框,如行人、汽车、自行车和三轮车,也提供了部分属性,如场景可见性、对象类和遮挡等,尤其在行人类别目标小而密集的情况下,这样可以更好地利用数据。本文对所获取的数据进行分析并提取出有效信息,有助于理解和掌握各种环境中运动物体之间的关系和规律。此外,这一数据集还涵盖了如小型目标、目标的重叠和复杂的背景等相关难题,具有一定价值。

3.4 消融实验

为了验证本文所提出改进方法的有效性,通过消融实验来验证各个部分。根据表1可以看出,当把swin transformer模块加入到backbone和neck的时候,模型的精度mAP从30.1%提高到了32.2%,上升了2.1%。在将CBAM注意力机制融合到neck模块中时,模型的精度从32.2%提高到了33.4%,上升了1.2%。将损失函数替换为SIoU后,精度也从33.4%提高到了35.3%。因此,本文算法在计算量和精度方面都优于原始的YOLOv5算法。

3.5 结果对比

将训练后的网络在数据集和测试集上进行测试,如图9a所示为使用YOLOv5模型的检测结果,图9b为本文模型的检测结果,可以看出本文的模型检测精度有一定的提升。

为了进一步验证本文算法的有效性,本文将其与Light-RCNN16、Cascade-RCNN17、Faster-RCNN18、CornerNet19、YOLOX20、TPH-YOLOv521、QueryDet22和YOLOv5等经典的深度学习目标检测算法进行了对比,结果如表2所示。RCNN系列是首次将深度学习引入目标检测领域,而Faster-RCNN则是目前效果最优秀的二阶段目标检测算法,TPH-YOLOv5则将transformer融入检测模型,而YOLO系列算法则是工业应用最为广泛的单阶段目标检测算法。实验结果表明,与其他算法相比,本文算法的mAP有了较大的提高,平均精度达到了35.3%,相比QueryDet和TPH-YOLOv5分别提高了4.6%和2%。

4 结论

本文提出了一种基于YOLOv5的无人机航拍图像小目标检测模型,以解决高漏检率和低检测成功率问题。首先,在YOLOv5的backbone结构和neck结构中加入swin transformer模块,提升对小目标的检测精度。其次,在neck结构中加入CBAM注意力机制,提升对小目标的关注度。最后,使用SIoU损失函数提升置信度,提升检测精度。在训练和测试过程中,对比了算法的精确度和速度。在Visdrone2019数据集中进行实验,结果表明:本文提出的算法检测精确度为35.3%,与YOLOv5相比mAP提高了5.2%。但是本文提出的算法仍然存在一些不足,比如将backbone融入替换成swin transformer模块之后,为了提高精度,将其宽度从原来的0.55提高到0.76,从而增加了网络的运算负担。今后,需要最大限度地降低参数量,以提升在不同场合的检测需求。

参考文献

[1]

陈旭.基于深度学习的无人机图像目标检测算法研究[D].杭州:杭州电子科技大学,2022.

[2]

江波,屈若锟,李彦冬,基于深度学习的无人机航拍目标检测研究综述 [J].航空学报202142 (4):137-151.

[3]

Purkait P Zhao C Zach C.SPP-Net:deep absolute pose regression with synthetic views[C]//CVPR.Salt Lake City:IEEE,2018:1101-1256.

[4]

Girshick R.Fast R-CNN[C]//2015 IEEE International Conference on Computer Vision (ICCV).Santiago:IEEE,2015:1440-1448.

[5]

Lin T Y Goyal P Girshick R,et al.Focal loss for dense object detection[J].IEEE Transactions on Pattern Analysis and Machine Intelligence202042(2):318-327.

[6]

王龙博,刘建辉,张贝贝,利用注意力机制融合的YOLOv5遥感图像目标检测[J].信息工程大学学报202324(4):438-446.

[7]

赵倩,王成龙,郭彤.一种模型轻量化设计的遥感小目标检测方法:CN112329721A[P].2021-02-05.

[8]

Kisantal M Wojna Z Murawski J,et al.Augmentation for small object detection[EB/OL].(2019-02-19)[2023-01-23].

[9]

Lin T Y Dollár P Girshick R,et al.Feature pyramid networks for object detection[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Honolulu:IEEE,2017:936-944.

[10]

Liu S Qi L Qin H F,et al.Path aggregation network for instance segmentation[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018:8759-8768.

[11]

Yang C Huang Z H Wang N Y.QueryDet:cascaded sparse query for accelerating high-resolution small object detection[C]//2022 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR).New Orleans:IEEE,2022:13658-13667.

[12]

Prajit R Niki P Ashish V,et al.Stand-alone self-attention in vision models[C]//Proceedings of the 33rd International Conference on Neural Information Processing Systems.Red Hook:IEEE.2019:68-80.

[13]

Woo S Park J Lee J Y,et al.CBAM:convolutional block attention module[C]//European Conference on Computer Vision.Cham:Springer,2018:3-19.

[14]

Liu Z Lin Y T Cao Y,et al.Swin Transformer:hierarchical Vision Transformer using Shifted Windows[C]//2021 IEEE/CVF International Conference on Computer Vision (ICCV).Montreal:IEEE,2021:9992-10002.

[15]

Gevorgyan Z.SIoU loss:more powerful learning for bounding box regression[EB/OL].(2022-05-25)[2024-04-23].

[16]

Du D W Zhu P F Wen L Y,et al.VisDrone-DET2019:the vision meets drone object detection in image challenge results[C]//2019 IEEE/CVF International Conference on Computer Vision Workshop (ICCVW).Seoul:IEEE,2019:213-226.

[17]

Li Z Peng C Yu G,et al.Light-head R-CNN:indefense of two-stage object detector[EB/OL].(2018-06-04)[2024-04-23].

[18]

Cai Z W Vasconcelos N.Cascade R-CNN:delving into high quality object detection[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018:6154-6162.

[19]

Ren S Q He K M Girshick R,et al.Faster R-CNN:towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis and Machine Intelligence201739(6):1137-1149.

[20]

Law H Deng J.CornerNet:detecting objects as paired keypoints[J].International Journal of Computer Vision2020128(3):642-656.

[21]

Ge Z Liu S T Wang F,et al.YOLOX:exceeding YOLO series in 2021[EB/OL].(2021-07-18)[2024-04-23].

[22]

Zhu X K Lyu S C Wang X,et al.TPH-YOLOv5:improved YOLOv5 based on transformer prediction head for object detection on drone-captured scenarios[C]//2021 IEEE/CVF International Conference on Computer Vision Workshops (ICCVW).Montreal:IEEE,2021:2778-2788.

基金资助

国家自然科学基金(61170185)

AI Summary AI Mindmap
PDF (1615KB)

590

访问

0

被引

详细

导航
相关文章

AI思维导图

/