浙江大学学报(工学版), 2024, 58(12): 2417-2426 doi: 10.3785/j.issn.1008-973X.2024.12.001

计算机技术

基于改进YOLOv5s的无人机小目标检测算法

宋耀莲,, 王粲, 李大焱,, 刘欣怡

昆明理工大学 信息工程与自动化学院,云南 昆明 650500

UAV small target detection algorithm based on improved YOLOv5s

SONG Yaolian,, WANG Can, LI Dayan,, LIU Xinyi

Faculty of Information Engineering and Automation, Kunming University of Science and Technology, Kunming 650500, China

通讯作者: 李大焱, 男, 实验师, 硕士. orcid.org/0009-0008-6649-9576. E-mail:lidayan@kust.edu.cn

收稿日期: 2024-01-9  

基金资助: 国家自然科学基金资助项目(61962032); 云南省优秀青年基金资助项目(202001AW070003); 云南省基础研究计划面上资助项目(202301AT070452).

Received: 2024-01-9  

Fund supported: 国家自然科学基金资助项目(61962032);云南省优秀青年基金资助项目(202001AW070003);云南省基础研究计划面上资助项目(202301AT070452).

作者简介 About authors

宋耀莲(1977—)女,副教授,博士,从事人工智能与移动通信研究.orcid.org/0009-0007-7534-9644.E-mail:39217149@qq.com , E-mail:39217149@qq.com

摘要

为了解决传统目标检测算法对无人机(UAV)航拍小目标存在错漏检严重的问题,提出基于YOLOv5的无人机小目标检测算法FDB-YOLO. 在YOLOv5的基础上增加小目标检测层,优化特征融合网络,充分利用网络浅层小目标细粒信息,提升网络感知能力;提出损失函数FPIoU,通过充分利用锚框的几何性质,采用四点位置偏置约束函数,优化锚框定位,加快损失函数收敛速度;采用结合注意力机制的动态目标检测头(DyHead),通过增加尺度、空间、任务感知提升算法检测能力;在特征提取部分引入双级路由注意力机制(BRA),通过有选择性地对相关区域进行计算,过滤无关区域,提升模型的检测精确度. 实验证明,在VisDrone2019数据集上,本算法与YOLOv5s目标检测算法相比,精确率提升了3.7个百分点,召回率提升了5.1个百分点,mAP50增加了5.8个百分点,mAP50∶95增加3.4个百分点,并且相比当前主流算法而言都有更加优秀的表现.

关键词: 无人机视角 ; 小目标检测层 ; 损失函数 ; 注意力机制 ; YOLOv5

Abstract

An unmanned aerial vehicle (UAV) small target detection algorithm based on YOLOv5, termed FDB-YOLO, was proposed to address the significant issue of misidentification and omissions in traditional target detection algorithms when applied to UAV aerial photography of small targets. Initially, a small target detection layer was added on the basis of YOLOv5, and the feature fusion network was optimized to fully leverage the fine-grained information of small targets in shallow layers, thereby enhancing the network’s perceptual capabilities. Subsequently, a novel loss function, FPIoU, was introduced, which capitalized on the geometric properties of anchor boxes and utilized a four-point positional bias constraint function to optimize the anchor box positioning and accelerate the convergence speed of the loss function. Furthermore, a dynamic target detection head (DyHead) incorporating attention mechanism was employed to enhance the algorithm’s detection capabilities through increased awareness of scale, space, and task. Finally, a bi-level routing attention mechanism (BRA) was integrated into the feature extraction phase, selectively computing relevant areas to filter out irrelevant regions, thereby improving the model’s detection accuracy. Experimental validation conducted on the VisDrone2019 dataset demonstrated that the proposed algorithm outperformed the YOLOv5s baseline in terms of Precision by an increase of 3.7 percentage points, Recall by an increase of 5.1 percentage points, mAP50 by an increase of 5.8 percentage points, and mAP50:95 by an increase of 3.4 percentage points, showcasing superior performance compared to current mainstream algorithms.

Keywords: unmanned aerial vehicle perspective ; small object detection layer ; loss function ; attention mechanism ; YOLOv5

