【论文阅读笔记】Drone-YOLO: An Efficient Neural Network Method for TargetDetection in Drone Images

摘要:

无人机(UAV)图像目标检测是各个研究领域的重要基础。然而,无人机图像提出了独特的挑战,包括大图像尺寸小尺寸检测对象密集分布重叠实例和影响目标检测有效性的光照不足。在本文中,我们提出了一系列基于YOLOv8模型的多尺度无人机图像目标检测算法Drone-YOLO,旨在克服无人机图像目标检测的特定挑战。为了解决大场景尺寸小检测对象的问题,我们对YOLOv8模型的颈部组件进行了改进。具体来说,我们采用了三层PAFPN结构,并结合了一个针对小尺寸目标的检测头,使用大规模特征图,显著增强了算法对小尺寸目标的检测能力。此外,我们将三明治融合模块集成到颈部上下分支的每一层。该融合机制将网络特征与底层特征相结合,提供了不同层检测头丰富空间信息。我们使用深度可分离进化来实现这种融合,它平衡了参数成本和大的接受场。在网络骨干网中,我们采用RepVGG模块作为下采样层,增强了网络学习多尺度特征的能力,并且优于传统的卷积层。提出的Drone-YOLO方法已经在消融实验中进行了评估,并在VisDrone2019数据集上与其他最先进的方法进行了比较。结果表明,我们的无人机- yolo(大型)在目标检测精度方面优于其他基线方法。与YOLOv8相比,我们的方法在mAP0.5指标上取得了显着改进,在VisDrone2019-test上提高了13.4%,在VisDrone2019-val上提高了17.40%。此外,参数高效的Drone-YOLO (tiny)仅具有5.25 M个参数,在数据集上的性能与具有9.66M个参数的基线方法相当或更好。这些实验验证了无人机- yolo方法在无人机图像目标检测任务中的有效性。

1. Introduction

近15年来,随着无人机控制技术的逐步成熟,无人机遥感影像因其性价比高、易于获取等优点,已成为低空遥感研究领域的重要数据源。在此期间,深度神经网络方法得到了广泛的研究,并逐渐成为图像分类[1-3]、目标检测[4-6]和图像分割[7-9]等任务的最佳方法。然而,目前应用的大多数深度神经网络模型,如VGG[1]、RESNET[2]、U-NET[7]、PSPNET[8],主要是使用手动采集的图像数据集开发和验证的,如VOC2007[10]、VOC2012[11]、MS-COCO[12],如图1所示。

【论文阅读笔记】Drone-YOLO: An Efficient Neural Network Method for TargetDetection in Drone Images_第1张图片

这些图像是根据摄影师的主观偏好收集的。

如图1所示:(1)在小空间场景中捕获的图像较多;(2)每张图像中的物体数量比较少,而摄影师会对其进行过滤或回避与主要对象无关的背景或目标;(3)图像中没有太多密集排列、重叠的目标;(4)图像尺寸相对较小;(5)图像中目标的尺寸占整个图像尺寸的比例比较大;(6)图像光照条件良好,无明显的过度曝光或光线不足;(7)许多图像拍摄角度都是平视的,很少有俯视图。

如图2所示,无人机获得的图像人工捕获的地面图像相比存在显著差异。这些无人机拍摄的图像具有以下特点:(1)大部分图像为户外场景;(2)图像的拍摄角度以俯视图为主,向上视角较少;(3)影像场景比较大(室外影像距离地面至少5 m以上);(4)图像中有许多大小不同的物体。在许多场景中,物体是密集排列的。在一些场景中,许多相似的物体被密集地排列和重叠;(5)图像背景复杂;(6)许多图像尺寸较大;(7)单个物体的尺寸占整个图像尺寸的比例相对较小;(8)有些图像存在照明问题,如眩光、过度曝光、光线不足等。

除了这些图像数据特征之外,无人机遥感目标检测方法还有两种常见的应用场景。第一种方法是使用大型台式电脑处理飞行后的数据。无人机飞行后,捕获的数据在台式电脑上进行处理。第二种技术涉及飞行过程中的实时处理,无人机上的嵌入式计算机实时同步处理航空图像数据。该应用程序通常用于无人机飞行期间的避障和自动任务规划。因此,应用的神经网络目标检测方法需要满足不同场景的不同要求。

