MFDA-YOLO:一种用于无人机小目标检测的多尺度特征融合与动态对齐网络
当应用于无人机航拍图像时,YOLOv8等标准检测器面临重大挑战,包括极端尺度变化、微小目标以及复杂背景。它们的通用特征融合架构容易产生误报和漏检小目标。为了解决这些限制,我们提出了一种基于YOLOv8改进的MFDA-YOLO模型。该模型在骨干网络中引入了基于注意力的同尺度特征交互(AIFI)模块,以增强高级特征交互,提高对多尺度目标的适应性,并强化特征表示。在颈部网络中,我们设计了无人机图像检测金
摘要
https://pmc.ncbi.nlm.nih.gov/articles/PMC12680328/pdf/pone.0337810.pdf
当应用于无人机航拍图像时,YOLOv8等标准检测器面临重大挑战,包括极端尺度变化、微小目标以及复杂背景。它们的通用特征融合架构容易产生误报和漏检小目标。为了解决这些限制,我们提出了一种基于YOLOv8改进的MFDA-YOLO模型。该模型在骨干网络中引入了基于注意力的同尺度特征交互(AIFI)模块,以增强高级特征交互,提高对多尺度目标的适应性,并强化特征表示。在颈部网络中,我们设计了无人机图像检测金字塔(DIDP)网络,该网络集成了空间到深度卷积模块,以高效地将多尺度特征从浅层传播到深层。通过在跨阶段部分网络中引入全核模块进行图像恢复,DIDP可以增强全局上下文感知能力并消除计算负担,以扩展传统的P2检测层。针对检测头中定位和分类任务之间协同不足的问题,我们设计了动态对齐检测头(DADH)。DADH可以通过多尺度特征交互学习和动态特征选择机制实现跨任务表示优化,这显著降低了模型复杂性并保持了检测精度。此外,我们采用了WIOUv3损失函数来动态调整聚焦系数,增强模型区分小目标的能力。大量实验结果表明,MFDA-YOLO在VisDrone2019、HIT-UAV和NWPU VHR10数据集上优于现有的最先进方法,如YOLOv11和YOLOv13。特别是在VisDrone2019数据集上,MFDA-YOLO超越了基线YOLOv8n模型,在mAP0.5上实现了4.4个百分点的提升,在mAP0.5:0.95上实现了2.7个百分点的提升。此外,它减少了17.2%的参数,有效降低了假阴性和假阳性率。
资金:本工作得到了中国辽宁省科学基金(项目编号2023-MS-322)的支持。本研究未收到额外的外部资金。资助者在研究设计、数据收集和分析、发表决定或手稿准备方面没有发挥作用。
竞争利益:作者声明不存在竞争利益。
1. 引言
随着科学技术的快速发展,无人机(UAV)由于其灵活性、低成本和易于操作,在农业、救灾和运输等领域得到了广泛应用[1]。然而,无人机目标检测常常面临尺度变化、动态视角、复杂背景和密集目标重叠等挑战,这使得传统检测框架效果不佳。因此,开发一种适用于复杂环境中无人机小目标检测的轻量级高精度算法具有重大的研究价值和应用潜力[2]。
随着深度学习技术,特别是卷积神经网络(CNN)的广泛应用,目标检测算法的准确性和效率得到了显著提升,超越了传统方法[3]。基于深度学习的目标检测算法通常分为两类:单阶段算法(例如,You Only Look Once (YOLO))和两阶段算法(例如,R-CNN系列)[4]。
单阶段目标检测算法通过端到端回归策略直接在原始图像上预测目标位置和类别,这避免了生成候选区域的计算开销。然而,这种对速度的关注在检测航拍图像中的小尺寸、遮挡目标时揭示了其固有局限性。Redmon等人[5]提出的YOLO算法经常无法检测到航拍无人机视角中常见的小尺寸目标。这种失败源于其在特征提取方面的固有局限性和对尺度变化的适应性差。其他方法在密集人口的航拍场景中也表现不佳。例如,Law和Deng[6]提出了基于关键点的CornerNet,Tian等人[7]提出了无锚框的FCOS检测器,但两种方法表现都不佳。严重的遮挡和重叠的中心点破坏了精确定位,而无锚框设计可能导致预测边界框与实际目标尺寸之间的不匹配。Tan等人[8]提出的EfficientDet试图通过更复杂的特征融合网络来增强性能。然而,其高计算成本使得在资源受限的无人机平台上进行实时部署具有挑战性。同样,Zhang等人[9]提出的YOLO-MFD在检测头中引入了多维注意力加权以增强特征聚焦。然而,这种方法带来了显著的计算开销,其动态空间对齐能力对于极小的航拍目标仍然不足。
为了克服单阶段检测器固有的精度限制,研究人员自然地探索了高精度的两阶段算法。然而,这类方法通常计算开销过大,这与无人机终端的实时推理需求相冲突。例如,Cai等人[10]提出的Cascaded R-CNN采用多阶段机制逐步提高IoU阈值,以优化检测框定位精度。然而,正是这种级联过程导致了其巨大的计算成本。在特征表示增强层面,He等人[11]提出的特征金字塔网络(FPN)利用跨层融合来改善多尺度特征表征。然而,无人机图像中的极小目标在通过深度网络传播时会遭受严重的特征衰减。这导致语义信息的丢失,FPN难以有效补偿。此外,即使采用先进的骨干架构,这个问题仍然存在。虽然Liu等人[12]提出的Swin Transformer通过分层滑动窗口注意力机制有效建模全局上下文信息。然而,其固定的窗口分割难以有效识别无人机图像中常见的多尺度、不规则微型目标,存在漏检风险。
总之,开发平衡精度、效率和轻量级设计的无人机检测算法仍然是一个核心挑战。由于无人机具有实时需求,更高效的单阶段检测器是一个更有前景的研究方向[13]。因此,本研究选择YOLOv8[14]算法作为基线,因为它在速度和精度之间具有出色的平衡。尽管有这一优势,它在处理无人机检测中常见的小目标和复杂背景时仍然困难,反映了单阶段检测器的固有局限性。为了解决这个问题,我们提出了MFDA-YOLO,旨在显著增强模型的多尺度特征能力,同时严格控制计算复杂性。本研究的主要贡献如下:
(1) 无人机航拍中对小尺寸、密集目标的检测依赖于精确的空间细节以获得准确性。这些细节正是空间金字塔池化快速(SPPF)模块容易模糊的元素,导致漏检。为了解决这个问题,我们利用基于注意力的同尺度特征交互(AIFI)模块替代骨干网络中的SPPF模块。AIFI模块使用自注意力机制捕获相同尺度特征之间的依赖关系,从而增强网络的聚焦能力。
(2) 复杂的无人机场景导致小目标特征在深层网络中严重衰减。为了解决这个问题,我们提出了无人机图像检测金字塔(DIDP)。该模型使用SPD-Conv对P2层进行无损下采样,将空间结构信息重组到通道维度。此外,我们设计了C-OKM模块来恢复缺失的图像细节,为后续特征融合提供更丰富的特征。
(3) 为了进一步缓解P2检测层引入的参数复杂性问题,我们提出了动态对齐检测头(DADH)。该模块首先使用共享卷积进行特征提取,从而最大限度地控制模型的参数数量。随后,使用任务分解为每个任务提取相应的特征。通过将可变形卷积与动态权重选择机制集成,实现了自适应特征处理,有效缓解了任务之间的冲突。
(4) 鉴于轻量级检测器在面对大量低质量样本时难以收敛的普遍问题,我们用WIOUv3损失函数替换了基线CIOU损失函数。它采用动态系数将模型的注意力引导到难以区分的小目标上。WIOUv3通过自适应归一化有效缓解振荡。
2. 技术背景
本节对YOLOv8的网络架构进行全面分析,并解释其组件模块的功能。在此基础上,它分析了将该模型应用于特定任务时遇到的固有局限性。与以前的YOLO模型相比,YOLOv8对其网络结构进行了细化和优化。如图1所示,其核心架构包括三个模块:骨干网络(Backbone)、颈部网络(Neck)和检测头(Head)。
2.1 骨干网络
骨干网络由卷积层、C2f层和SPPF组成,构成了其特征提取设计的核心。骨干网络通过多个卷积、池化和激活函数层协同工作,从输入图像中提取多层次特征信息。该过程实现了深度特征提取,并逐渐减小特征图的大小,最终为后续检测头提供丰富的语义支持[15]。
C2f层通过多尺度特征融合和自适应大小调整机制提高了特征表达的效率和检测精度。该机制通过交替使用1×11\times11×1和3×33\times33×3卷积生成特征图,并通过梯度分流连接将它们集成,以增强信息流并保持网络轻量级。
SPPF模块替代了早期YOLO版本中使用的空间金字塔池化模块。与空间金字塔池化模块的多尺度池化核不同,SPPF通过对特征图顺序应用小池化核来处理它们[16]。这种级联结构显著提高了计算效率并保持了原始感受野。随后,SPPF模块将原始输入特征与多阶段池化输出沿通道维度连接,生成固定维度的特征向量。这些特征向量直接馈入下游网络进行特征提取。
2.2 颈部网络
颈部网络使用C2f模块结合路径聚合网络和特征金字塔网络。其核心功能是分析和融合骨干网络的特征,从而提高模型检测不同大小目标的能力[17]。此外,颈部网络通过路径聚合网络和C2f模块执行特征图的多尺度融合,将浅层信息高效聚合到深层特征中。
2.3 检测头
YOLOv8实现了分离头设计,其中分类和回归任务通过两个不同的专用分支进行处理。分类分支通过1×11\times11×1卷积层处理特定于类别的特征进行对象识别。回归分支通过专用卷积操作提取空间坐标和尺度进行对象定位。
2.4 局限性分析
尽管YOLOv8在一般检测任务上表现出色,但其标准架构在应用于无人机目标检测的独特挑战时表现出固有局限性。一个主要问题源于骨干网络和颈部网络,其中旨在扩大感受野的连续下采样操作损害了对从远距离定位这些小目标至关重要的高分辨率空间细节。
此外,检测头的固定感受野无法充分处理无人机画面中典型的急剧尺度变化。因此,在用于分类的语义特征和用于回归的精确空间线索之间出现了关键的不匹配,导致在具有挑战性的小目标上(从航拍视角看)性能显著下降。本工作致力于解决这些特定的架构缺陷,以实现稳健的基于无人机的检测。
3. 方法
在本研究中,我们提出了基于YOLOv8的MFDA-YOLO模型用于无人机目标检测。该模型有效解决了无人机场景中的两个重大问题:小目标特征的丢失和边缘设备上的计算约束。MFDA-YOLO的整体网络架构如图2所示,其核心改进渗透到模型的骨干网络、颈部网络和检测头中。在骨干网络中,我们引入了AIFI模块,其全局注意力机制增强了深度特征表示,有效缓解了由连续下采样导致的小目标信息丢失。随后,经过骨干增强的特征被馈入颈部网络,由我们专门为小目标设计的DIDP模块进行处理。该模块高效地恢复和细化特征,确保小目标的微小细节得到保留并有效传递。最终,这些多尺度细化的特征被输入到DADH检测头中。通过学习任务交互特征并采用动态特征选择机制,该模块显著提高了分类和定位精度。此外,整个架构使用WIOUv3损失函数进行优化,指导模型在训练期间关注具有挑战性的复杂目标,从而进一步提高整体性能。
3.1 AIFI模块
无人机的高飞行高度使目标变得微小,而平台的快速运动掩盖了识别所需的良好纹理细节。尽管高效,传统的SPPF模块在这种情况中通常无效。它们为通用特征提取而设计的重复池化操作可能会无意中擦除定义小航拍目标所需的微小但关键的信息。
为了解决这个问题,我们用AIFI模块[18]替代传统的SPPF模块,该模块通过自注意力处理高级语义特征,有效捕获无人机检测中的纹理细节。同时,为了使AIFI模块能够更有效地提取关键信息,我们在输入中添加了1×11\times11×1卷积层以实现通道压缩。这实现了通道压缩,过滤掉冗余信息,并确保模块能够高效地关注无人机检测中最显著的特征。AIFI结构如图3所示。
AIFI模型将输入的2D特征图X∈RH×W×C\pmb{X}\in\mathbb{R}^{H\times W\times C}X∈RH×W×C转换为1D特征序列Xseq∈RN×C\boldsymbol{X}_{seq}\in\mathbb{R}^{N\times C}Xseq∈RN×C。随后,序列通过多头自注意力机制进行处理,以学习位置相关性并生成注意力特征。然后执行残差连接和层归一化以保留原始特征信息[19]。前馈网络进一步引入非线性变换,以学习特征序列之间的复杂相关性。最终,将得到的序列重构为2D特征图,以实现全局上下文信息和局部空间结构的有效融合。AIFI模块过程的数学表示如下:
Q,K,V=Flatten⋅WQ,Flatten⋅WK,Flatten⋅WVQ,K,V=Flatten\cdot\mathsf{W}^{Q},Flatten\cdot\mathsf{W}^{K},Flatten\cdot\mathsf{W}^{V}Q,K,V=Flatten⋅WQ,Flatten⋅WK,Flatten⋅WV
Output=Reshape(MultiHeadAttn(Q,K,V))Output=\mathsf{Reshape}(MultiHeadAttn(Q,K,V))Output=Reshape(MultiHeadAttn(Q,K,V))
其中WQ,WK,WV\mathsf{W}^{Q},\mathsf{W}^{K},\mathsf{W}^{V}WQ,WK,WV是线性变换矩阵。Flatten操作通过降维映射将多维特征张量重构为一维向量。相反,Reshape操作将一维特征序列重构为空间张量,其维度与原始输入向量的结构相匹配。
AIFI模块通过增加高级特征层内部的尺度交互,降低了模型的复杂性并提高了深度特征表示能力。
3.2 无人机图像检测金字塔
虽然AIFI模块增强了骨干特征,但有效地融合它们以进行小目标检测仍然是一个关键挑战。标准特征金字塔(P3-P5)缺乏无人机图像中常见小目标所需的分辨率。
然而,直接纳入高分辨率P2层会产生巨大的计算开销,使得在需要实时响应的资源受限无人机平台上不切实际。
为了解决这些问题,我们设计了DIDP模块用于检测无人机图像中的小目标。在P2检测层上,我们应用SPD-Conv执行特征提取并将其与P3检测层融合。同时,为了避免特征退化,我们提出了C-OKM模块。该模块通过跨阶段部分网络[21]执行通道分离,并集成Omni-Kernel[22]的多尺度感知能力,以实现高效的特征恢复。
3.2.1 SPD-Conv模块。SPD-Conv通过空间重组和卷积操作提取多尺度特征,提高了低分辨率图像中小目标的检测精度。该模块包含两个核心组件:SPD层和非步长卷积(N-S Conv)层。SPD-Conv的工作流程如图4所示。
SPD层将维度为S×S×C1\mathcal{S}\times\mathcal{S}\times\mathcal{C}_{1}S×S×C1的输入特征图X分解为多个子特征图fx,yf_{x,y}fx,y,如下所示:
{f0,0=X[0:s:scale,0:S:scale],…,fscale−1,0=X[scale−1:S:scale,0:S:scale]f0,1=X[0:S:scale,1:S:scale],…,fscale−1,1=X[scale−1:S:scale,1:S:scale]…⋅f0,scale−1=X[0:S:scale,scale−1:S:scale],…,fscale−1,scale−1=X[scale−1:S:scale,scale−1:S:scale]\left\{\begin{array}{l}f_{\mathrm{0,0}}=\pmb{X}[\mathrm{0:}s:s c a l e,\mathrm{0:}S:s c a l e],\ldots,\\ f_{s c a l e-\mathrm{1,0}}=\pmb{X}[s c a l e-\mathrm{1:}S:s c a l e,\mathrm{0:}S:s c a l e]\\ f_{\mathrm{0,1}}=\pmb{X}[\mathrm{0:}S:s c a l e,\mathrm{1:}S:s c a l e],\ldots,\\ f_{s c a l e-\mathrm{1,1}}=\pmb{X}[s c a l e-\mathrm{1:}S:s c a l e,\mathrm{1:}S:s c a l e]\\ \ldots\\ \cdot\\ f_{\mathrm{0,}s c a l e-\mathrm{1}}=\pmb{X}[\mathrm{0:}S:s c a l e,s c a l e-\mathrm{1:}S:s c a l e],\ldots,\\ f_{s c a l e-\mathrm{1,}s c a l e-\mathrm{1}}=\pmb{X}[s c a l e-\mathrm{1:}S:s c a l e,s c a l e-\mathrm{1:}S:s c a l e]\end{array}\right.⎩
⎨
⎧f0,0=X[0:s:scale,0:S:scale],…,fscale−1,0=X[scale−1:S:scale,0:S:scale]f0,1=X[0:S:scale,1:S:scale],…,fscale−1,1=X[scale−1:S:scale,1:S:scale]…⋅f0,scale−1=X[0:S:scale,scale−1:S:scale],…,fscale−1,scale−1=X[scale−1:S:scale,scale−1:S:scale]
其中scale是下采样因子。每个子特征图fx,yf_{x,y}fx,y由满足i+xi+xi+x和i+yi+yi+y可被scale整除的原始特征图元素X(i,j)X(i,j)X(i,j)组成。子特征图fx,yf_{x,y}fx,y的空间维度为Sscale×Sscale×C1\frac{S}{scale}\times\frac{S}{scale}\times C_1scaleS×scaleS×C1
在空间域中执行二次通道优化。FSAM模块通过双路径在频率域中提取全局上下文,并生成空间域重要性掩码。这些掩码在频率域中融合并在逆变换后返回到空间域。
3.3 动态对齐检测头
无人机的动态观察视角加剧了检测模型中分类和定位任务之间固有的冲突。目标外观的急剧变化放大了一个核心冲突:特征不能同时足够通用以进行分类,又足够精确以进行定位,这会降低定位精度。
为了解决这个问题,我们通过结合TOOD的[23]交互式标签分配机制与任务一致性优化,提出了DADH模块。与依赖注意力加权的动态头(例如,DyHead[9])不同,DADH将可变形卷积网络v2(DCNv2)[24]与任务分解相结合,动态优化定位的特征采样。DADH模块的具体细节如图6所示。首先,通过共享卷积层高效提取多尺度特征;随后,这些特征被馈入任务分解模块,解耦为用于定位和分类的两个并行分支。在定位分支中,我们集成了DCNv2,以动态优化特征采样区域,从而适应无人机空中图像中目标的复杂几何变形。同时,分类分支通过动态加权共享特征生成更具判别性的任务特定表示。最终,动态对齐过程增强了两个并行分支之间的特征一致性,使每个分支能够生成更精确的分类和定位预测。
3.3.1 共享卷积层。为了减少模型参数数量并高效集成多尺度特征,我们设计了共享卷积层。输入特征图经过共享卷积进行初始特征提取,然后通过组归一化[25]将通道分为组进行组内标准化。之后,处理后的特征图再次执行卷积和组归一化操作,以进一步细化和提取更深层次的特征信息。最后,将细化的特征与原始输入沿通道维度连接,以集成层次特征并增强表示能力。输出特征图Y通过在输入X的局部区域上滑动共享卷积核K来计算,可以表示为:
Yi,j=(K×X)i,j\mathsf{Y}_{i,j}=\left(\pmb{K}\times\pmb{X}\right)_{i,j}Yi,j=(K×X)i,j
其中(i,j)(i,j)(i,j)是输出特征图Y上的位置。最终增强的特征图Y将作为统一输入,馈入后续的动态选择和任务分解模块。
3.3.2 任务分解。在单分支网络中,分类和定位任务不同的特征需求可能导致它们共享同一组特征时发生特征冲突。为了解决这个问题,我们引入了任务分解,其核心在于引入层注意力机制。这动态地解耦共享任务交互特征,从而生成任务特定的特征表示。任务分解的原理如图7所示。
任务分解采用层注意力机制为分类和定位计算单独的任务特定特征,从而减轻特征冲突,如下所示:
Xtask=wkXinterk,k=1…NX_{task}=w_k X^k_{inter},k=1\ldots N Xtask=wkXinterk,k=1…N
其中wkw_{k}wk表示学习层注意力权重的第k个元素。XinterkX_{inter}^{k}Xinterk是第k个跨层特征。XtaskkX_{task}^{k}Xtaskk是第k个任务相关特征。ω是计算出的权重:
ω=σ(fc2(δ(fc1(xinter))))\omega=\sigma\left(\mathbf{\mathit{fc}}_{2}\left(\delta\left(\mathbf{\mathit{fc}}_{1}\left(\mathbf{\mathit{x}}_{\mathit{inter}}\right)\right)\right)\right)ω=σ(fc2(δ(fc1(xinter))))
其中fC1f_{C_{1}}fC1和fC2f_{C_{2}}fC2表示两个全连接层,σ表示sigmoid函数,δ表示非线性因子,XinterX_{inter}Xinter表示通过对XinterX_{inter}Xinter进行平均池化获得的级联特征。
分类和定位结果基于1Xtask{}_{1}X_{task}1Xtask分别预测:
Ztask=conv2(δ(conv1(Xtask)))Z_{task}=conv_{2}\left(\delta\left(conv_{1}\left(X_{task}\right)\right)\right)Ztask=conv2(δ(conv1(Xtask)))
其中XtaskX_{task}Xtask表示通过XtaskkX_{task}^{k}Xtaskk连接获得的任务相关特征。Conv1Conv_{1}Conv1是设计用于降低维度的1×11\times11×1卷积层,而Conv₂用于进一步的特征变换。
3.3.3 动态选择和任务对齐。虽然任务分解成功为不同任务提供了不同的特征,但这些特征在其处理方法上仍然是静态的。在无人机飞行期间的动态场景中,当目标姿态和尺度发生突然变化时,固定的感受野难以准确捕获快速变形或移动的目标。为了解决这些问题,我们在任务分解后在定位分支中引入DCNv2,以动态调整交互特征。DCNv2利用从特征提取器学习到的交互特征生成偏移量和掩码,从而实现高效的动态特征选择,可以表示为:
H×W×CH\times W\times C H×W×C
Fc\mathrm{Fc}Fc
xinterx^{inter}xinter
X1∼NinterX_{1\sim N}^{inter}X1∼Ninter
X1∼NtaskıX_{1\sim N}^{task} ıX1∼Ntaskı
| 模型 | 参数/M | R | P | FPS | mAP0.5 | mAP0.5:0.95 |
| Retina-Net | 36.51 | 0.306 | 0.379 | 59 | 0.281 | 0.161 |
| FCOS | 32.13 | 0.331 | 0.409 | 60 | 0.309 | 0.174 |
| YOLOv5n | 1.77 | 0.263 | 0.349 | 227 | 0.233 | 0.118 |
| YOLOv5s | 7.03 | 0.320 | 0.410 | 222 | 0.291 | 0.156 |
| YOLOX | 5.03 | 0.316 | 0.434 | 181 | 0.302 | 0.163 |
| YOLOv8n | 3.01 | 0.296 | 0.393 | 277 | 0.273 | 0.153 |
| YOLOv9-t | 2.62 | 0.308 | 0.427 | 106 | 0.294 | 0.170 |
| YOLOv10n | 2.69 | 0.297 | 0.399 | 256 | 0.273 | 0.153 |
| YOLOv11n | 2.58 | 0.301 | 0.399 | 217 | 0.276 | 0.153 |
| YOLOv12n | 2.51 | 0.293 | 0.387 | 208 | 0.268 | 0.152 |
| YOLOv13n | 2.45 | 0.285 | 0.383 | 156 | 0.261 | 0.145 |
| MFDA-YOLO | 2.49 | 0.338 | 0.438 | 149 | 0.317 | 0.180 |
更多推荐


所有评论(0)