PDF (708KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

宋耀莲, 王粲, 李大焱, 刘欣怡. 基于改进YOLOv5s的无人机小目标检测算法. 浙江大学学报(工学版)[J], 2024, 58(12): 2417-2426 doi:10.3785/j.issn.1008-973X.2024.12.001

SONG Yaolian, WANG Can, LI Dayan, LIU Xinyi. UAV small target detection algorithm based on improved YOLOv5s. Journal of Zhejiang University(Engineering Science)[J], 2024, 58(12): 2417-2426 doi:10.3785/j.issn.1008-973X.2024.12.001

随着无人机技术的不断发展,其应用领域也在不断扩大. 无人机航拍技术已经在农业、环境监测、应急救援、交通管理等多个领域得到广泛应用. 无人机航拍检测技术是基于无人机航拍的自动化检测技术. 通过搭载在无人机上的传感器和设备获取地面或其他目标的图像信息,利用图像处理和计算机视觉算法对地面目标进行自动化监测. 这种技术的无缝整合使得无人机能够在农业领域实现精准农业监测,对环境进行实时监测,支持紧急情况下的救援工作,以及在交通管理中提供高效的监测和数据收集.

近年来,深度学习技术迅猛发展,其在计算机视觉领域中得到广泛应用,尤其是目标检测和识别领域. 当前基于深度学习的目标检测算法分为两阶段检测与单阶段检测. 两阶段检测先确定目标物体位置,给出建议框,在保证足够的精确率和召回率的前提下,再对建议框进行分类,寻找更精准的位置,代表算法有R-CNN[1] (region-based convolutional neural network)、Faster R-CNN[2] (faster region-based convolutional neural network). 单阶段检测则跳过了获取建议框阶段,直接获得物体的类别概率与其位置坐标,可以直接获得最终检测结果,代表算法有YOLO[3] (you only look once)系列. 两阶段检测在检测精度上更有优势,但是检测速度较为缓慢;单阶段检测虽然检测精度相较于两阶段检测的稍差,但是检测速度远超两阶段检测.

现有的主流目标检测算法更加注重检测的泛化性,没有针对场景特点设计改进. 无人机航拍图像存在以下特点:1)无人机飞行高度不固定、拍摄视角有差异导致检测尺度跨越较大、小目标数量多、目标在图像边缘畸变;2)无人机航拍场景多变、拍摄条件不同、天气与光照条件干扰明显、背景跨度大、密集目标堆叠严重;3)无人机飞行时拍摄动态性较强,由于不同场景下拍摄时的快门速度不同,可能会产生拍摄模糊情况. 在近年来的研究中,为了改善小目标检测能力,提升小目标算法性能,国内外研究者提出众多改进方法. Lin等[4]提出RetinaNet单阶段检测算法,引入Focal loss损失函数以均衡类别,并且设计了一种高速密集目标检测器,通过将强语义信息在深、浅特征层之间传播,实现自上而下的传播路径. 然而,在这一传播路径中特征图的分辨率降低和横向连接中通道压缩的影响,导致小目标的特征信息不可避免地损失,降低了对小目标的检测性能. Zhu等[5]在YOLOv5的基础上增加检测层,改变预测头,添加卷积块注意模块(convolutional block attention module, CBAM)以增强对密集场景下小目标的检测能力,但是注意力机制的大范围插入使模型臃肿,导致实际应用场景下的实时性无法保证. 胡俊等[6]在遥感图像的模型中引入多模态技术,并采用RGB和红外(IR)图像互补的方式来增强特征信息,从而提升模型在小目标检测方面的性能. 然而,由于网络须对2种模态的图像特征信息进行融合,模型对设备依赖程度增加,需要更多硬件支撑,且计算量增加会影响检测速度. 韩俊等[7]重新设计了特征提取模块,丰富特征语义信息,并且设计了混合域注意力机制以抑制复杂背景的干扰,但是没有考虑算法的复杂度.

为了更好地提取无人机航拍图片中的小目标特征,提升目标框定位精度,增强模型对小目标的检测能力,本研究提出基于YOLOv5的小目标检测算法FDB-YOLO. 主要改进点如下:1)添加小目标检测层,优化特征融合网络,提升浅层特征利用率,有效提升目标检测算法对小目标的敏感度,提升模型检测能力. 2)提出新的框损失函数FPIoU (four points IoU),通过充分利用框的几何性质快速约束框位置,提升框损失函数的收敛速度,加快训练收敛速度. 3)将原始目标检测头更新为带有注意力模块的动态检测头(dynamic head, DyHead)[8],通过多个感知增强模块提升检测头对特征的认知能力,增强模型的检测能力. 4)在特征提取网络尾部添加双向路由注意力机制(bi-level routing attention, BRA)[9],使用动态稀疏方式过滤低相关度特征以提升模型对重点特征的关注度,增强模型检测的精确度.

1. 网络设计

1.1. YOLOv5原始网络

YOLOv5是现有YOLO目标检测系列算法[10-12]中应用最广泛的版本. 凭借其卓越的检测精度和快速的检测速度,在许多场景中都展现出优异的性能. YOLOv5共有4个版本,根据网络深度与尺寸分为s、m、l、x. 本研究权衡检测速度、检测精度与计算成本后,选择YOLOv5s作为研究基线算法.

图1所示为YOLOv5的网络结构图. YOLOv5由负责特征提取的主干网络(backbone)、负责特征融合的颈部网络(neck)与负责检测目标的头部网络(head)组成. 在主干网络中,通过跨步卷积与C3块对图像进行特征提取从而获得不同尺度的特征图;在颈部中,通过特征金字塔网络(feature pyramid network, FPN)[13]、路径聚合网络(path aggregation network, PAN)[14]强化语义与位置特征,再结合主干网络中提取到不同尺度的特征进行特征融合,提升模型对不同尺度目标的感知能力;在头部中,根据特征融合与提取的结果预测目标位置与类别,通过3个检测头获取多个尺度的目标预测结果.

图 1

图 1   YOLOv5结构图

Fig.1   Architecture of YOLOv5


1.2. 改进的检测算法

以YOLOv5算法为基础,提出针对小目标的改进检测模型FDB-YOLO. 增加小目标检测头并优化颈部特征融合网络,增强网络感知范围;将框损失函数改为FPIoU提升框定位精度;在主干特征提取网络尾部添加BRA注意力机制,抑制背景干扰,增强所关注的特征权重;使用带注意力机制的动态检测头DyHead替换原始检测头,以提升模型对小目标的检测精度. 如图2所示为改进算法的整体结构.