对于适用于桌面计算机环境的方法,要求检测精度高。对于适用于嵌入式环境的方法,模型参数需要在一定范围内,以满足嵌入式硬件的运行要求。在满足运行条件后,该方法的检测精度也需要尽可能高。

【论文阅读笔记】Drone-YOLO: An Efficient Neural Network Method for TargetDetection in Drone Images_第2张图片

因此,无人机遥感影像中目标检测的神经网络方法需要能够适应这些数据的具体特点。要么满足飞后数据处理的要求,提供较高的准确率和召回率结果,要么设计成具有较小规模参数的模型,可部署在嵌入式硬件环境中,在无人机上进行实时处理。

在这项工作中,我们提出了一系列基于YOLOv8架构的改进神经网络模型,并进行了统一的改进。其中,参数较大的模型在目标检测精度和召回率方面可以满足桌面计算机对飞行后数据处理的要求。另一方面,较小尺度参数的模型可以满足嵌入式硬件环境的运行要求,并获得满意的检测精度。

本文的主要贡献包括:

1. 针对无人机图像的多尺度目标检测,提出了一系列新颖的神经网络方法。这些方法包括适合桌面平台的高精度大参数模型和适合嵌入式边缘计算设备部署的小参数模型。这为不同的计算环境提供了各种有效的选项。

2. 具有大接收场低模型参数的三明治融合模块,专为部署在PAFPN结构的颈部网络而设计。

该模块有效地捕获了骨干网下层的空间特征,提高了目标检测性能。

3.利用RepVGG重参数化卷积模块增强骨干网的下采样层数。这种改进提高了下采样过程的有效性,从而增强了目标检测性能。

通过烧蚀实验,验证了所提网络优化方法的可行性和有效性。在VisDrone2019数据集上的实验结果表明,在有限的净模型参数增长下,我们的方法可以提高YOLOv8系列方法(大、中、小、微和纳米)的性能。此外,与最先进的检测模型和当前主流的具有相邻参数的模型进行了比较分析,证明了我们所提出的方法的优越性。

本文的其余部分组织如下:第2节回顾了相关工作,第3节详细阐述了我们提出的方法。第4节给出了实验结果,第5节给出了结论。

2. Related Work

近年来,人们提出了许多目标检测神经网络方法,特别是单阶段目标检测方法。与两阶段方法不同,一阶段方法将目标定位检测和分类结合在一起,实现了桌面和嵌入式硬件上的实时目标检测。在这些作品中,YOLO系列[13-20]备受关注。特别是自YOLOv4[15]提出以来,已经提出了许多相关的工作。这些方法不仅取得了良好的检测效果,而且在网络模型结构激活函数损失函数网络训练方法训练数据增强方法等方面进行了一系列改进。

在密集分布目标检测的研究中,Chu等人提出了一种神经网络方法CrowdDet,用于检测图像中密集且相互遮挡的目标。作者认为,密集目标检测性能差的主要原因是:(1)图像空间中存在高度重合的实例(及其相关的候选框),这些实例可能具有非常相似的特征,这使得检测器难以为每个候选框生成差异化的预测结果;(2)实例间重叠严重,导致预测结果受到非最大抑制(NMS)错误的抑制。为了解决上述问题,研究人员提出为检测目标的每个候选框预测一组可能高度一致的实例集,而不是像通常那样预测单个实例。

他们介绍了几种方法:(1)使用EMD损失函数来监督实例集预测的学习过程;(2)设置NMS后处理方法,抑制不同候选框的重复检测结果,克服NMS方法在密集场景下的应用缺陷;(3)潜在假阳性目标处理优化模块。Bochkovskiy等人提出了yolo4。作者引入CSPDarkNet[22]作为网络的骨干结构,增强了卷积神经网络的学习能力,使网络在保持特征图提取精度的同时又保持了轻量级;减少计算瓶颈;降低内存成本。在网络的颈部部分,引入SPPF模块,采用PAFPN模块[23]。Jocher等人提出了一种单阶段目标检测神经网络模型YOLOv5。该方法具有精度高、计算复杂度低、速度快等优点。在主干结构的开头,作者介绍了重点模块。与具有3 × 3核的卷积层相比,该模块具有更高的计算速度,主要起到加快输入图像处理的作用。颈部部分采用PAFPN模块。

