基于自适应特征融合的无人机小目标检测算法

2024-01-02 00:00:00赵滨淋陈功李胜
关键词:特征融合聚类算法

摘 要: 本文提出了一种针对无人机捕获图像的目标检测算法,旨在解决无人机视角下小目标检测存在漏检现象严重、检测精度低的问题。主要改进包括重新设计聚类算法生成更准确的先验框,引入自适应特征融合模块以使模型更灵活地学习上下文特征信息,更改检测头在较大的特征层上进行目标检测并解耦分类和回归任务。通过在VisDrone2019 数据集上进行广泛实验,改进后的YOLOv5s 模型相较于基准模型在mAP50 上提高了5.8%,并且保持了较高的帧率(67 FPS)。实验结果表明该改进方法能够显著提高模型的检测性能,使其适用于复杂的无人机捕获场景。

关键词: 小目标检测;检测头;特征融合;聚类算法

中图法分类号: TP391.4 文献标识码: A 文章编号: 1000-2324(2024)06-0814-12

随着无人机技术的发展,无人机视角下的目标检测在军事、安防、农业、环境检测、自动驾驶、灾害响应等领域具有广泛的应用,所以研究无人机视角下的目标检测技术具有极大的应用价值。在计算机视觉领域,目标检测一般分为传统目标检测和基于深度学习的目标检测。传统的目标检测的算法主要有Hough Forest[1]、BoostedCascade of Simple Features[2]、Template MatchingTechniques[3]等方法。这些方法在被提出时是非常有影响力的,但是这些方法具有对光照和视角变化敏感、难以处理遮挡、不适应复杂背景、手工设计特征的限制以及不支持端到端学习等劣势,这些劣势导致了深度学习方法的兴起。深度学习方法通过卷积神经网络(CNN)自动学习特征,并在端到端的框架中优化整个目标检测系统。如今深度学习方法在目标检测领域取得了显著的进展,特别是在处理复杂场景和大规模数据时具有明显的优势,所以基于深度学习的目标检测方法逐渐取代了传统方法,取得了更好的性能。

基于深度学习的目标检测技术主要分为两种。一种是先生成候选框,再对这些候选框进行分类和回归的两阶段目标检测算法,主要以RCNN[4]、Faster-RCN[5]为代表。另外一种是通过单个前向传播过程直接完成目标的分类和位置回归的单阶段目标检测算法,主要以YOLO系列算法[6-9]、SSD[10]、RetinaNet[11]为代表。随着对深度学习方法的深入研究,基于深度卷积神经网络的目标检测算法基本上可以满足各场景需求,但是大多数的目标检测算法是为自然场景图像设计的,如果直接应用以前的目标检测模型来解决无人机视角下的目标检测主要存在问题如下:(1)无人机飞行高度变化大,所以目标尺度变化不一,拍摄图像中的物体尺寸各异。(2)无人机拍摄的图像小、物体多、密度大。(3)物体之间存在重叠,难以捕获正确目标。(4)无人机拍摄的图像由于覆盖面积大,包含丰富的地理元素,所以系统很难进行区分。以上问题使得无人机视角下的小目标检测具有极大的挑战性。周华平等人[12]在YOLOv5 基础上引入通道注意力,提升了对小目标的检测效果。齐向明等人[13]针对小目标图像检测中存在相互遮挡、背景复杂和特征点少的问题,基于YOLOv7 提出一种重构SPPCSPC 与优化下采样的小目标检测算法,但是在轻量化方面还需要有所改进。Zhu 等人[14]提出了TPH-YOLOv5,通过在YOLOv5 中添加了一个预测头,并在头部应用了Transformer 编码器块以形成Transformer检测头,提高了无人机图像中高密度遮挡小物体的检测,但是极大的提高了计算量。Liu 等人[15]提出SEC2F,提升网络对小目标的敏感性,以及提出改进空间金字塔池化层以提高目标检测的准确率,但是检测效果并不是很好。Xu 等人[16]在骨干网络中引入可变形卷积,从而在不同感受野提取特征,同时利用上下文特征提高了小目标的检测精度。考虑到实时性,谷歌采用深度可分离卷积替换传统卷积,提出了MobileNet[17]骨干网络,大幅度降低了计算量,从而使模型能够部署在边缘设备上。