图 2

图 2   FDB-YOLO结构图

Fig.2   Architecture of FDB-YOLO


1.3. 小目标检测头

特征融合网络在YOLOv5中将不同尺度的特征图结合在一起,以改善目标检测的准确性和鲁棒性. 原始的YOLOv5在特征融合部分仅使用主干特征提取部分较为深层的内容进行融合,使用的特征尺度分别为20×20、40×40、80×80. 不过,原始的特征融合不能较好地利用到浅层小目标的特征信息,而小目标的细粒特征往往会随着特征提取深度的增加而损失;检测部分也仅使用了20×20、40×40、80×80这3个尺度的检测头,这种情况对极小目标的检测并不友好,随着感受野的增加,检测头对小目标的检测效果明显下降. 如何有效利用特征提取浅层内容、增强算法对极小目标的检测能力成为当前研究的关键.

根据以上分析,在颈部增加了一条融合浅层特征的路径,引入主干特征提取网络中160×160的特征图,该尺寸特征图是在原始图像基础上通过2次跨步卷积的方式进行4倍下采样得到的. 在160×160尺寸特征图中,每一个1×1的像素块都包含了原始图像4×4的像素区域,这个大小的像素区域更加贴合数据集中小目标的存在尺度,可以获取更多小目标细粒特征内容,增加小目标特征在特征融合中的占比,并且在头部中增加一个针对极小目标的检测头. 在修改网络结构后,为了对应检测头的数量,须重新生成相对应的锚框尺寸,通过K-means聚类算法生成所需的12个锚框尺寸以对应4个检测头.

1.4. FPIoU框损失函数

YOLOv5原始的框损失函数为CIoU[15]. CIoU的表达式如下:

$ {\text{CIoU = }}{I_{{\text{IoU}}}} - \frac{{{\rho ^2}(b,{b^{{\mathrm{gt}}}})}}{{{c^2}}} - \alpha v, $

$ \alpha = \frac{v}{{1 - {I_{{\text{IoU}}}}+v}} ,$

$ v = \frac{4}{{{{\text{π}}^2}}}{\left(\arctan \; \frac{{{w^{{\mathrm{gt}}}}}}{{{h^{{\mathrm{gt}}}}}} - \arctan \; \frac{w}{h}\right)^2} ,$

$ {\text{LOS}}{{\text{S}}_{{\text{CIoU}}}} = 1 - {I_{{\text{IoU}}}}+\frac{{{\rho ^2}(b,{b^{{\mathrm{gt}}}})}}{{{c^2}}}+\alpha v. $

式中:${I_{{\text{IoU}}}}$为预测框与真实框的交并比,$b$为预测框中心点坐标,${b^{{\mathrm{gt}}}}$为真实框中心点坐标,$ \rho (b,{b^{{\mathrm{gt}}}}) $表示预测框与真实框中心点的欧氏距离,$c$表示能够同时包含预测框与真实框的最小闭合区域的对角线距离,$\alpha $为平衡参数,$v$为用来衡量长宽比一致性的参数,${w^{{\mathrm{gt}}}}$${h^{{\mathrm{gt}}}}$为真实框的宽度与高度,$w$$h$为预测框的宽度与高度. 根据$v$的表达式可以看出,当预测框与真实框长宽比例相等时,$v$的值为0;此时在影响因子$v$的干扰下,CIoU的惩罚项没有起到预期的效果,这种情况会导致CIoU损失函数的实际表现效果变差.

本研究提出新的框损失函数FPIoU,在IoU的基础上通过最小化预测框与真实框四角之间的距离,以更好地训练优化模型,加速损失函数收敛. FPIoU的参数如图3所示.

图 3

图 3   FPIoU损失函数参数

Fig.3   Factors of FPIoU loss function


FPIoU加入了4个位置偏置,其表达式如下:

$ {\text{FPIoU = }}{I_{{\text{IoU}}}} - \sum\limits_{i = 1}^4 {\frac{{{d_i}^2}}{{{c^2}}}}, $

$ {d_i}^2 = {\left(x_i^{{\mathrm{prd}}} - x_i^{{\mathrm{gt}}}\right)^2}+{\left(y_i^{{\mathrm{prd}}} - y_i^{{\mathrm{gt}}}\right)^2}, $

$ {\text{LOS}}{{\text{S}}_{{\text{FPIoU}}}} = 1 - {I_{{\text{IoU}}}}+\sum\limits_{i = 1}^4 {\frac{{{d_i}^2}}{{{c^2}}}}. $

式中:$ {d_i} $为预测框与真实框各点之间的欧氏距离,$ x_i^{{\mathrm{prd}}} $$ y_i^{{\mathrm{prd}}} $为预测框四点的坐标,$ x_i^{{\mathrm{gt}}} $$ y_i^{{\mathrm{gt}}} $为真实框四点的坐标. FPIoU通过最小化预测框与真实框四角之间的距离以达到更好的损失函数表现. 相较于CIoU的中心点距离与长宽比2项参数而言,FPIoU使用四点距离参数,能够充分利用边界框本身的几何性质,当预测框与真实框的长宽比相同时,FPIoU仍然能够较好地完成预期任务. 从收敛速度与损失函数结果来看,FPIoU的最终效果明显优于CIoU.

1.5. 结合注意力机制的检测头