在检测头部分,部署了基于锚点的方法,并使用NMS来消除错误的候选框。Ge等人提出了一种单阶段目标检测神经网络模型YOLOX。作者仍然使用CSPDarkNet[22]作为骨干网络,但引入了SiLU[24]作为激活函数,解决了ReLU[25]函数输入为负,输出为0时的梯度问题。作者引入解耦头,分别实现置信盒和回归盒,并在预测时将其整合为一个;采用SimOTA实现无锚探测头。Li等[18]提出YOLOv6;引入了高效率[26]作为网络的主干。Li等人提出了YOLOv6 3.0,将双向连接(BiC)作为特征映射融合模块部署在网络颈部的PAFPN结构中。Wang等人[28]提出了通过控制最短和最长梯度路径设计的网络模块ELAN。Wang等人提出了YOLOv7。作者在这项工作的主干中引入了E-ELAN结构。这种方法可以训练多尺度特征而不增加最短梯度路径的长度,Jocher等人提出了YOLOv8。作者介绍了C2f模块作为主干级模块。

作者对YOLOv5模型进行了改进,引入了多尺度特征提取模块(MFEM),该模块将挤压激励模块(SEM)与空间注意模块(SAM)相结合,形成了一种称为多尺度分裂注意单元的混合注意机制,作为主干结构。在实验中,与visdrone2019测试数据集上的其他网络模型相比,作者在mAP0.5度量方面取得了最佳性能。在所有10种检测对象中,MSA-YOLO在3种类型中获得了最好的结果。Li等[30]提出了ACAM- yolo,这是YOLOv5[16]的改进版本,具有自适应共注意模块(ACAM)机制。通过实验,比较了基于ACAM的YOLOv5网络和改进的YOLOv5网络在目标检测结果上的差异。实验表明,该网络的性能显著提高,模型参数显著降低。Zhao等人提出了MS-YOLOv7。该网络在YOLOv7[19]的基础上进行改进,将原来的3个检测头增加到4个,采用Swin变压器[32]、W-MSA、SW-MSA和CBAM[33]关注机制增强网络颈部特征。采用软NMS方法提高了NMS方法在密集分布对象检测中的性能。Li等人提出了一种基于YOLOv8-s模型的改进小参数目标检测网络。作者将YOLOv8的PAFPN结构替换为Bi-FPN[35],并使用Ghostblock[36]模块改进主干,实现了参数更少但检测性能更好的神经网络方法。Liu等人提出了EdgeYOLO,它引入了一个寿命解耦的头部用于目标检测。与YOLOX[17]的解耦头相比,参数更少的检测头实现了更快的推理速度。此外,与YOLOX相比,它达到了相当或更高的精度。

目前,将这些方法应用于无人机目标检测时面临的最大挑战之一是如何有效地检测小目标。无人机遥感图像通常具有大图像尺寸复杂背景大量小物体的存在。我们提出的解决方案侧重于优化对小物体的精确检测。

YOLO系列网络的优势在于利用了多级检测头,可以从不同层次的特征向量中检测出不同大小的物体。我们的方法主要围绕使用具有更高空间分辨率低层特征向量检测微小和小尺寸物体。

为了实现这一目标,我们采用三明治融合模块来优化它们的语义特征。检测头可以获得具有高空间分辨率和准确语义信息的特征向量,从而提高整体检测性能。

3. Methodology

图3显示了我们提出的Drone-YOLO(大型)网络模型的体系结构。这种网络结构是对yolov8 - l模型的改进。在网络主干部分,我们利用RepVGG结构重参数化卷积模块作为下采样层。在训练过程中,该卷积结构同时训练3 × 3和1 × 1卷积。在推理过程中,将两个卷积核合并为一个3 × 3卷积层。这种机制使网络能够在不影响推理速度或扩大模型大小的情况下学习更健壮的特征。在颈部部分,我们将PAFPN结构扩展到三层,并附加了一个小尺寸的目标检测头。通过结合所提出的三明治融合模块,从网络主干网的三个不同层特征图中提取空间和信道特征。这种优化提高了多尺度探测头对被探测物体空间定位信息的采集能力。