研究无人机下的小目标检测对农业有望提供更全面、准确的信息,帮助农业实现智能化、高效化管理,提高产量和质量,降低生产成本,对农业可持续发展具有积极的推动作用。结合无人机拍摄图像的特点以及考虑到单阶段目标检测的优点,本文采用YOLOv5s 算法作为基准算法,改进该算法用于解决无人机视角下的小目标检测存在的漏检和误检问题。主要工作如下:改进K-means 聚类算法中的距离度量,使用IOU作为距离度量。使用重构的C2F 模块替换原有的C3模块,加强对小目标的识别能力。更换检测头,在较大的特征层上进行检测,使更多小目标能被检测到。将检测头进行解耦,采用两个分支进行分类和回归,使网络能够进行差异性学习。

1 YOLOv5s 基准算法

YOLO目标检测算法是全卷积的单阶段目标检测算法,YOLOv5s 相对较小的模型设计使得它在实时目标检测方面表现优异。这对于需要低延迟响应的应用,如自动驾驶、实时监控等领域非常重要。所以YOLOv5s 非常适合用于无人机视角下的目标检测。

YOLOv5s 主要由Backbone、Neck、Head 三部分组成。其中Backbone 由Conv 模块和C3 模块构成,负责从输入图像中提取特征。作用是逐渐降低图像分辨率,同时增加特征图的深度,以在不同层次上捕获图像的语义信息。这些特征图将被传递给后续Neck 和Head。在YOLOv5中,Neck 部分采用了PANet(Path AggregationNetwork)结构,该结构通过横向连接和信息传递来实现多尺度特征融合,从而实现不同层的特征图进行上下文信息融合。有助于提高模型对不同尺寸目标的检测能力。Head 通过1×1 的卷积进行通道数的调整,从而完成目标分类和目标位置回归。

2 改进YOLOv5s

针对无人机视角下的小目标检测存在的难点,考虑到检测精度以及检测速度,对YOLOV5s算法进行改进。首先,改进K-means 聚类算法,使生成的锚框更加适合小目标,同时为了保留更多的小目标特征信息,设置输入网络的图片尺寸为960×960,并且把个别检测头更改为适合小目标的检测头。其次,使用自适应的上下文特征融合模块,使网络自适应自融合的整合上下文信息,帮助模型进行检测。最后,对检测头解耦为两个分支,使两个分支分别做目标分类和边界框回归,提高目标分类准确率和边界框回归的精度,从而增强网络对小目标的捕获能力。本文的总体架构如图1所示。

2.1 改进K-Means聚类算法

YOLOv5s 是一种基于先验框的单阶段检测算法,如果网络一开始选择了合适的先验框,那么神经网络更容易去学习特征,得到较好的检测模型。K-Means 是一种经典且有效的聚类方法,通过计算样本之间的相似程度将较近的样本聚为同一簇。在使用K-Means 聚类生成anchors时,如何衡量两个样本之间的相似性对聚类效果相当重要。YOLOv5s 采用K-Means 聚类算法加上遗传算法,使用欧式距离作为衡量样本之间的相似性。首先,该算法随机生成K个点作为初始聚类中心,将每个数据点分配到最近的聚类中心。然后,根据数据点重新计算聚类中心的位置。最后,重复上述步骤直至收敛。但是使用欧式距离衡量样本之间的相似性对离群值敏感,可能会导致一些离群值对聚类结果产生较大影响。对于尺度差异较大的边界框,因为尺度较小的样本框在欧式距离计算中受到较大的惩罚。可能会导致对小目标的样本框聚类效果不佳。