DyHead是一种结合注意力机制的动态检测头,在尺度、空间、任务上有更好的感知表现. DyHead通过3个感知增强块,即分别应用于不同位置的注意力机制,实现对输出结果的增强.

$ Z({{\boldsymbol{F}}})={{\text{π}} }_{{\mathrm{T}}}\left({{\text{π}} }_{{\mathrm{S}}}\left({{\text{π}} }_{{\mathrm{L}}}\left({\boldsymbol{F}}\right)\cdot {\boldsymbol{F}}\right)\cdot {\boldsymbol{F}}\right)\cdot {\boldsymbol{F}}. $

式中:F为给定的特征张量,$ {{\boldsymbol{F}}} \in {{\mathbf{R}}^{L \times S \times T}} $LST分别为尺度、空间、任务维度的大小;${{\text{π}} _{\mathrm{L}}}( \cdot )$${{\text{π}} _{\mathrm{S}}}( \cdot )$${{\text{π}} _{\mathrm{T}}}( \cdot )$分别为尺度增强感知块、空间增强感知块与任务增强感知块.

在DyHead中,首先引入尺度增强感知块$ {{\text{π}} _{\mathrm{L}}} $,根据不同尺度的语义重要性动态融合特征,表达式如下:

$ {{\text{π}} }_{{\mathrm{L}}}({\boldsymbol{F}})\cdot {\boldsymbol{F}}\text=\sigma \left(f\left(\frac{1}{ST}{\displaystyle \sum _{S,T}{\boldsymbol{F}}}\right)\right)\cdot {\boldsymbol{F}}, $

$ \sigma (x) = \max \left( {0,\;\min \left( {1,\frac{{x+1}}{2}} \right)} \right). $

式中:$f\left( \cdot \right)$为1×1大小的卷积层近似的线性函数,$\sigma (x)$为hard-sigmoid函数.

DyHead采用另一种基于融合特征的空间感知注意力模块$ {{\text{π}} _{\mathrm{S}}} $来关注空间位置和特征层次之间一致共存的判别区域. 考虑到空间的高维性,空间增强感知块分解为2步,首先使用可变形卷积使注意学习稀疏化,然后在同一空间位置跨层聚集特征:

$ {{\text{π}} _{\mathrm{S}}}\left( {{\boldsymbol{F}}} \right) \cdot {{\boldsymbol{F}}}{ = }{{}}\frac{1}{L}\sum\limits_{l = 1}^L {\sum\limits_{g = 1}^G {{{\boldsymbol{w}}_{l,g}} \cdot {{\boldsymbol{F}}}\left( {l;{p_g}+\Delta {p_g};t} \right) \cdot \Delta {{\boldsymbol{m}}_g}} }. $

式中:$G$为稀疏采样位置的个数;wl,g为稀疏化权重;$ {p_g}+\Delta {p_g} $为通过自学习的空间偏移移动的位置,$ \Delta {p_g} $由可变形卷积学习得到,用以聚焦歧义区域;$ \Delta {{\boldsymbol{m}}_g} $为自学习位置$ {p_g} $的重要性度量.

在最后,DyHead使用任务增强感知块$ {{\text{π}} _{\mathrm{T}}} $通过开关控制超参数是否学习激活的阈值自动选择打开或关闭通道以适应不同的任务:

$ {{\text{π}} _{\mathrm{T}}\left( {{\boldsymbol{F}}} \right) \cdot {{\boldsymbol{F}}}{ = }{\text{max}}\; \left( {\varepsilon ^1}\left( {{\boldsymbol{F}}} \right) \cdot {{{\boldsymbol{F}}}_t}+{\beta ^1}\left( {{\boldsymbol{F}}} \right),{\varepsilon ^2}\left( {{\boldsymbol{F}}} \right) \cdot {{{\boldsymbol{F}}}_t}+{\beta ^2}\left( {{\boldsymbol{F}}} \right) \right).} $

式中:$ {{{\boldsymbol{F}}}_t} $为第$t$个切分通道的特征,${\varepsilon ^1}$$ {\varepsilon ^2} $${\beta ^1} $${\beta ^2} $为学习控制激活阈值的超参数.

3个增强感知块顺序应用在检测头中,并且可以多次叠加使用,其结构如图4所示.

图 4

图 4   Dynamic Head结构

Fig.4   Structure of Dynamic Head


1.6. 双级路由注意力机制

与现有主流注意力机制直接在全局范围内操作不同[16-19],BRA注意力机制是新的动态稀疏注意力机制,通过双级路由达到更加灵活的算力分配,让每个Query处理语义上最相关的K-V对的一小部分. BRA注意力机制的结构如图5所示.

图 5

图 5   双级路由注意力机制结构图

Fig.5   Bi-level routing attention structure diagram


给定输入特征图X (${{\boldsymbol{X}}} \in {{\mathbf{R}}^{H \times W \times C}}$),首先将图片划分为$N \times N$个不同区域,每个区域内包含${{HW}}/{{{N^2}}}$个特征向量,此时输入特征图变为$ {\boldsymbol{X}}^{\mathrm{r}}\left({{{\boldsymbol{X}}}^{\mathrm{r}}} \in \right. \left.{{\mathbf{R}}^{{N^2} \times \tfrac{{HW}}{{{N^2}}} \times C}}\right) $,通过线性映射可以得到QKV$ {\boldsymbol{Q}},{\boldsymbol{K}},{\boldsymbol{V}} \in {{\bf{R}}}^{{N}^{2}\times \tfrac{HW}{{N}^{2}}\times C} $.