我们进一步细化了Drone-YOLO(大型)网络模型的参数大小和模型结构,得到了Drone-YOLO系列网络。其中,DroneYOLO(微型)和Drone-YOLO(纳米)模型参数较少,但实现了相对最近模型较好的检测精度。

【论文阅读笔记】Drone-YOLO: An Efficient Neural Network Method for TargetDetection in Drone Images_第3张图片

3.1. Backbone

我们提出的网络模型的主干包括一个主干层四个阶段块。如图3所示,茎层为卷积层,步幅为2。每个阶段块都有一个步长为2的RepVGG块,用作下采样模块C2f卷积块组件,如YOLOv8中提出的。

在该网络中,特征映射提取主干的主要多级组件是C2f模块,该模块由C3模块改进而来。在YOLOv5的骨干CSPDarkNet的C3模块中,实现了跨级局部结构,取得了良好的效果。其设计目标是降低网络的计算复杂度,提高梯度性能。DenseNet[3]的设计理念启发了C3模块的结构。C3模块由3个具有1 × 1核的卷积层和一个具有3 × 3核的卷积层序列的DarkNet瓶颈组成。模块的输入特征图分为两部分:一部分不通过瓶颈,另一部分通过瓶颈。在通过瓶颈进行计算的feature map部分,将第一层的输出结果与其输入连接起来作为第二层卷积层的输入。通过瓶颈的feature map与另一部分feature map相连接,后者只计算一个1 × 1的卷积层,并通过最后一个1 × 1的卷积层作为C3模块的输出feature。

在该网络的骨干网中,我们使用来自YOLOv8网络的C2f结构作为骨干网的每个阶段单元。如图4所示,与C3结构相比,C2f模块充分满足了ELAN模块提出的思路,从控制最短和最长梯度路径的角度对网络结构进行优化,使网络更具可训练性。此外,在不改变网络最短和最长梯度路径的情况下,C2f模块可以通过特征向量转移和模块内多层嵌套卷积有效地学习多尺度特征,扩大接收域范围。

【论文阅读笔记】Drone-YOLO: An Efficient Neural Network Method for TargetDetection in Drone Images_第4张图片

我们部署了RepVGG[38]块作为骨干网各级之间的下采样结构。RepVGG组件是在VGG[1]基础上改进的,VGG[1]是一种早期提出的单路径网络,其特点是广泛使用3 × 3卷积作为其基本单元。VGG是一种节省内存的模型,因为它不需要像ResNet[2]中的残留块这样的标识结构的内存。3 × 3卷积层是一种高效的网络结构。cudnn[39]和MKL等机器学习硬件加速库显著优化了3 × 3卷积的计算效率,使3 × 3卷积的计算密度(理论FLOPs/时间使用)[38]达到1 × 1或5 × 5卷积的4倍。因此,广泛使用这种类型的卷积神经网络在实际计算任务中具有效率优势。

如图5所示,在RepVGG模块中,在训练阶段有3 × 3和1 × 1两个不同的卷积核。这是由于在特征映射上计算时,不同大小的卷积核的运动过程是一致的。当模型用于推理时,可以通过结构重参数化将1 × 1和3 × 3卷积核合并为单个3 × 3卷积核。具体的方法包括将1 × 1内核的周围部分填充为3 × 3形式。根据相同大小卷积核的可加性原理,将填充的卷积核加入到原来的3 × 3卷积核中,形成一个3 × 3卷积核进行推理。

【论文阅读笔记】Drone-YOLO: An Efficient Neural Network Method for TargetDetection in Drone Images_第5张图片

3.2. Neck

