基于改进YOLOv5的无人机遥感图像检测算法探究
2024-12-17刘华清王晗武美辰
摘 要:为了提高YOLOv5模型对无人机遥感图像的检测性能,本文进行了研究,该模型的主要问题是对小目标的漏检率和误检率较高。通过理论分析,发现其Anchor机制具有一定的优化空间,改进策略为使用NWD损失函数代替IoU损失函数。在性能仿真阶段,对比了4种基准模型的特点,将YOLOv5s模型与改进后的模型进行对比,对无人机遥感图像进行检测。结果显示,改进后的YOLOv5模型在准确度、召回率、多类别平均精确度方面均优于改进前。
关键词:YOLOv5;无人机遥感图像检测算法;Anchor机制改进;网络结构改进
中图分类号:TP 391" " " " 文献标志码:A
YOLOv5是一种应用广泛的图像检测算法模型,它能够识别无人机遥感图像中的人、物及环境信息,但该模型的性能存在不足,难以准确识别图像中较小的检测目标。鉴于此,研究过程旨在确定影响算法性能的原因,并进行改进。
1 YOLOv5模型在图像检测中的应用
1.1 YOLOv5模型基本原理
1.1.1 YOLOv1~YOLOv4模型发展过程
YOLOv5模型由YOLOv1~YOLOv4模型发展而来,因此继承了前4种算法模型的基本原理。YOLOv1模型将整个图形作为输入,利用网络将图形划分为若干区域,在此基础上进行预测和归类,从而对特定目标进行检测。区域划分的本质是将图像切割成正方形的格栅,如果在某个格栅中出现物体的影像,就预测其边界框,并计算反映物体是否存在以及物体类别的Score[1]。虽然该算法的检测速度较快,但也有一定的局限性,例如难以检测小目标,在每个格栅中只能预测2个物体。
YOLOv2模型是在YOLOv1模型的基础上进行改进的,其 引入了批量归一化处理、Anchor机制,并且将YOLOv1中的原有的网络结构改为Darknet-19。与YOLOv1模型相比,YOLOv2模型在保持图像目标检测速度不变的情况下,提高了检测精度。
YOLOv3模型以YOLOv2模型为基础,改进措施为将Darknet-19网络结构升级为Darknet-53,使模型具备多尺度检测的能力。在图像分类中,将YOLOv2的Softmax(归一化指数函数)更换为逻辑回归方法。与YOLOv2模型相比,该算法对图像目标的检测速度和精度均显著提高。
YOLOv4模型在YOLOv3模型的基础上对网络结构进行优化,利用CSPDarknet53网络替换Darknet-53网络结构。YOLOv3模型的主干网络采用Relu激活函数,在YOLOv4模型中,改用Mish激活函数。与YOLOv3模型相比,YOLOv4模型的优点为可进行反向求导,并且提取上下文特征。
1.1.2 YOLOv5模型介绍
YOLOv5模型在YOLOv4模型的基础上进行优化,其优势为进一步加快了图像中目标物体的检测速度。YOLOv5模型由输入端、检测端、颈部和主干网络4个部分组成。在输入端,继续使用YOLOv4模型的Mosaic数据增强,从4张不同的图像中各裁剪一部分,再组成一个新图片,实现了单次传入4张训练图片。在主干网络方面,YOLOv5模型将CSP结构和Focus结构整合在一起,实现切片[2]。模型提取目标特征的关键是颈部能够产生特征金字塔。为了确保目标检测的精度,在YOLOv5模型中引入了损失函数,该函数包括3种损失量,分别为分类损失、位置损失和置信度损失,3种损失的占比分别为40%、30%、30%。位置损失的计算原理为GIoU(Generalized IoU),该评价标准建立在IoU(Intersection over Union)的基础上。另外两种损失均采用BCE loss损失函数。以GIoU计算位置损失为例,相应的计算过程如公式(1)所示。
(1)
式中:B为预测框,Bgt为实际框;B∪Bgt为二者的并集;C为最小矩形区域,并且要求该区域必须包括预测框和真实框;IoU=(B∩Bgt)/(B∪Bgt)。
1.2 YOLOv5模型在图像检测中的局限性
YOLOv5模型作为一种目标检测技术,在实际应用中存在一定的局限性,主要体现在以下3个方面。
当被检测目标的特征不明显或者目标物较小时,算法模型的检测精度难以保证,容易出现误检或者漏检。
在图像中除了待检测目标外,通常还有较多的背景噪声,受其干扰,算法模型有可能弱化目标的特征信息,该问题在小目标检测中很常见。
YOLOv5模型的网络结构有可能丢失小目标的特征。
1.3 YOLOv5算法改进
1.3.1 调整输入图像大小
对于无人机遥感图像,研究人员通过调整输入图像的大小来优化网络。YOLOv5默认的输入尺寸是640px×640px,但是针对高分辨率的图像,可以尝试使用更大的输入尺寸,如1024px×1024px,以便网络能够更好地捕捉细节信息。在模型训练中,可以调整批量大小以适应更大尺寸的图像。
1.3.2 引入多尺度处理
多尺度处理是通过引入不同分辨率的特征图,来处理不同尺寸的目标。可以调整网络的结构以引入或改进特征金字塔网络(FPN)或者类似的结构,以便更好地融合不同尺度的信息。在模型训练过程中,研究人员需要调整特征金字塔网络中各个尺度特征图之间的连接方式和权重,以优化多尺度信息的融合效果。
1.3.3 引入注意力机制
注意力机制可以帮助网络集中关注重要的区域,对于无人机图像中变化较大,或信息量丰富的区域尤为重要。可以通过引入注意力机制模块,如SENet来增强网络对关键区域的感知能力。
1.3.4 增加深度或宽度
增加网络的深度或宽度,可以有效提高网络的表达能力,但也会增加计算复杂度。可以通过增加残差块的数量或者扩展模型的通道数来调整网络的深度或宽度。在实验中,需要根据性能和计算资源的平衡进行参数调整,可能需要对深度、宽度以及其他层次的参数进行调优。
1.3.5 优化损失函数
YOLOv5的损失函数包括目标检测、分类和坐标回归损失。可以对不同部分的权重进行调整,以便更加关注对小目标或远距离目标的检测。此外,根据具体场景和数据集的特点,研究人员需要调整不同损失函数的权重,以平衡不同部分对整体算法性能的影响。
2 基于改进YOLOv5的无人机遥感图像检测算法
2.1 Anchor机制存在的问题
YOLOv5模型作为一种图像检测技术,需要解决小目标检测问题,Anchor机制是主要的应对策略。该机制根据目标物的尺度及其长宽比来切割相关的图像区域,以此提高模型的学习效率,同时减少框与框间的重叠干扰。但Anchor机制本身也存在以下的局限性。1)锚框值取值问题。锚框值包括框的尺度(大小)和长宽比,其取值结果会影响算法的检测精度和效率。YOLOv5模型利用K-means算法确定锚框值,但可能出现局部收敛,导致不能获得全局最优解。2)小目标锚框计算问题。算法模型在训练阶段会生成数量较多的锚框,并且要对锚框进行分类,判断真实框与锚框间的偏差。通过IoU计算的标签对锚框进行分类。当被检测目标较小时,会显著影响IoU阈值的计算结果,进而干扰标签分配和锚框分类。
2.2 Anchor机制的改进策略
IoU对图像中小目标的位置偏移过于敏感,容易造成算法检测精度不高,因此使用NWD损失函数代替IoU,NWD损失函数有以下应用原理。
无人机遥感图像中存在较多的小目标物体,而物体大多具有不规则性,因此在一个标准的边界框内通常包括背景信息和目标物的信息,前者集中在边界上,后者位于边界框的中心。针对边界框建立二维高斯分布,由于目标位于边界框的中心,因此为中心像素设置最高权重,并且权重从中心向四周递减[3]。
将边界框记为R,则有R=(cx,cy,w,h),其中cx、cy分别为边界框中心点的横、纵坐标,w为边界框的宽度,h为边界框的高度。将R拟合成二维高斯分布N(µ,Σ),其中µ=[cx cy]T,Σ的计算过程如公式(2)所示。
(2)
NWD是归一化的Wasserstein距离,将边界框A和边界框B分别为A=(cxa,cya,wa,ha),B=(cxb,cyb,wb,hb),则两个边界框的二阶Wasserstein距离如公式(3)所示。
(3)
式中:Na、Nb分别为边界框A、B的二维高斯分布;W22(Na,Nb)为二阶Wasserstein距离单位;cxa、cya为第一个边界框的中心点坐标;wa,ha为第一个边界框的宽度和高度;cxb、cyb为第二个边界框的中心点坐标;wb、hb为第二个边界框的宽度和高度。原模型中的IoU为一个介于0~1的比例关系,因此要对W22(Na,Nb)进行归一化处理,c为2个分布的质心,使其落在(0,1)[4]。经归一化处理之后,可得到公式(4)。
(4)
2.3 性能仿真
2.3.1 仿真环境及评价指标
2.3.1.1 搭建仿真环境
仿真过程采用Python语言编写算法的程序代码,操作系统为Windows10,计算机主频为2.6GHz,内存为32G。训练算法时需要使用可编程的GPU,型号为NVIDIA GeForce RTX 3060。
2.3.1.2 性能评价指标
性能评价阶段的主要指标包括精确率P、召回率R、IoU为0.5时的多类别平均精确度(记为mAP@.5)以及IoU按照0.05步长从0.5升至0.95的多类别平均精确度(记为mAP@.5:.95)。
精确率P的计算方法为P=TP/(TP+FP),召回率R=TP/(TP+FN)。将正样本预测结果为正记为TP(True Positive),负样本预测结果为正记为FP( Positive),负样本预测结果为负记为FN( Negative)。从精确率和召回率的含义可知,前者越高,后者越低。
平均精确度(Average Precision,AP)的计算方法如公式(5)所示。
AP=∫01F(x)dx" (5)
式中:x为横坐标;F(x)为x点对应的纵坐标[5];mAP为每个类对应AP的平均值,该指标用于评价多类标签的平均预测精度,mAP的计算方法如公式(6)所示。
(6)
式中:QR为分类的数量;q为某个具体类别的编号;AP(q)为类别q对应的平均精确度。
2.3.2 试验数据集选取
无人机航拍数据采用VisDrone2019机器学习数据集,该数据集包括10209张静态图像,全部为无人机摄像头在不同高度、不同方位、不同距离捕获的影像,图片中的内容包括环境信息、物体信息以及人物信息等。从中随机选取7028张图片,将6479张图片作为算法模型的训练数据集,剩余的549张图片作为模型的测试数据集。由于改进的Anchor机制主要用于提高模型对无人机遥感影像中小目标的检测能力,因此从照片中选取10种较小的目标观测对象,包括行人、公共汽车、面包车、自行车以及摩托车等。另外,所有图片均在真实场景下拍摄,因此存在较多的干扰因素,例如低光照、下雨和大雾。
2.3.3 YOLOv5基准模型选型
YOLOv5是一系列算法模型的统称,由YOLOv5s、YOLOv5x、YOLOv5m以及YOLOv5l组成,为了选取最具代表性的基准模型,先使用训练数据集训练和测试以上4种模型的目标检测效果,从中选择最优模型,作为YOLOv5的基准模型。
2.3.3.1 参数设置及预热学习
在大规模训练前,先通过Warm-Up预热学习策略评估4种基准模型的基本特性,预测学习仅迭代3次,得到的结果见表1。其中深度是网络通道的系数,宽度为是指网络中BottleneckCSP结构模块的层缩放系数,层数和参数数量用于表征模型的复杂程度,每秒千兆浮点运算次数为模型对GPU造成的负担,从中可基本判断4种基准模型的运行特点。
2.3.3.2 基准模型在无人机遥感图像检测中的性能对比
分别运用4种YOLOv5基准模型检测无人机遥感图像中的小目标,模型训练的迭代次数为1000次,并计算相应的性能评价指标,结果见表2。从中可知,4种基准模型的精确率P和召回率R较为接近,都达到了较高的水平,不同条件下的平均准准确率依次提高,但模型训练时长却成倍增加。因此在兼顾性能和检测速度的情况下,将YOLOv5s模型作为代表性的基准模型。
2.3.4 基准模型与改进模型的性能对比
将YOLOv5s模型作为对照组,利用NWD代替IoU,从而优化YOLOv5s模型的Anchor机制,将优化后的模型记为YOLOv5+NWD,使用训练数据进行1000次模型迭代训练。再利用两种模型检测549张遥感图片组成的无人机测试数据集,结果见表3。改进后的YOLOv5模型的精确度、召回率、使用IoU阈值为0.5时的平均精度这三个性能指标均明显提高,2种算法模型的每秒千兆浮点运算次数保持一致,仅检测耗时略有提高[6]。与性能提高效果相比,检测耗时的小幅度提高可以忽略。
3 结语
YOLOv5是一种重要的图像检测算法模型,能够识别无人机遥感图像中的人、车辆、道路以及其他环境信息。根据现有的研究和使用情况,该模型存在一定的局限性,在小目标检测中缺乏足够的准确性。针对该问题进行优化,使用MWD损失计算方法代替原模型的IoU计算方法,从而优化模型的Anchor机制。经过性能仿真试验,改进模型的精确度、多类别检测平均精确度以及召回率均明显改善,达到了提高性能的目的。
参考文献
[1]路琪,于元强,许道明,等.改进YOLOv5的小型旋翼无人机目标检测算法[J].计算机科学,2023,50(增刊2):212-219.
[2]李甜,林贵敏,施文灶,等.改进YOLOv5s无人机航拍图像目标检测[J].闽江学院学报,2023,44(5):51-62.
[3]陈范凯,李士心.改进Yolov5的无人机目标检测算法[J].计算机工程与应用,2023,59(18):218-225.
[4]傅强,卢志伟,潘磊.CC-YOLOv5:改进的YOLOv5用于无人机航拍图像目标检测[J].现代计算机,2023,29(7):16-22.
[5]王建楠,吕胜涛,牛健.基于改进YOLOv5的无人机检测方法[J].光学与光电技术,2022,20(5):48-56.
[6]奉志强,谢志军,包正伟,等.基于改进YOLOv5的无人机实时密集小目标检测算法[J].航空学报,2023,44(7):251-265.