$ {{\boldsymbol{Q}}=}{\boldsymbol{X}}^{{\mathrm{r}}}{\boldsymbol{W}}^{{\mathrm{q}}}\text{,}{{\boldsymbol{K}}=}{\boldsymbol{X}}^{{\mathrm{r}}}{\boldsymbol{W}}^{{\mathrm{k}}}\text{,}{{\boldsymbol{V}}=}{\boldsymbol{X}}^{{\mathrm{r}}}{\boldsymbol{W}}^{{\mathrm{v}}}. $

式中:WqWkWv分别为query、key、value的投影权重,${{{\boldsymbol{W}}}^{\mathrm{q}}}{,}{{{\boldsymbol{W}}}^{\mathrm{k}}}{,}{{{\boldsymbol{W}}}^{\mathrm{v}}} \in {{\mathbf{R}}^{C \times C}}$. 之后通过构造一个有向图找到每个给定区域应该参与的区域. 通过分别对每个区域的QK求取平均值来推导得到${{{\boldsymbol{Q}}}^{\mathrm{r}}}、{{{\boldsymbol{K}}}^{{\mathrm{r}}}} $$ \left({{{\boldsymbol{Q}}}^{{\mathrm{r}}}}{,}{{{\boldsymbol{K}}}^{{\mathrm{r}}}} \in {{\mathbf{R}}^{{N^2} \times C}}\right) $,然后计算${{{\boldsymbol{Q}}}^{{\mathrm{r}}}}$${{{\boldsymbol{K}}}^{{\mathrm{r}}}}$的区域间相关性的邻接矩阵${\boldsymbol{A}}^{\mathrm{r}} $$ \left( {{{\boldsymbol{A}}}^{{\mathrm{r}}}} \in {{\mathbf{R}}^{{N^2} \times {N^2}}}\right) $,邻接矩阵${{{\boldsymbol{A}}}^{{\mathrm{r}}}}$的内容可以度量2个区域在语义上的关联程度.

$ {{{\boldsymbol{A}}}^{{\mathrm{r}}}} = {{{\boldsymbol{Q}}}^{{\mathrm{r}}}}{\left( {{{{\boldsymbol{K}}}^{{\mathrm{r}}}}} \right)^{\mathrm{T}} } .$

只保留每个区域的前k个连接来修剪关联图,得到路由索引矩阵:

$ {{{\boldsymbol{I}}}^{{\mathrm{r}}}} = {\text{topkIndex}}\; \left( {{{{\boldsymbol{A}}}^{{\mathrm{r}}}}} \right). $

式中:Ir为索引矩阵,${{{\boldsymbol{I}}}^{{\mathrm{r}}}} \in {{\mathbf{R}}^{{N^2} \times k}}$,其中第i行表示第i个区域的前k个最相关区域的索引. 利用区域到区域路由索引矩阵${{{\boldsymbol{I}}}^{{\mathrm{r}}}}$,可以计算细粒度的token-to-token注意力. 每个区域i中的Query token将关注k个路由区域的并集中的所有键值对,其索引为${{\boldsymbol{I}}}_{(i,1)}^{{\mathrm{r}}},{{\boldsymbol{I}}}_{(i,2)}^{{\mathrm{r}}}, \cdots ,{{\boldsymbol{I}}}_{(i,k)}^{{\mathrm{r}}}$. 为了有效实现上述操作,首先聚集key和value的tensor,即

$ {{{\boldsymbol{K}}}^{\mathrm{j}}} = {{{\mathrm{gather}}\;(}}{{\boldsymbol{K}}}{\text{,}}\;{{{\boldsymbol{I}}}^{{\mathrm{r}}}}{\text{), }}{{{\boldsymbol{V}}}^{\mathrm{j}}} = {{{\mathrm{gather}}\;(}}{{\boldsymbol{V}}}{\text{,}}\;{{{\boldsymbol{I}}}^{{\mathrm{r}}}}{\text{)}}. $

式中:$ {{{\boldsymbol{K}}}^{\mathrm{j}}} $${{{\boldsymbol{V}}}^{\mathrm{j}}}$为聚集后的key和value的tensor. 然后对聚集后的K-V对使用注意力操作:

$ {O}{{ = {\mathrm{Attention}}\;(}}{{\boldsymbol{Q}}}{\text{,}}{{{\boldsymbol{K}}}^{\mathrm{j}}}{{,}}{{{\boldsymbol{V}}}^{\mathrm{j}}}{{)+{\mathrm{LCE}}\;(}}{{\boldsymbol{V}}}{\text{)}}. $

式中:${{{\mathrm{LEC}}\;(}}{{\boldsymbol{V}}}{{)}}$为局部的上下文增强项,函数${{{\mathrm{LEC}}\;(}} \cdot {{)}}$用深度可分离卷积进行重参数化,此处将其卷积核大小设置为3.

2. 实验与评估

2.1. 数据集

为了验证改进算法的有效性,以公开数据集VisDrone2019[20]为基础进行实验. 该数据集是由天津大学机器学习与数据挖掘实验室团队制作,包含10个常见类别,分别为行人(A)、人(B)、自行车(C)、汽车(D)、面包车(E)、卡车(F)、三轮车(G)、遮阳篷三轮车(H)、公共汽车(I)和摩托车(J),共8629张图片,其中训练集6471张,验证集548张,测试集1610张. 训练集实例数量分布如图6所示. 图中,${N_{\text{I}}}$为类别数量.