在本文提出的网络中,如图6所示,颈部的结构为PAFPN结构网络。颈部由自上而下和自下而上的分支组成。在自顶向下分支中,我们有自顶向下的第1层、第2层和第3层。自顶向下分支的不同层通过SPPF模块分别从主干的主干层和阶段1、阶段2、阶段3、阶段4接收特征映射P1、P2、P3、P4、P5。自下而上的分支由三部分组成:0层、1层和2层。自底向上的输入来自自顶向下的分支的输出,以及通过SPPF从主干的第四阶段层得到的特征映射。它们的输出由C2、C3、C4、C5四个不同大小的特征图组成,分别对应不同大小目标的探测头。

【论文阅读笔记】Drone-YOLO: An Efficient Neural Network Method for TargetDetection in Drone Images_第6张图片

考虑到我们需要分析的图像数据量比较大,这些图像内的物体比较小和密集,如果按照YOLOv8的策略使用适合检测图像中小物体的三层PAFPN,会限制在大尺寸图像中检测大量微小而密集重叠物体的有效性。因此,我们将PAFPN模块扩展为四层结构,从主干的干层和阶段层提取特征图,并将四个相同大小的特征图输出到四个不同的检测头中,以检测微小、小、中、大尺寸的目标。

如图7所示,我们提出了三明治融合(SF),这是一种新型的三尺寸特征图融合模块,它为检测头优化了目标的空间和语义信息。该模块应用于颈部自上而下的图层。该模块的灵感来自于YOLOv6 3.0[27]中提出的BiC模型。三明治融合(sandwich-fusion, SF)的输入如图所示,包括骨干网下段、对应段和上段的特征图。目标是平衡低层特征的空间信息和高层特征的语义信息,优化网络头对目标位置的识别和分类。

【论文阅读笔记】Drone-YOLO: An Efficient Neural Network Method for TargetDetection in Drone Images_第7张图片

三明治融合(SF)模块与YOLOv6 3.0的BiC模型的不同之处在于,它实现了一个深度可分的卷积层[40],从底层提取包含目标最详细、最精确位置信息的特征图。该模块将较低的、相应的和上采样的高级特征映射连接起来作为其输出。自顶向下层的后续C2f模块对这些组合信息进行提取,其中包含了丰富的目标分类和空间定位细节。

深度可分卷积是一种两阶段卷积,包括仅对单个通道中的特征映射进行深度卷积和仅对特征映射通道进行点向卷积。与具有相同大小核的卷积层相比,深度可分离卷积的参数相对较小。该方法在不增加大量参数的情况下,扩大了接收野,在RepLKNet[41]上取得了良好的效果。

PAFPN模块部署在改进的YOLOv8中作为颈部。通过SPPF层可以很好地获得其分类信息,但空间信息可能不准确。请注意,主干早期阶段的特征图是空间信息的理想特征源,因为这些特征不需要进行多次下采样,并且保留了相对详细的位置信息。然而,这些特征的缺点是在骨干网络的早期阶段,网络的接受场较小,在从复杂的纹理特征中正确识别背景和位置信息方面存在一定的缺陷。因此,在三明治融合(SF)模块中,采用大核深度可分卷积,从早期特征中提取更准确的位置信息,过滤掉与被检测对象相关的不相关信息。

3.3. Proposed Models

在网络颈部,扩展PAFPN结构的自顶向下分支中的三明治融合(SF)模块根据不同层的位置,用于底层深度可分离卷积层的卷积核的大小不同。具体数据如表1所示:

【论文阅读笔记】Drone-YOLO: An Efficient Neural Network Method for TargetDetection in Drone Images_第8张图片

在Drone- yoloL模型的基础上,我们采用技术创建了一系列不同规模的网络模型。这些技术包括在主干的每个阶段减少C2f模块,减少卷积层的通道。因此,我们开发了其他四种不同规模的网络模型:无人机- yolo(中等),无人机- yolo(小型),无人机- yolo(微型)和无人机- yolo(纳米)。其中,无人机- yolo (large)模型的检测精度最高,但尺寸参数最大,计算复杂度最高。另一方面,无人机- yolo(小型)和无人机- yolo(微型)具有更少的参数,提供令人满意的性能,并以更快的处理速度运行。值得注意的是,当在无人机遥感图像上测试时,微型模型在探测微小目标方面表现得非常好。它产生的结果与YOLOv8l相当,而仅使用后者的十分之一的参数。这个特性使得它非常适合部署在边缘计算设备上。对于提出的网络模型集,骨干网的模型参数如表2所示,颈网的模型参数如表3所示。