IOU(boxes, anchors)[18,19]是目标检测中常用的评价指标,它度量了两个边界框的重叠程度,所以本文采用IOU作为衡量样本的相似性。IOU相对于绝对坐标更加具有鲁棒性,有助于克服使用欧式距离时可能出现的尺度差异问题,能够更好地抵抗尺度变换。使用IOU 作为距离度量也可以更好地考虑目标框之间的重叠情况,这对于物体检测任务中存在物体重叠的情况非常重要。尽管GIOU、DIOU等一系列IOU变形考虑了边界框形状和中心距离,可能在某些情况下优于IOU。考虑到其计算效率和计算复杂度,本文选择IOU作为改进K-Means聚类算法的距离度量标准。

算法具体实现:(1)在所有的boxes 中随机挑选K个boxes作为簇中心。(2)计算每个boxes离这K个boxes 的距离(1-IOU)。(3)把每个boxes 分配到离K个簇中心中距离最小的那个簇。(4)根据每个簇中的boxes重新计算簇中心。(5)重复(3)、(4)直到每个簇中的元素不再发生变化。

2.2 自适应特征融合模块

无人机拍摄的图像由于覆盖面积大,包含地理元素,所以图像背景复杂,目标尺度较小。所以在网络模型中引入注意力机制是一种常见的方法,可以帮助模型更加集中地关注图像中的重要区域,从而提高检测性能。注意力机制通过对不同空间位置或通道的信息赋予不同的权重,使网络能够更自适应的关注与任务相关的区域特征。通道注意力机制更加关注对当前任务有用的通道,有助于网络更好地理解通道之间的关系。空间注意力机制能够更集中地关注对当前任务有用的区域,有助于模型更好地理解图像的空间结构。

同时使用这两种注意力机制,能更全面地捕获图像特征,能达到更好的效果,但无疑也增大了计算量。而Shuffle Attention[20]结合了这两种注意力机制,使用多分支结构,并且使用组卷积降低了计算量。Shuffle Attention 使得网络自适应的整合了局部特征及其全局依赖关系。其结构图如图2 所示,首先将输入的特征图划分为g个组,把每个组中的特征图沿通道维度分为两个分支,一个分支使用通道注意力机制,另一个分支使用空间注意力机制。然后把两个分支进行拼接,将组内的信息进行融合。最后使用Channel Shuffle 操作对特征组进行重排,从而使组间信息沿通道维度流动。

C2F 模块是在C3 模块基础上改进的,上层特征图经过一个卷积后,在通道维度上分为两个分支,一个分支经过n 个Bottleneck block 所得到的输出直接与另一个分支进行拼接。其结构图如图3 所示。在C2F 模块中的Bottlenck 中加入Shuffle Attention 注意力机制把C2F 重构为AR_C2F 模块,如图4 所示。这样不仅能提供更丰富的梯度信息还能保证模型更加轻量化,同时还能使得模型自适应的整合了局部特征及其全局依赖关系,从而有助于提高模型的查全率以及准确率。

2.3 更换检测头

由于无人机视角下的目标大多数是小目标,所以本文更换检测头(Change detection head),使得训练出的模型更加适合小目标检测。

更大的特征图通常也意味着减少了对图像的下采样次数,有助于保留更多的细节信息,这样模型能更好地捕获目标的细节信息,这对于小目标而言尤其重要,因为小目标的细节信息可能决定了它们的类别和位置。在更大的特征图上进行位置回归,尤其是在目标尺寸较小时,模型更有可能准确定位目标的边界框,这样有助于提高目标检测的准确性。采用更大的特征图也可以降低误检率,降低将背景误认为目标的可能性。而且在密集场景中,目标可能相互靠近,更大的特征图也能使模型更容易分辨和定位这些密集的小目标,提升了模型的鲁棒性。

2.4 混合解耦检测头

YOLOv5 的检测头原本是一个耦合头,借助一个1×1 的卷积调整通道数,目标分类和位置回归两个任务耦合在一起进行。但是在目标检测任务中,分类和回归任务的难度是不尽相同的,分类任务常常会受到类别不均衡或者某些类别难以区分的样本的影响,耦合头这种设计可能会导致两个任务互相干扰。耦合头难以区分分类和回归任务的优先级,在一些情况下,对于某些目标,可能位置回归更为重要,而在其他情况下,目标分类可能更为重要。