图 6

图 6   训练集实例数量分布

Fig.6   Instance distribution of train dataset


数据集内目标尺寸大小分布如图7所示. 图中,${W_{\text{L}}}$${H_{\text{L}}}$分别表示数据集中标签框的宽度与高度. 可以看出,大部分目标尺寸比例小于图片的十分之一,满足小目标的相对尺寸定义.

图 7

图 7   目标尺寸大小分布图

Fig.7   Object size distribution diagram


2.2. 实验环境及评价指标

使用Ubuntu22.04操作系统,GPU为一块NVIDIA GeForce 3090,显存为24 G. 实验环境为Python3.8、PyTorch1.11.0、cuda11.3. 在训练时使用SGD优化器,实验中超参数设置如表1所示.

表 1   模型训练参数设置

Tab.1  Model training parameter setting

参数数值参数数值
批量大小32余弦退火参数0.01
训练轮数150学习率动量0.937
图片尺寸640×640权重衰减系数0.0005
初始学习率0.01

新窗口打开| 下载CSV


选取精确率(precision, P)、召回率(recall, R)、平均精度值(mAP)以及每秒帧数(frames per second, FPS)作为评价指标,对改进算法的检测性能进行全面评估. 精确率反映了模型正确分类的能力,即所有被识别出的结果中识别正确部分所占的比例;召回率则表达了模型全面检测目标的能力,即被正确识别出的目标数量与测试集中所有数量的比值. 平均精度值分为mAP50与mAP50:95,其中mAP50表示在IoU阈值为0.50时,所有目标类别的平均检测精度;mAP50:95则代表在以步长为0.05的情况下,计算IoU阈值从0.50到0.95的所有10个不同IoU阈值下的检测精度,并取其平均值. 这反映了模型在不同IoU要求下的整体性能. 另外,FPS作为衡量模型检测实时性的指标,表示模型每秒能够处理和检测多少张图像.

2.3. 消融实验

为了验证添加的小目标检测头、FPIoU、DyHead以及BRA注意力的有效性,进行消融实验,结果如表2所示. 从实验B可以看出,相较基线算法而言,增加小目标检测头后,模型在各方面能力上均有提升,精确率增加2.2个百分点,召回率增加3.7个百分点,mAP50增加3.7个百分点,mAP50∶95增加2.1个百分点. 由此说明增加小目标融合层与引入的小目标检测头增强了模型的检测能力,提升了模型的检测精度,也证明了小目标融合层与4个尺度的检测头在小目标样本较多的数据集中有更好的表现效果,可以使模型更好地适应多尺度目标共存情况下的检测. 实验C将基线算法的框损失函数替换为FPIoU,mAP50增加0.5个百分点,mAP50∶95增加0.2个百分点. 实验G在实验B的基础上将损失函数替换为FPIoU,mAP50增加0.1个百分点,mAP50∶95增加0.2个百分点. 实验J在实验H的基础上将损失函数替换为FPIoU,mAP50增加0.2个百分点, mAP50∶95增加0.1个百分点,说明在相同条件下FPIoU损失函数能够更好地约束预测框范围,提升检测精度. 实验D将基线算法的检测头替换为DyHead,算法整体性能有所下降. 实验H在实验B基础上,将检测头替换为DyHead,Precision增加了0.1个百分点,Recall增加了1.3个百分点,mAP50增加1.2个百分点,mAP50∶95增加0.7个百分点. 结合实验D与实验H分析,当模型特征融合部分小目标特征信息较少时,DyHead对目标的检测能力受到限制;当小目标特征信息充足时,DyHead在检测中才能发挥其优势. 实验E与实验I证明,BRA注意力机制在单独使用的情况下,对模型整体的提升并不明显. 分析实验F与实验K,BRA注意力机制有选择性地对相关区域进行计算,过滤无关区域,增加了小目标特征在特征融合中的占比,充分发挥了DyHead的检测能力. 实验L为本研究算法,结合小目标检测头、FPIoU、DyHead与BRA注意力机制,改进后的检测算法较基线算法YOLOv5s而言,在精确率上提升了3.7个百分点,召回率提升了5.1个百分点,mAP50增加了5.8个百分点,mAP50∶95增加了3.4个百分点,能够更好地完成无人机小目标的检测任务.

表 2   不同改进点组合的消融实验结果分析

Tab.2  Analysis of ablation experimental results with different combinations of improved points

实验编号P2FPIoUDyHead[8]BRA[9]P/%R/%mAP50/%mAP50∶95/%Params/MGFLOPs
A46.534.134.118.87.03715.8
B48.737.837.820.97.44618.7
C46.234.934.619.07.04616.0
D45.234.033.718.37.33616.7
E45.433.933.217.78.10257.3
F46.034.734.318.58.39258.0
G49.837.737.921.17.18218.7
H48.839.139.021.67.48721.4
I48.837.737.920.98.24860.2
J49.539.539.221.77.47621.1
K49.639.239.321.88.54262.7
L50.239.239.922.28.53162.4

新窗口打开| 下载CSV


2.4. 对比实验