【论文阅读笔记】Drone-YOLO: An Efficient Neural Network Method for TargetDetection in Drone Images_第9张图片

【论文阅读笔记】Drone-YOLO: An Efficient Neural Network Method for TargetDetection in Drone Images_第10张图片表2给出了骨干网各模块的参数,包括主干、第一到第四层和SPPF。例如,在Drone-YOLO(大型)的情况下,该系统由一个通道为64、步幅为2的卷积层组成。在阶段层1中,下采样层由一个RepVGG模块组成,其通道为128,步长为2。第1层的网络组件包括3个级联的C2f组件,通道为128。

表3给出了颈内模块的参数,包括自顶向下和自底向上的分支。例如,在Drone-YOLO(微型)网络中,自顶向下分支的第一层由三明治融合(SF)模块的深度可分离卷积组成,通道为16,单级C2f模块的通道为48。

Drone-YOLO模型使用与YOLOv8相同的检测解耦头,其中分类和回归任务是单独的分支。检测头的每个分支由三个级联的卷积层组成。第一层和第二层使用3 × 3内核,而第三层使用1 × 1卷积内核。这两个分支机构分别负责BBox损失和类损失。分类任务采用二元交叉熵(BCE)损失,而回归任务采用完全IoU (CIoU)损失和分布焦点损失(DFL)的组合。

4. Experiments and Results

4.1. Dataset and Experiments Environment

VisDrone2019数据集[42]由天津大学机器学习数据挖掘实验室的AISKYEYE团队收集、注释和组织。VisDrone2019的目标检测数据集由图像和相应的标注文件组成,其中训练集图像为6471张,验证集图像为548张,测试集图像为1610张,竞赛集图像为1580张。在数据集中,图像大小从2000 × 1500到480 × 360不等。由于是从无人机角度拍摄的,因此与MS-COCO、VOC2012等地面人员拍摄的图像在拍摄角度、图像内容、背景、环境照度等方面存在较大差异。图8显示了VisDrone2019的示例图像。由数据集图像组成的场景非常广泛,包括街道、广场、公园、学校、居民社区等。

图像的照明条件包括光照充足的白天、光照不足的夜间、多云、强光和眩光条件。图像中标注的对象类型包括10种类型:行人、人、自行车、汽车、货车、卡车、三轮车、遮阳篷三轮车、公共汽车和电动机。

在实验中,我们使用Ubuntu 20.04作为操作系统,Python 3.8, PyTorch 1.16.0, Cuda 11.6作为桌面计算软件环境。实验采用NVIDIA 3080ti显卡作为硬件。基于Ultralytics 8.0.105版本修改了神经网络的实现代码。在训练、测试和实验验证过程中使用的超参数保持一致。将训练轮次设置为300,将输入网络的图像重新缩放为640 × 640。在下面列出的结果中,所有的YOLOv8和我们提出的Drone-YOLO网络都有我们实验的检测结果。在这些实验中,这些网络都没有使用预训练参数。其余数据来自相关被引论文。

在嵌入式应用实验中,我们使用NVIDIA的Tegra TX2作为实验环境,该处理器采用256核NVIDIA Pascal架构GPU,峰值计算性能为1.33 TFLOPS,内存为8GB。软件环境为Ubuntu 18.04 LTS操作系统,NVIDIA JetPack 4.4.1, CUDA 10.2, cuDNN 8.0.0。

4.2  Comparison with the Baseline Methods

我们的实验结果与多年来在该数据集上发表的其他方法的结果进行了比较,包括faster - R-CNN[6]、RetinaNet[43]、cascade - R-CNN[44]、CenterNet[45]、improved-YOLOv4[46]、MSA-YOLO[29]、TPH-YOLOv5[47]和and Li et al[34]。这些方法以及YOLOv8-s和YOLOv8-l作为本实验的基准方法。

在VisDrone2019-test数据集上,将输入图像尺寸缩放到640 × 640,对图9所示对比方法的实验结果进行测试。评估结果的度量对于每个对象类型是AP0.5,对于所有类型对象是mAP0.5。