本文对检测头进行解耦处理,其结构如图5所示。使用解耦头(Decoupled detection head)后,解耦为两个分支,使其分类和回归任务的学习过程相互独立,模型在学习不同任务时更加灵活,两个任务之间不会相互干扰,可以提高模型的泛化能力。解耦头也有助于模型更好地适应不同尺度的目标,特别在涉及小目标场景中,由于回归任务得到独立的学习,可以期望在目标定位上取得更加准确的效果。而且不同的应用场景可能对分类和回归任务的需求不同,解耦头允许模型在这两个任务上进行有差异性的学习,从而更加适应不同的需求。

算法具体实现:(1)使用1×1的卷积调整通道数。(2)将输入特征复制两份,各自经过3×3 的卷积。(3)一个分支通过1×1的卷积把通道调整为类别数,本文为10 类别。(4)另一个分支通过1×1 的卷积,然后把该层特征复制成两份,其中一个分支通过1×1的卷积把通道调整为4,用于确定目标的坐标以及宽高。另一个分支通过1×1的卷积把通道调整为1,从而确定目标的置信度。

3 实验分析

3.1 实验环境与数据集

本文使用天津大学AISKYEYE团队采集并制作的VisDrone2019 数据集[21],该数据集主要用于评估和推动无人机视觉任务中的目标检测和跟踪算法的发展。数据集是在不同场景、不同天气和不同光照条件下使用不同型号的无人机收集的,人工标注了超过260 万个真实框或感兴趣的目标点,主要包括了十个类别,分别是:行人(pedestrian)、人(people)、自行车(bicycle)、轿车(car)、货车(van)、卡车(truck)、三轮车(tricycle)、遮阳篷三轮车(awning-tricycle)、公共汽车(bus)、摩托车(motor)。该数据集也已经分别划分好了训练集、验证集、测试集。数据集相关信息如图6 所示。可以看出数据集中的类别分布极其不平衡,某些样本数量远远多于其他类别,就引入了一定的数据偏斜问题,影响了模型在其他类别上的性能。

查看数据集,如图7 所示。无人机视角下的图像通常包含复杂的场景、具有大量小目标,这使得区分目标与背景变得复杂。由于无人机在飞行过程中的不同高度和视角,图像中的目标会出现大幅度的尺度变换,特别是小目标。由于拍摄过程中,受到阴影或者强光的影响,造成图片模糊或者失真。以上因素都造成了该数据集在目标检测和识别任务中面临着一些挑战和困难。

实验过程中采用的windows 电脑配置如下:Intel(R)i5-12400F 的CPU,32G 内存,NVIDIAGeForce GTX 3060 12G 的图像处理器。Python版本3.7.16,Pytorch 版本为1.11.0。训练轮次(epoch)初始为200,批处理大小为8,采用SGD梯度下降优化器。数据增强参数如表1 所示,表中未提及参数都默认为0,这些数据增强方法通过随机地应用图像变换,有效地扩展了训练数据集的多样性,从而提高了模型对于实际应用场景的适应性和鲁棒性。

3.2 评价指标

为了验证模型性能,本文选用精确率(Precision, P)、召回率(Recall, R)、平均精度均值(mean average precision, mAP)和检测速度FPS来评估模型的检测性能。

3.3 消融实验

为了验证本文设计的改进K-Means 聚类算法、自适应特征融合模块(AR_C2F)、更换检测头(CDH)、解耦检测头(DDH)的有效性。本文在YOLOv5s 原模型的基础上进行改进,对于以上改进部分进行消融实验。在VisDrone2019-DET-test-dev 数据集上进行测试,采用mAP50 和FPS作为评价参数。

从表2 可以看出,在原有的模型上分别改进四个模块后,mAP50 分别提升了2%、2.3%、4.4%、3.9%。可以看出,这四个模块分别对小目标检测任务都有一定的提升作用。实验E,当同时使用改进K-Means、AR_C2F、CDH等模块时,可以看到在该测试集上,mAP50 达到了39%,提升了4.8%。实验F,当同时使用改进K-Means 聚类、CDH、DDH等模块时,在该测试集上,mAP50达到了39%,提升了4.8%。最后在实验G上,当四个模块进行耦合时,可以看到与未改进的YOLOv5s 相比,mAP50 达到了40%,提升了5.8%。