为了验证本研究算法的优越性,进行如下训练和测试,并将其与其他目标检测算法进行比较. 这些算法包括经典的目标检测算法、当前较先进的小目标检测算法以及YOLO系列算法,同时还包括YOLOv5s基线网络,评价指标主要选取mAP与FPS,以衡量各个测试算法模型的检测精度与速度. 结果如表3所示. 可以看出,对比主流算法,本研究算法在mAP50与mAP50:95上均取最高,相较于YOLO其他系列而言,本研究在平均精度上优势明显,虽然模型中引入的检测增强模块导致模型计算量增加,使检测速度FPS降低,但目前无人机航拍摄像头的每秒拍摄帧数一般小于60,基本满足无人机航拍检测的需求. 综上所述,本研究算法在满足实时检测任务的基础上,对检测精度有较高的提升,在无人机航拍任务中有更高的实用性.

表 3   不同算法在Visdrone2019数据集上的检测精度与速度

Tab.3  Detection accuracy and speed of different algorithms on Visdrone2019 data set

模型mAP50/%mAP50:95/%FPS/帧
YOLOv3[11]20.412.231
YOLOv4[12]33.317.636
YOLOv5s34.118.8116
YOLOv6[21]33.818.448
YOLOv7[22]35.219.887
YOLOv839.422.182
Faster R-CNN[2]22.515.115
RetinaNet[4]30.118.5
本研究模型39.922.253

新窗口打开| 下载CSV


2.5. 可视化实验

2.5.1. 损失函数效果对比

为了验证所提损失函数的有效性,以YOLOv5s为基线,对比CIoU[15]、GIoU[23]、DIoU[24]、SIoU[25]、EIoU[26]与FPIoU随迭代次数box_loss变化的损失函数曲线,对比曲线图如图8所示. 图中,Loss表示box_loss. 可以看出,随着迭代次数的增加,几种损失函数均呈现收敛趋势,但是FPIoU损失函数在收敛速度、最终结果上都远远优于其他损失函数,能够有效降低框损失,加速网络收敛速度,提升模型精度.

图 8

图 8   不同损失函数效果对比

Fig.8   Effect comparison of different loss functions


2.5.2. 可视化结果分析

为了验证本研究算法在实际场景中的效果,在VisDrone2019的测试集中选取遮挡、模糊、夜间、密集聚集等不同场景图片进行测试. 测试效果如图9所示.

图 9

图 9   模型改进前后检测效果可视化对比

Fig.9   Visual comparison of detection effect before and after model improvement


统计场景中所有目标与检测目标的数量,并综合考虑检测框的准确程度,发现相对于原始YOLOv5s,本研究算法在误检率和漏检率方面都有显著的改善. 特别是在小目标的识别方面,表现更为优秀. 表明本研究算法在适应不同场景以及处理目标遮挡之类的问题时,具备更强的鲁棒性和实用性.

表4所示展示了YOLOv5s和FDB-YOLO在不同类别上的mAP50对比结果. 可以看出,FDB-YOLO在每个类别的检测精度上均优于基线算法,且提升效果明显.

表 4   模型改进前后各类别mAP50效果对比

Tab.4  Comparison of mAP50 effect before and after model improvement

类别mAP50/%
YOLOv5sFDB-YOLO
pedestrian32.442.9
people24.931.8
bicycle9.8412.5
car59.271.0
van28.834.8
truck27.632.0
tricycle20.122.5
awning-tricycle8.2110.6
bus40.647.3
motor30.239.0

新窗口打开| 下载CSV


3. 结 语

为了解决YOLOv5s模型在无人机航拍图像中检测小目标时可能出现的漏检和误检问题,提出综合改进的小目标检测模型FDB-YOLO. 首先,在网络结构中引入专门的小目标检测层,以增强模型对小目标信息的利用率,从而提升模型对小目标的敏感度. 其次,提出新的框损失函数FPIoU,通过充分利用定位框的几何性质,采用四点定位方式提升真实框与目标框的IoU,从而加快框损失函数的收敛速度,提高定位精确度. 进一步,将YOLOv5s中普通的检测层优化为具有自注意力机制的检测层DyHead,以提升模型对小目标的检测能力. 最后,引入BRA注意力机制,提高对小目标检测区域的关注度,进一步提升了模型的检测效果. 这一系列改进措施共同作用,使得改进后的模型在无人机高空航拍图像中的小目标检测能力表现出色. 在VisDrone2019数据集上的实验结果表明,本研究模型较好地平衡了速度与精度,在小目标检测方面表现优于其他主流模型,所提模型的平均检测精度为39.9%,说明本研究提出的改进模型在无人机航拍图像中的小目标检测效果上具有显著优势.

虽然在检测精度上取得了显著提升,但模型的参数量和计算复杂度也随之增加. 下一步研究将重点关注模型的大小与检测速度,计划通过剪枝技术或优化主干网络结构来提升模型的整体性能.

参考文献