所提出的无人机- yolo(大型)在mAP0.5中取得了最好的效果,并且在7个不同类型的目标上都是最好的。与基线方法中表现最好的TPH-YOLOv5[47]相比,我们的Drone-YOLO (large)将mAP0.5的值提高了9.1%。与基线方法相比,参数尺寸较小的DroneYOLO(中)和Drone-YOLO(小)也表现良好。

我们的实验结果与多年来在该数据集上发表的其他方法的结果进行了比较,包括faster - R-CNN[6]、RetinaNet[43]、cascade - R-CNN[44]、CenterNet[45]、improved-YOLOv4[46]、MSA-YOLO[29]、TPH-YOLOv5[47]和and Li et al[34]。这些方法以及YOLOv8-s和YOLOv8-l作为本实验的基准方法。

在VisDrone2019-test数据集上,将输入图像尺寸缩放到640 × 640,对图9所示对比方法的实验结果进行测试。评估结果的度量对于每个对象类型是AP0.5,对于所有类型对象是mAP0.5。

所提出的无人机- yolo(大型)在mAP0.5中取得了最好的效果,并且在7个不同类型的目标上都是最好的。与基线方法中表现最好的TPH-YOLOv5[47]相比,我们的Drone-YOLO (large)将mAP0.5的值提高了9.1%。与基线方法相比,参数尺寸较小的DroneYOLO(中)和Drone-YOLO(小)也表现良好。

【论文阅读笔记】Drone-YOLO: An Efficient Neural Network Method for TargetDetection in Drone Images_第11张图片

表5显示了所提出的方法和基线方法在VisDrone2019-val数据集和模型参数大小上的性能。我们提出的Drone-YOLO (large)在mAP0.95上表现最好,而MS-YOLOv7[31]在mAP0.5上表现最好。

【论文阅读笔记】Drone-YOLO: An Efficient Neural Network Method for TargetDetection in Drone Images_第12张图片

4.3 Ablation Experiment

在消融实验中,比较的基线方法是YOLOv8-l模型。我们在主干中增加了一个小尺寸目标检测头(YOLOv8-l + header)、一个三明治融合模块(YOLOv8-l + sandwich + header)和一个RepVGG模块作为下采样层(YOLOv8-l + sandwich + header + RepVGG)。经过以上三个阶段的改进,我们开发了我们提出的无人机- yolo(大型)模型。

每个模型都测量了VisDrone2019-Val数据集中的多个指标。在本实验中,所有超参数保持不变。在我们的训练过程中,输入图像大小为640 × 640,所有模型的批大小设置为8,训练周期为300 epoch。

实验结果如表7所示。从结果来看,YOLOv8-l模型改进最显著的是增加了小尺寸目标检测头,在最严格的mAP0.95指标上改进最大,达到19.3%。这表明从空间丰富的特征图中检测小尺寸目标在该任务中的重要性。添加三明治融合模块后,数据集上测量到的改善最不显著,mAP0.75指标略有下降。但是,mAP0.5和最严格的mAP0.95指标略有上升。当采用REPVGG结构作为主干部分的下采样模块,该结果有所改善,基于mAP0.5指标,该结果提高了1.2%。

【论文阅读笔记】Drone-YOLO: An Efficient Neural Network Method for TargetDetection in Drone Images_第13张图片

4.4 可视化

下面分析本文提出的无人机- yolo(大)、无人机- yolo(小)和yolov8 - 1在不同场景、光照条件、拍摄位置和物体类型的图像中物体检测结果的差异。

如图10所示,在图像的右中部分,有五辆汽车行驶在街道上,用红框标记。第一辆车刚开到人行天桥脚下,两盏明亮的灯照在地上。对于这五辆车,Drone-YOLO(大型)检测到其中两辆,而其他两种方法没有检测到任何一辆。在图像的左中部分,有两辆车在路上行驶,用红框标记。无人机- yolo(大型)探测到两辆高度稳定的车辆。无人机- yolo(微型)也探测到两辆车,但耐久性稍低。

yolov8 - 1没有检测到任何一辆车。