3.4 检测头消融实验

为了验证选取的检测头是否有效,如表3 所示,可以看出使用P2+P3+P4 检测层后,mAP50为0.386,并且参数量最低。证明更换后的检测头,保留了更多小目标的特征信息,降低了小目标的漏检和误检。同时减少了网络的冗余,减少了参数量。加快了网络的收敛速度。

3.5 AR_C2F残差消融实验

在AR_C2F 中,Bottlenck 有两种结构,即一种是带残差连接的,一种是不带残差连接的。经过一系列实验,研究Bottlenck 模块中的残差连接对目标检测性能的影响,并探究其对性能的贡献。结果如表4 所示。实验结果表明,在残差连接下,模型的性能达到最佳水平,移除残差连接导致了精度的下降,特别是在小目标检测方面。所以采用带残差的模块构建最终模型。

3.6 对比实验

通过进行大量实验对比了改进后的算法与其他主流算法在VisDrone2019-DET-test-dev 数据集的表现效果,以验证改进方法的有效性。对比结果如表5所示。

从表5 可以看出,本文方法与双阶段算法相比,如Faster-RCNN,本文mAP50 高出6.8%。而对比专注于小目标算法的TPH-YOLOv5 算法,由于引入了Transformer 预测头,导致计算量较大,所以推理速度较慢,本文方法在精度上与之差别甚微,但是速度上相比却更有优势。对比YOLOV4、V7 以及其他所提到的YOLO 系列变形,本文方法的精度更高。可以看出本文方法在小目标检测任务上有一定优势,可以提高小目标检测精度。

3.7 可视化分析

为了确认本文改进方法是否有效,本文选择了小目标、多目标密集场景下的图像进行可视化。对TP、FP、FN 指标分别使用绿色、蓝色、红色进行可视化。TP 代表了正确检测的样本,FP表示误检的样本,FN表示漏检的样本。

图8(a)为小目标场景下的对比效果,其中第一行的图片为YOLOv5s 下的预测结果,第二行为使用本文方法预测的结果,第三行为原始的标注图片。从图上可以看出在小目标场景下,使用本文方法更能准确识别小目标。

图8(b)为多目标密集场景下的对比效果,从图上可以看出在多目标密集且存在遮挡现象时,本文方法更能区分目标种类,也能降低漏检的概率。

图9 展示的是YOLOv5s 和本文算法的预测框中心点的热力图,左边图片是本文方法可视化结果,右边是YOLOv5s 算法可视化结果,可以看出本文提出的自适应特征融合模块使感知区域更为准确。

图10 展示的是在原始YOLOv5s 模型(左)和本文改进算法(右)在测试数据集上进行推理得出的P-R 曲线,可以看出改进算法在各个类别上的平衡点比原始YOLOv5s 模型都更接近右上角,改进算法得到的模型较原始模型更能降低漏检率,提高检测准确率。说明本文改进算法对小目标的检测精度具有较大提升并且同时能够降低漏检率。

4 结束语

本文在YOLOv5s 算法基础上进行改进。提出了一种基于自适应特征融合的无人机小目标检测算法。该算法采用IOU 作为K-Means 聚类算法中的距离度量生成先验框;接着重构C2F模块替换原有的C3 模块,以提高网络的自适应特征融合的能力;最后更换并解耦适合小目标检测的检测头,这使得更多的小目标能够被检测到。同时允许分类和回归任务独立进行互不干扰,从而提升了检测精度;经过一系列实验证明,本文方法在无人机视角下的小目标检测具有较好的检测效果。能够有效的完成密集小目标的检测任务,该算法也可以迁移到很多农业场景,如精准农业管理、早期病虫害检测、水稻田和果园管理。但后期工作需要对模型进行优化,可以采用一系列剪枝算法、蒸馏算法对模型进行压缩,提高其推理速度,使模型能够在无人机上实际部署应用。

参考文献

