易图明 王先全 袁威 孔庆勇
摘 要:针对装甲目标图像背景复杂、目标尺度小等问题,提出一种基于YOLOv5s的装甲目标检测算法。首先在FPN结构中增加一个浅层分支,增强对小目标特征的提取能力;其次通过Focal Loss损失函数来平衡正负样本;再次将CIoU_loss用作边框回归损失函数,用以提升识别精度;最后将ECA注意力模块引入算法中,加强重要特征的表达。实验结果表明,改进算法在自制数据集上AP达到92.9%,相较于原始算法提高了4.2%,能够很好地满足装甲目标检测任务的精度与速度需求。
关键词:装甲目标;YOLOv5s;特征金字塔;ECA注意力模块;Focal_loss
中图分类号:TP391.4 文献标识码:A 文章编号:2096-4706(2023)05-0073-05
An Improved Armored Target Detection Algorithm Based on YOLOv5s
YI Tuming1, WANG Xianquan2, YUAN Wei1, KONG Qingyong1
(1.Southwest Computer Co., Ltd., Chongqing 400060, China; 2.Chongqing University of Technology, Chongqing 400054, China)
Abstract: Aiming at the problems of complex background and small target scale of armored target image, an armored target detection algorithm based on YOLOv5s is proposed. First, a shallow branch is added to the FPN structure to enhance the ability of extracting small target features; Secondly, the Focal Loss loss function is used to balance the positive and negative samples; CIoU_ Loss is used as the loss function of frame regression to improve the recognition accuracy; Finally, ECA attention module is introduced into the algorithm to enhance the expression of important features. The experimental results show that AP of the improved algorithm on the self-made data set achieves 92.9%, which is 4.2% higher than that of the original algorithm, and can well meet the accuracy and speed requirements of the armored target detection task.
Keywords: armored target; YOLOv5s; characteristic pyramid; ECA attention module; Focal_loss
0 引 言
现代战争中,采集与处理战场信息的能力对战事成败起决定性的作用。装甲目标是地面战事的重要组成部分,在相关人员对战事的指挥判断中,快速准确的自动检测技术可发挥至关重要的作用。
相对于普通的目标检测任务,战争环境下对装甲目标的检测任务仍具有相当的挑战性,主要表现在以下几个方面:
(1)环境干扰大。装甲车辆作战时出没的环境往往十分复杂,且战场中的光照条件、气象条件差异大、变化快。装甲目标的背景比一般目标的背景更为復杂。同时,装甲目标往往涂有结合战场环境设计的干扰涂装,加大了目标与背景的区分难度。
(2)目标尺度小。目标检测系统需要识别更远距离的敌人目标。预警距离范围内采集的图像中目标的成像比例较小,加大了目标检测的难度。
(3)检测速度要求高。战场态势瞬息万变,同时具备准确性与实时性的目标检测算法才能够满足作战需求。
随着人工智能与深度学习技术的发展,以卷积神经网络为代表的深度学习算法能够利用图像的深层语义信息,大大提升了检测能力。深度学习模型已逐渐取代传统的人工模型,成为图像检测领域的主流算法,在装甲目标的检测与识别上实现了较大的突破。邓磊提出一种基于多金字塔池化模型的整体嵌套卷积网络,通过引入空洞卷积思想,在保证卷积特征分辨率不变的前提上提高弱小目标的检测精度;同时在整体嵌套卷积的基础上利用装甲目标的形状先验找到感兴趣的目标区域,有效地提升了目标的表征能力与抗干扰能力。孙皓泽以轻量级卷积神经网络MobileNet作为骨架网络,构建一个多尺度的单步检测网络,然后根据装甲目标的尺寸分布情况使用分辨率更高的卷积特征图,并引入Focal-Loss损失函数来代替传统的交叉熵损失函数,有效地克服了训练过程中存在的正负样本分布极度不平衡的问题。王全东在将Faster R-CNN算法与现有跟踪算法相结合的基础上提出复合式目标跟踪算法,实现了对坦克装甲目标的自动检测与稳定跟踪。王曙光通过改进YOLOv2算法展示出YOLO系列算法在装甲目标检测任务中的速度优势。
众多研究人员采用深度学习模型研究装甲目标检测问题,并取得了突破性的进展。在此基础上,针对装甲目标图像检测的特点与要求,提出一种基于YOLOv5s的装甲目标检测方法。主要工作如下:
(1)利用通道注意力对高价值特征选择性加强的能力,将ECA注意力模块添加到YOLOv5s网络中的部分卷积模块之后,降低融合卷积层中低利用率特征的影响。
(2)改进损失函数,优化边框回归与正负样本分配。
(3)改进YOLOv5的FPN结构,增加大尺寸特征层,更好地利用小目标浅层特征图中的信息。
1 YOLOv5目标检测算法
YOLOv5算法融合了众多深度学习目标检测框架的优点,是实时性与准确性俱佳的One-Stage目标检测算法,也是目前应用广泛的目标检测模型之一。YOLOv5s是YOLOv5系列中最轻量化的模型,其网络结构如图1所示,由输入端、Backbone、Neck、输出端四个部分构成。
YOLOv5s目标检测算法通过汇集各个算法的优点,使得检测速度和检测精度都达到了较高的水平,能满足战场环境下的实时性要求。为此,本文以YOLOv5s为基础算法研究适用于装甲目标的检测算法。由于YOLOv5s是以单阶段内同时完成装甲目标检测与定位的方式来提升检测速度,当装甲目标的尺度较小时,YOLOv5s在精度上的劣势也将被放大。
我们往往采用高空侦察机对装甲目标进行拍照,以高海拔观测等方式从距离目标较远处采集图像,装甲目标在图像中的成像尺度较小,且装甲目标往往结合周围环境进行伪装,与背景对比度较低,在特征提取环节易受干扰,使得目标定位精度较差。
YOLOv5s算法通过FPN结构采集三个尺度的特征图,其中浅层特征图包含更多语义信息,更有利于对小尺度目标的检测。然而,装甲目标图像中含有尺度更小的微小目标,YOLOv5s的浅层特征图仍然不能满足微小目标的检测精度要求。
2 改进装甲目标检测算法
针对上述YOLOv5s在装甲目标检测任务中存在的不足,本文从优化损失函数,增强网络感受野,提升网络特征提取能力等方面对YOLOv5s算法进行改进,进而提升装甲目标的检测精度。同时对部分特征提取网络进行轻量化处理,提升检测速度。
2.1 改进的FPN结构
YOLOv5s中FPN+PAN结构通过高中低三层特征层的叠加,在多尺度目标检测场景中取得了较好的效果,但对于微小尺度的装甲目标,仍无法达到良好的性能。原因在于FPN结构通过包含更多边缘信息及几何信息的高分辨率浅层特征进行小目标的检测,但其浅层特征图大小为原始输入的1/8,微小目标的表达仍然受到较大干扰。因此,可利用更浅层的特征图来提高对微小目标的检测效果。本文对原始YOLOv5的特征金字塔结构进行改进,增加一个1/4原图大小的特征层,从而获取更多微小目标的特征信息。改进后的特征金字塔结构如图2所示。
2.2 损失函数优化
YOLOv5算法的损失函数由边框损失函数、分类损失函数及置信度损失函数组成。根据装甲目标的特点对损失函数进行优化,这对检测效果的提升具有重要意义。
2.2.1 CIoU_loss边框回归损失函数
YOLOv5默认边框损失函数为GIoU_loss。在装甲目标检测任务中,由于目标尺度较小,对位置的偏差更敏感,更有可能出现预测框完全包含或完全不包含真实框的情况。当预测框完全包含真实框时,无法确定目标相对位置关系,会对精度产生影响。
为了解决GIoU_loss存在的问题,本文采用CIoU_loss来改进预测框的回归精度。CIoU引入了预测框与真实框中心点之间的欧氏距离,为预测框回归提供更好的精度。CIoU_loss计算公式为:
(1)
其中,b表示真实框的中心点;bgt表示预测框的中心点;ρ表示欧氏距离;c表示真实框与预测框的最小外接矩阵面积对角线长度;α表示正权衡参数,如式(2)所示;v表示衡量纵横比一致性的参数,如式(3)所示;IoU则表示真实框与预测框的重叠面积。
(2)
(3)
2.2.2 Focal Loss损失函数
微小装甲目標在整幅图像中的占比较低,能够匹配到的预测框(正样本)较少,而没有匹配到的预测框(负样本)比例极高,在训练过程中会出现负样本淹没正样本的表达。原始YOLOv5并未增加小目标损失权重在损失函数中的占比,导致微小装甲目标的检测效果不够理想。为了解决正负样本不平衡的问题,本文引入Focal Loss损失函数来计算分类误差。
(4)
(5)
(6)
其中,p表示样本预测概率;α表示平衡参数,在正样本数量较少时,通过减小α增大对错误样本的惩罚来改善样本的不平衡性;ζ表示聚焦参数,通过该调制因子聚焦难分样本,增大小目标的损失比。根据其他研究人员的经验,本文取α=0.25,ζ=3。
2.3 注意力机制
2.3.1 ECA注意力模块
通道注意力机制在不改变网络输出的前提下为各通道赋予不同权重来加强关键通道的影响力。SENet模块通过两个全连接层来捕获通道相关性。虽然该策略被广泛应用于后续的通道注意模块之中,但分析结果表明,降维会对渠道关注度的预测产生负面影响,同时,全连接层的较大计算量也会对性能产生影响。
为了实现不降维通道间的交互,ECA注意力模块通过一种一维卷积方法,回避了降维对学习通道注意力的负面影响,并且在不影响性能的前提下降低模型的复杂性。因而本文将ECA模块引入YOLOv5s网络中,让网络更加关注小尺度目标,提取出更多不同的特征,用以区分目标与背景。
ECA模块结构如图3、图4所示。
各通道注意力权重用P表示:
(7)
Y为gap后各通道,如式(8)所示:
(8)
通过简单的矩阵运算,在ECA模块避免各通道注意力权重完全独立的同时,降低了参数量。
2.3.2 ECA-C3模块
添加注意力模块的位置决定了其作用效果。随着网络的加深,通道包含的语义信息更加丰富,有利于小目标识别的纹理、轮廓等信息逐渐弱化。對于YOLOv5网络,通过Backbone层中的C3模块进行特征提取,Neck层和Head层主要负责分类。因此,本文将ECA注意力模块嵌入Backbone层内的C3模块中。
3 实验验证与分析
3.1 数据集构建
公开的装甲目标数据集较少,因此本文采用自制的装甲目标数据集。一部分来自公开数据集,一部分来自网络搜集。采用Mosaic对样本进行随机裁剪、缩放、拼接等操作,在丰富数据集的同时增加了小样本目标,提升了网络的训练速度。数据集中部分图片如图5所示。
3.2 实验环境
实验平台硬件配置为:Intel Xeon Silver 4210R处理器,NVIDIA RTX 3060显卡,操作系统为Windows 10专业版,开发环境为Python 3.9,PyTorch 1.6.0,CUDA 11.1。
3.3 参数设置
训练过程总共迭代350个epoch,Batch_size设置为16。每次训练都进行参数更新,将初始学习率设置为1×10-3。在迭代150轮后,将学习率降为1×10-4。
4 结果分析
4.1 评价指标
本文以平均精度(Average Precision, AP)和每秒帧数(Frame Per Second, FPS)作为主要评价指标。如式(9)所示,AP值越高,代表网络检测装甲目标的性能越好。
(9)
其中,r表示某个召回率所对应查准率的值,查准率r和召回率p的计算公式为:
(10)
(11)
其中,ITP表示正确检测出的装甲目标;IFP表示误检为装甲目标的虚假目标数量;IFN表示未被检测出的装甲目标;FPS表示模型每秒可以处理的图片数量,与算法的实时性成正比。
4.2 消融实验
为进一步分析各种改进内容在装甲目标识别任务中的影响,本文对某一模块单独作用下的改进算法与完整改进算法在数据集上的效果进行对比,测试结果如表1所示,“√”表示引入该模块。
模型1为最原始的YOLOv5s模型。在模型1的基础上,模型2在C3模块中加入了ECA注意力机制。可以发现,在目标与背景对比度低等特征提取困难的情况下,ECA注意力机制对提取特征有积极的影响。
对比模型3、5、6、7可以发现,多层特征金字塔对提升微小目标检测效果的贡献最为显著。这说明浅层特征包含的轮廓、纹理等细节信息是解决微小目标检测的重要基础。浅层特征与深层特征的融合能有效降低冗余信息的负面影响。
模型7主要是针对损失函数进行了优化,引入了Focal Loss损失函数和CIoU_loss边框回归函数。提升了AP值,且无明显的速度损失。证明两者的结合能有效提升对微小目标的检测精度。
模型9为引入所有改进内容的算法。在不明显牺牲速度的情况下,精度达到了最佳。可以得出,相较于原始YOLOv5s算法,本文提出的改进内容有效改善了装甲目标的检测效果。
4.3 对比评价
为了验证本文所提算法的有效性及优越性,将本文最终提出的算法模型与原始YOLOv5s算法、YOLOv5x算法、YOLOv5m算法、YOLOv4-tiny算法、SSD算法、Faster R-CNN算法在数据集上进行实验对比,对比结果如表2所示。
对比表2中不同算法模型的实验结果,从中可以看出,相较于two-stage的Faster R-CNN算法,YOLO系列算法和SSD算法等one-stage算法在检测速度上都有着压倒性的优势。
对比YOLOv5s与SSD算法,YOLOv5在检测速度与精度上的表现更加突出,说明本文选取YOLOv5s作为装甲目标检测任务的基础算法是合理的。
相较于检测精度最高的YOLOv5x算法,本文所提算法FPS提高了67%,运行速度优势明显,更适合于对实时性要求较高的装甲目标检测场景。
检测速度最高的YOLOv4-tiny算法,虽然其检测速度相较于其他算法有着显著优势,但由于其大量使用轻量化卷积层并降低网络深度,其在检测精度上的表现最差,只有62.5%,未能在速度与精度指标之间取得平衡。
综上所述,本文所提算法拥有精度上的优势,与此同时并没有过多地牺牲检测速度,整体表现更加突出。改进算法的效果如图6所示。
5 结 论
本文提出一种改进的YOLOv5s算法,主要针对装甲目标图像中的目标尺度较小、背景复杂、特征提取受限导致的无法同时满足检测速度及精度的问题,得出如下结论:
(1)在特征金字塔结构中增加浅层特征层,能有效地提升对微小装甲目标的特征表达,提升了检测精度。
(2)Focal loss通过为正负样本赋予不同权重,降低正负样本不均衡和难易样本对检测精度的影响。
(3)在特征提取模块后添加ECA模块能有效地提升网络中关键通道的表达能力,提升网络的效率。
实验结果表明,改进算法在装甲目标检测常见场景中,能够在满足实时性要求的前提下有效地区分目标与背景,提高对小目标的识别效果。同时,相较于通用数据集的普通目标检测任务,装甲目标检测精度仍有一定的提升空间。本文的数据集只是区分装甲目标与背景,未对装甲目标的种类做进一步的区分,后续研究应注重提升算法的泛化能力。
参考文献:
[1] 邓磊,李海芳.基于多尺度整体嵌套池化语义的装甲目标检测 [J].激光与红外,2022,52(2):295-304.
[2] 孙皓泽,常天庆,张雷,等.基于轻量级网络的装甲目标快速检测 [J].计算机辅助设計与图形学学报,2019,31(7):1110-1121.
[3] 王全东,常天庆,张雷,等.基于深度学习算法的坦克装甲目标自动检测与跟踪系统 [J].系统工程与电子技术,2018,40(9):2143-2156.
[4] 王曙光,吕攀飞.改进YOLOv2的装甲车辆目标识别 [J].计算机与现化,2018(9):68-71+79.
[5] HU J,SHEN L,SAMUEL A,et al. Squeeze-and-excitation networks [C]//Proceedings of IEEE conference on computer vision and pattern recognition. Salt Lake City:IEEE,2018:7132-7141.
[6] WANG Q,WU B,ZHU P,et al. ECA-Net: efficient channel attention for deep convolutional neural networks [C]//2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Seattle:IEEE,2020:11531-11539.
[7] GIRSHICK R,DONAHUE J,DARRELL T,et al. Rich feature hierarchies for accurate object detection and semantic segmentation [C]//2014 IEEE Conference on Computer Vision and Pattern Recognition. Columbus:IEEE,2014:580-587.
[8] REN S Q,HE K M,ROSS G,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.
[9] REDMON J,DIVVALA S K,GIRSHICK R B,et al. You Only Look Once: Unified, Real-Time Object Detection [EB/OL].[2022-09-25].https://blog.csdn.net/weixin_54546190/article/details/123028952.
[10] LIU W,ANGUELOV D,ERHAN D,et al. Ssd: Single shot multibox detector [C]//European conference on computer vision. Amsterdam:Cham,2016:21-37.
[11] HOWARD,ANDREW G. Mobilenets: Efficient convolutional neural networks for mobile vision applications [EB/OL].[2022-01-2].https://arxiv.org/pdf/1704.04861v1.pdf.
[12] ZHANG X Y,ZHOU X Y,LIN M X,et al. ShuffleNet: An Extr-emely Efficient Convolutional Neural Network for Mobile Devices [C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018:6848-6856.
[13] 丛眸,张平,王宁.基于改进YOLOv3的装甲车辆检测方法 [J].兵器装备工程学报,2021,42(4):258-262.
[14] SANDLER M,HOWARD A G,ZHU M L,et al. Mobilenetv2: Inverted residuals and linear bottlenecks [C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City:IEEE,2018:4510-4520.
[15] HOWARD A,SANDLER M,CHU G,et al. Searching for mobilenetv3 [C]//Proceedings of the IEEE International Conference on Computer Vision. Seoul:IEEE Computer Society,2019:1314-1324.
[16] MA N N,ZHANG X Y,ZHENG H T,et al. Shufflenetv2: Practical guidelines for efficient CNN architecture design [C]//Proceedings of the European Conference on Computer Vision. Munich:Springer,2018:122-138.
[17] 王燕妮,余丽仙.注意力与多尺度有效融合的SSD目标检测算法 [J].计算机科学与探索,2022,16(2):438-447.
作者简介:易图明(1969.10—),男,汉族,四川南充人,正高级工程师,国务院政府特殊津贴专家,本科,主要研究方向:通信技术;通讯作者:王先全(1968.09—),男,汉族,四川华蓥人,教授,硕士研究生,主要研究方向:计算机软件技术和智能仪器。
收稿日期:2022-08-03