如图11所示,图的上部被一个大红框圈起来,是一条主干道,路上行驶着许多汽车。由于航空摄影的高度和距离,图像中的汽车尺寸相对较小。yolov8 - 1在图像的这个区域只检测到三辆车。无人机- yolo(大型)和无人机- yolo(微型)都能探测到大多数目标。在图片的中央,有两辆车在辅助道路上行驶。yolov8 - 1也没有检测到这两辆车;然而,DroneYOLO(大型)和Drone-YOLO(小型)都检测到了这两辆车。在图像的左侧,有一辆汽车在建筑物后面的一条小路上。对于暴露在建筑物间隙中的目标,yolov8 - 1和无人机- yolo(微型)都没有检测到它,但无人机- yolo(大型)检测到汽车。

如图12所示,在低照度的夜间环境下,图像左侧红框内的立交桥下行驶着两辆摩托车和两辆汽车。

无人机yolo(大型)发现了一辆汽车、两辆摩托车和摩托车上的行人。

yolov8 - 1检测到一辆汽车和一辆摩托车。无人机- yolo(微型)只探测到一辆车。

如图13所示,图像的中心部分是街景,有充足的日间照明条件。无人机距地面约60米,大红框中圈出的街道区域距离无人机较远,道路上有大量汽车行驶。yolov8 - 1只能检测到少量的汽车。无人机- yolo(大型)和无人机- yolo(小型)都可以探测到许多这样的汽车。

如图14所示,图像场景为一个交通路口。无人机位于离地面相对较低的位置,并且在捕获的路面上有明显的眩光。

在街道的拐角处有一个购物中心的入口,人群在那里进出。这里有一个更大的红盒子。yolov8 - 1在该区域检测到1人,无人机- yolo(大)检测到多人,无人机- yolo(小)检测到的人较少,但比yolov8 - 1多。图中红框中突出显示的交通哨所被yolov8 - 1误认为是三轮车,而Drone-YOLO(大型)没有出现任何误报。无人机yolo(微型)错误地发现了三轮车和人。

5 conclusion

本文提出了基于YOLOv8模型的多尺度无人机图像目标检测算法drone - yolo。这些算法旨在解决与无人机图像目标检测相关的特定挑战。考虑到无人机图像场景较多,检测对象相对较小,我们对YOLOv8模型的颈部进行了改进。为了增强基于160 × 160特征图的小尺寸目标的检测,我们引入了一种三层的PAFPN结构。这一改进显著提高了算法对小尺寸目标的检测能力。此外,我们在颈部上下分支的每一层都加入了三明治融合模块。这种结构允许网络特征与包含丰富对象空间信息的底层特征融合。我们通过使用深度可分离进化来实现这种融合,它产生小参数并提供大的接受场。在骨干网中,我们利用RepVGG模块作为下采样层。与卷积层相比,RepVGG模块增强了网络学习多尺度特征的能力,并产生了更好的检测结果。

在我们的实验中,在ViSDrone2019-test数据集中,我们提出的Drone-YOLO(大型)在mAP0.5中的类目标检测方面优于基线方法,并且在AP0.5指标的10个类中有7个表现最好。在VisDrone2019-val数据集中,我们的方法在mAP0.95指标方面优于其他方法。在VisDrone2019-test数据集上,只有5.35 M个参数的Drone-YOLO (tiny)在mAP0.5指标中获得了与9.66 M个参数的基线方法接近的结果。在VisDrone2019-val数据集上,它在mAP0.5指标中超过了基线方法。值得注意的是,我们的网络改进方法并没有纳入当前流行的注意力机制,这表明基于任务特定变化的进一步增强的潜力。

提出的方法由不同参数大小的模型组成,其中参数较大的模型适用于桌面计算平台上的飞行后目标检测。具有较小参数的模型在NVIDIA Tegra TX2平台上进行了测试,并显示出高度准确的结果。考虑到NVIDIA最近发布的平台(如Jetson Xavier NX和Jetson AGX Xavier)的计算能力,我们提出的方法非常适合在与无人机集成的高性能嵌入式平台上执行高精度目标检测任务。

你可能感兴趣的:(论文阅读,笔记,YOLO)