[1] Gall J, Yao A, Razavi N, et al. Hough forests for

object detection, tracking, and action recognition[J].

IEEE transactions on pattern analysis and machine

intelligence, 2011, 33(11): 2188-2202.

[2] Viola P, Jones M. Rapid object detection using a

boosted cascade of simple features[C]//Proceedings

of the 2001 IEEE computer society conference on

computer vision and pattern recognition. CVPR

2001. Ieee, 2001,1:I-I.

[3] Banharnsakun A, Tanathong S. Object detection

based on template matching through use of best-so-far

ABC[J]. Computational intelligence and neuroscience,

2014, 2014:919406.

[4] 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. 2014: 580-587.

[5] Ren S, He K, Girshick R, et al. Faster r-cnn: Towards

real-time object detection with region proposal

networks[J]. Advances in neural information

processing systems, 2015, 28.

[6] 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. 2016:779-788.

[7] Redmon J, Farhadi A. Yolov3: An incremental

improvement[J]. arXiv preprint arXiv:1804.02767, 2018.

[8] Bochkovskiy A, Wang CY, Liao HYM. Yolov4:

Optimal speed and accuracy of object detection[J].

arXiv preprint arXiv:2004.10934, 2020.

[9] Wang CY, Bochkovskiy A, Liao HYM. 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. 2023:7464-7475.

[10] Lyu Z, Jin H, Zhen T, et al. Small object recognition

algorithm of grain pests based on ssd feature fusion[J].

IEEE Access, 2021, 9: 43202-43213.

[11] Lin TY, Goyal P, Girshick R, et al. Focal loss for

dense object detection[C]//Proceedings of the IEEE

international conference on computer vision. 2017:

2980-2988.

[12] 周华平,郭 伟. 改进YOLOv5 网络在遥感图像目标

检测中的 应用[J]. 遥感信息,2022,37(5):23-30.

[13] 齐向明,柴 蕊,高一萌. 重构SPPCSPC 与优化下采

样的小目标检测算法[J]. 计算机工程与应用,2023,

59(20):158-166.

[14] 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. 2021:2778-2788.

[15] 刘 涛,高一萌,柴 蕊,等. 改进YOLOv5 的无人机视

角下小目标检测算法[J/OL]. 计算机工程与应用:1-

16[2024-01-11].

[16] 徐 坚,谢正光,李洪均. 特征平衡的无人机航拍图像

目标检测算法[J]. 计算机工程与应用,2023,59(06):

196-203.

[17] Howard AG, Zhu M, Chen B, et al. Mobilenets:

Efficient convolutional neural networks for mobile

vision applications[J]. arXiv preprint arXiv:

1704.04861, 2017.

[18] 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. 2020, 34(07):12993-13000.

[19] Rezatofighi H, Tsoi N, Gwak JY, 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. 2019:658-666.

[20] Zhang QL, Yang YB. Sa-net: Shuffle attention for

deep convolutional neural networks[C]//ICASSP

2021-2021 IEEE International Conference on

Acoustics, Speech and Signal Processing (ICASSP).

IEEE, 2021:2235-2239.

[21] 彭晏飞,赵 涛,陈炎康,等. 基于上下文信息与特征

细化的无人机小目标检测算法[J/OL]. 计算机工程

与应用,1-8[2024-03-06].

猜你喜欢
特征融合聚类算法
基于多特征融合的图像匹配算法
软件导刊(2017年7期)2017-09-05 06:27:00
人体行为特征融合与行为识别的分析
基于移动端的树木叶片识别方法的研究
科技资讯(2017年11期)2017-06-09 18:28:13
基于SIFT特征的港口内舰船检测方法
融合整体与局部特征的车辆型号识别方法
数据挖掘算法性能优化的研究与应用
K—Means聚类算法在MapReduce框架下的实现
软件导刊(2016年12期)2017-01-21 14:51:17
基于K?均值与AGNES聚类算法的校园网行为分析系统研究
基于改进的K_means算法在图像分割中的应用
大规模风电场集中接入对电力系统小干扰稳定的影响分析
科技视界(2016年8期)2016-04-05 18:39:39