GIRSHICK R, DONAHUE J, DARRELL T, et al. Rich feature hierarchies for accurate object detection and semantic segmentation [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Columbus: IEEE, 2014: 580–587.

[本文引用: 1]

REN S , HE K , GIRSHICK R , et al. Faster R-CNN: towards real-time object detection with region proposal networks [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence , 2017, 39(6): 1137–1149.

[本文引用: 2]

REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Las Vegas: IEEE, 2016: 779–788.

[本文引用: 1]

LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection [C]// Proceedings of the IEEE International Conference on Computer Vision . Venice: IEEE, 2017: 2999–3007.

[本文引用: 2]

ZHU X, LYU S, WANG X, et al. TPH-YOLOv5: improved YOLOv5 based on transformer prediction head for object detection on drone-captured scenarios [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision . Montreal: IEEE, 2021: 2778–2788.

[本文引用: 1]

胡俊, 顾晶晶, 王秋红

基于遥感图像的多模态小目标检测

[J]. 图学学报, 2022, 43 (2): 197- 204

[本文引用: 1]

HU Jun, GU Jingjing, WANG Qiuhong

Multimodal small target detection based on remote sensing image

[J]. Journal of Graphics, 2022, 43 (2): 197- 204

[本文引用: 1]

韩俊, 袁小平, 王准, 等

基于YOLOv5s的无人机密集小目标检测算法

[J]. 浙江大学学报: 工学版, 2023, 57 (6): 1224- 1233

[本文引用: 1]

HAN Jun, YUAN Xiaoping, WANG Zhun, et al

UAV dense small target detection algorithm based on YOLOv5s

[J]. Journal of Zhejiang University: Engineering Science, 2023, 57 (6): 1224- 1233

[本文引用: 1]

DAI X, CHEN Y, XIAO B, et al. Dynamic head: unifying object detection heads with attentions [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Nashville: IEEE, 2021: 7369–7378.

[本文引用: 2]

ZHU L, WANG X, KE Z, et al. BiFormer: vision transformer with bi-level routing attention [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Vancouver: IEEE, 2023: 10323–10333.

[本文引用: 2]

REDMON J, FARHADI A. YOLO9000: better, faster, stronger [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Honolulu: IEEE, 2017: 6517–6525.

[本文引用: 1]

REDMON J, FARHADI A. Yolov3: an incremental improvement [EB/OL]. (2018-04-08)[2023-11-20]. https://arxiv.org/abs/1804.02767.

[本文引用: 1]

BOCHKOVSKIY A, WANG C Y, LIAO H Y M. Yolov4: optimal speed and accuracy of object detection [EB/OL]. (2020-04-23)[2023-11-20]. https://arxiv.org/abs/2004.10934.

[本文引用: 2]

LIN T Y, DOLLÁR P, GIRSHICK R, et al. Feature pyramid networks for object detection [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Honolulu: IEEE, 2017: 936–944.

[本文引用: 1]

LIU S, QI L, QIN H, et al. Path aggregation network for instance segmentation [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Salt Lake City: IEEE, 2018: 8759–8768.

[本文引用: 1]

ZHENG Z, WANG P, REN D, et al

Enhancing geometric factors in model learning and inference for object detection and instance segmentation

[J]. IEEE Transactions on Cybernetics, 2021, 52 (8): 8574- 8586

[本文引用: 2]

WOO S, PARK J, LEE J Y, et al. Cbam: convolutional block attention module [C]// Proceedings of the European Conference on Computer Vision . Munich: Springer, 2018: 3–19.

[本文引用: 1]

HU J, SHEN L, SUN G. Squeeze-and-excitation networks [C]// Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . Salt Lake City: IEEE, 2018: 7132–7141.

HOU Q, ZHOU D, FENG J. Coordinate attention for efficient mobile network design [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Nashville: IEEE, 2021: 13708–13717.

WANG Q, WU B, ZHU P, et al. ECA-Net: efficient channel attention for deep convolutional neural networks [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Seattle: IEEE, 2020: 11531–11539.

[本文引用: 1]

DU D, ZHU P, WEN L, et al. VisDrone-DET2019: the vision meets drone object detection in image challenge results [C]// Proceedings of the IEEE/CVF International Conference on Computer Vision Workshops . Seoul: IEEE, 2019: 213–226.

[本文引用: 1]

LI C, LI L, JIANG H, et al. YOLOv6: a single-stage object detection framework for industrial applications [EB/OL]. (2022-09-07)[2023-11-20]. https://arxiv.org/abs/2209.02976.

[本文引用: 1]

WANG C Y, BOCHKOVSKIY A, LIAO H Y M. YOLOv7: trainable bag-of-freebies sets new state-of-the-art for real-time object detectors [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Vancouver: IEEE, 2023: 7464–7475.

[本文引用: 1]

REZATOFIGHI H, TSOI N, GWAK J Y, et al. Generalized intersection over union: a metric and a loss for bounding box regression [C]// Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition . Long Beach: IEEE, 2019: 658–666.

[本文引用: 1]

ZHENG Z, WANG P, LIU W, et al. Distance-IoU loss: faster and better learning for bounding box regression [C]// Proceedings of the AAAI Conference on Artificial Intelligence . New York: AAAI, 2020, 34(7): 12993–13000.

[本文引用: 1]

GEVORGYAN Z. SIoU loss: more powerful learning for bounding box regression [EB/OL]. (2022-05-25)[2023-11-20]. https://arxiv.org/abs/2205.12740.

[本文引用: 1]

ZHANG Y F, REN W, ZHANG Z, et al

Focal and efficient IOU loss for accurate bounding box regression

[J]. Neurocomputing, 2022, 506: 146- 157

DOI:10.1016/j.neucom.2022.07.042      [本文引用: 1]

/