夜间作战和隐蔽行动是现代军事中的关键策略。夜间作战利用敌方的视觉弱点使之更容易接近、侦察、打击或撤离目标;隐蔽行动使用隐身技术和伪装来隐藏军事单位的存在,包括使用隐身飞机、船只或装甲车辆,或使用伪装涂装和掩体来掩盖位置。在此情况下,传统使用RGB图像进行目标识别的方法在夜间条件下色彩失真,缺乏细节,清晰度差,已不满足现代战争的需求,而红外成像技术具有穿透雾霾、烟雾的能力,可以在完全黑暗或低光环境下工作,能够解决RGB图像夜间条件下的缺点,便于夜间目标的检测识别。当前红外目标检测的研究还存在实时性较差、分辨率有限、鲁棒性较低、计算量庞大等问题,因此对红外目标检测方法进行准确性和轻量化的提升就尤为重要。
近年来随着深度学习的不断发展,基于卷积神经网络的目标检测算法已广泛的应用在目标检测的任务中,卷积神经网络(CNN)通过深层次的特征提取,能够捕获图像和数据的更抽象的语义信息,从而显著提高了特征的表达能力。这使得CNN在目标定位和分类等任务中,远远优于传统方法,后者通常依赖于手工提取特征。其中又分为单阶段与双阶段算法,典型代表有Faster R-CNN[1]、YOLO[2-8]、SSD[9]等。目前,对红外图像目标检测的研究已取得一定研究成果。林建等[10]提出了一种基于残差机制的特征提取网络,增加了更大尺寸的检测头,提高了红外图像小目标的检测概率;Sun等[11]提出一种以高效网络(efficientnet)取代传统骨干网络增强特征提取,以扩展残差U-Net降低红外图像噪声的新型模型,取得了0.89的检测精度;谌海云等[12]把空间通道混合注意力模块融合到CSP-Darknet53特征提取主干网络中,在检测头处进行反卷积操作扩大输出特征图,使网络模型检测精度比基准网络平均精度提高了5.04%;李云等[13]提出了一种基于脉冲耦合神经网络(pulse coupled neural network pcnn)和改进邻域判决的红外弱小目标检测算法,极大地减少了候选目标数量,准确有效地检测出复杂背景中的红外运动弱小目标;樊俊良等[14]采用Butterworth高通滤波对图像进行背景抑制,选用计算效率最高的非精确的增广拉格朗日算法恢复背景和目标前景图像,以适应多种背景下的单帧红外小目标检测。
本文中选取YOLOv5s作为基准网络框架,通过对原始主干网络改进,引入轻量级上采样算子,添加注意力机制,改变损失函数,提出一种轻量级目标检测网络M-YOLOv5,该网络模型增强了红外场景中网络的特征提取能力,同时明显降低了网络的计算能力,提高了模型的收敛速度。
YOLO(you only look once)系列算法是一种实时目标检测算法,由Joseph Redmon和Alexey Bochkovskiy等人提出。于2015年发布第一版YOLOv1,其后陆续出现v2、v3、v4、v5版本。通过对现有几种目标检测算法的分析与研究,综合考虑检测速度和检测精度的要求,选取YOLOv5s作为基础网络,YOLOv5s网络(见图1)由4部分组成(输入端、backbone、neck、prediction)。
图1 YOLOv5网络模型结构
Fig.1 YOLOv5 network model diagram
在图片输入阶段采用了与YOLOv4一样的Mosaic数据增强方法,该方法采取4张图片使用随机缩放、随机裁剪、随机排布的方式进行拼接,丰富了数据集的同时减少了GPU所需的算力,让网络的鲁棒性更优;在网络训练过程中,针对不同的数据集,会有不同的初始锚框,网络在此基础上输出预测框,进而与真实框相比较,计算两者差值,再反向更新,迭代网络参数;为了应对输入不同的图片尺寸,在把图片送入网络之前,通常会做图片缩放的操作,一般目标检测算法只能将图片缩放到固定尺寸,此种方式会存在更多的信息冗余,影响推理速度,而YOLOv5采用自适应图片缩放,即对原始图像自适应添加最少的黑边。
YOLOv5设计了2种CSP结构,分别位于Backbone与Neck中,CSP模块(见图2)的主要思想是将输入特征图分为2个部分,一部分进行卷积处理,另一部分保持原始状态,再将这2部分按通道进行连接,这样可以减轻卷积层对信息的破坏,并丰富特征表示能力。
图2 BottleNeck模块
Fig.2 BottleNeck module
Neck部分采用PANet[15-16]结构,如图3所示,在FPN基础上进行改进,引入了自顶向下和自底向上的路径聚合机制,自顶向下的路径通过上采样操作将较高层的特征向下传递,以便与较低层的特征进行融合,自底向上的路径通过横向链接将低层特征与高层特征进行融合,极大增强了其表示能力。
图3 FPN结构
Fig.3 FPN structure
Prediction阶段采用CIoU作为损失函数,用于计算预测框与真实框之间的差距,使用加权nms非极大抑制优化检测框,使得被遮挡目标也可被检出,进一步提升网络的检测精度,最终输出图片尺寸为80×80×256、40×40×512、20×20×1 024。
本文中以YOLOv5s为基础网络框架,进行4部分改进,如图4所示,首先采用改进的Shuffle_Block模块替换了原有的骨干网络,增强红外图像的特征提取能力,降低模型的复杂度,加快模型的推理速度;然后,在特征上采样模块中,把原有的邻近上采样算子替换为轻量化的CARAFE上采样算子,进一步减轻模型的复杂度;在C3模块中加入SE注意力机制,增强对重要通道特征的关注度;最后,用E-IoU损失函数替换C-IoU损失函数,以提供更好、更精确的收敛性,提高检测的效果。
图4 M-YOLOv5网络结构
Fig.4 M-YOLOv5 network structure
YOLOv5算法的权重文件都是在coco数据集上进行训练的,coco数据集里包括80个类别的常见物体,其中全都为可见光图片,模型参数较为庞大、计算量大、模型尺寸也大,比较依赖GPU进行计算。然而本文中的目标是设计轻量化网络,在保证预测精度与推理速度的前提下,减小模型的大小,以便更容易部署在移动设备上。因此采用轻量级ShuffleNetv2[17]网络结构替换YOLOv5原有的骨干网络,该网络结构可以很好的满足检测精度与运行速度的要求,但考虑到对红外场景进行识别时通常存在以下的问题:
1) 与RGB图片相比,红外图像缺乏详细的纹理与特征,尤其是在深层网络中,特征的丢失与其他的噪声。
2) 其次,在检测目标中,行人与自行车等重要检测目标通常形状为长条形,并不是规则的方形,所以用普通卷积进行卷积操作时,容易导致有效特征信息的丢失。
基于上述存在问题,本文中设计了一种深度条形卷积注意力模块(bdcm)。如图5所示,BDCM模块接收的信息首先经过一个5×5的深度卷积进行聚合,然后通过2对深度条形卷积(1×5,5×1)(1×3,3×1),以及一个不经过任何操作的分支,将3个分支的结果相加,使网络自适应选择性地融合不同层的信息,然后在由1×1的卷积实现跨通道的信息整合与交互,增强特征表达能力和多样性。
图5 BDCM模块
Fig.5 BDCM module
将BDCM模块嵌入到Shuffle_block模块中,并在右侧分支中加入SE注意力机制,得到的改进网络框架如图6所示。通常进行深度卷积操作时,会在卷积之前之后都进行一个1×1的卷积来融合通道之间的信息,但这样会导致冗余信息的产生,为了满足轻量化的要求,去掉一组1×1的卷积操作。
图6 改进的Shuffle_block模块
Fig.6 Improved Shuffle_block module
上采样是特征金字塔中至关重要的操作,上采样模块用于增强特征图的空间分辨率,从而提高目标检测的准确性和检测精度。常用的上采样方式有双线性插值、最近邻插值、转置卷积等,双线性插值法通过对相邻像素进行插值计算来增加分辨率,方法简单且计算效率高,但可能会导致一定的模糊效果;最近邻插值法将目标像素的值设置为距离最近输入像素的值,计算速度非常快,但可能会引入锯齿状的伪像;转置卷积法是一种通过学习可训练的卷积核来进行上采样的方法,但此种方法给网络引入了大量的参数和计算开销。Wang等[18]提出的CARAFE在一定程度上弥补了上面几种方法的不足,CARAFE的核心思想是通过组合低分辨率特征图中的信息来生成高分辨率特征图,它将低分辨率特征图中的每个像素都映射到高分辨率特征图中,并根据像素之间的空间关系进行插值。CARAFE主要分为2个模块,分别是上采样核预测模块和特征重组模块。如图7所示,上采样核预测模块对于形状为H×W×C的输入特征图,首先利用一个1×1的卷积将通道数压缩为H×W×C,然后利用一个kencoder×kencoder的卷积层来预测上采样核,输入通道数为Cm,输出通道数为然后将通道维在空间维展开,得到形状为的上采样核,最后对得到的上采样核利用softmax进行归一化操作,使得卷积核权重为1;特征重组模块中对于输出特征图中的每个位置,将其映射回输入特征图,取出以之为中心的kup×kup区域,和预测出的该点的上采样核作点积,最后得到输出值。
图7 CARAFE网络结构
Fig.7 CARAFE network structure
C3模块是YOLOv5网络中的一个重要模块,由多个卷积层和残差连接组成,位于backbone与head中,起到连接和提取特征的作用。在C3模块中加入SE注意力机制,使模型更聚焦于有效特征,提高特征区分性和表征能力;降低冗余信息,增加对多尺度特征的关注,提高模型的效率和泛化能力。具体改进方式如图8所示。
图8 C3_SE注意力模块
Fig.8 C3_SE attention module
YOLOv5使用CIoU作为其损失函数,它在计算边界框之间的距离时考虑了更多的因素,如框与框之间的位置与大小关系,从而可以更准确的衡量边界框之间的距离,进而用于目标检测任务中的模型训练。CIoU损失函数公式如下
(1)
式(1)中:α为权重系数, ρ2(b,bgt)为预测框中心点与标签真实框之间的距离,c为最小外接矩形的对角线长度,v为预测框和真实框的纵横比差值,若纵横比相同,则v为0。
由于CIoU中使用的纵横比是一个相对值,在计算过程中会引入不确定性,可能会阻碍模型的优化。因此本文中选用Efficient-IoU(eiou)[19]作为新的损失函数,基于CIoU的纵横比进行分割,用2个比率替代了预测框与真实框之间的原始长宽比差异,一个是预测框与真实框之间的宽度差异与最小外接矩形的宽度之比,另一个是高度差异与最小外接矩形的高度之比。这种方法可以得到更精确的边界框损失函数,从而更好的优化模型。公式如下
(2)
式(2)中: Cm和Ch分别表示最小外接矩形的宽度和高度。
本次实验的环境配置如表1所示。
表1 实验环境配置
Table 1 Experimental environment configuration
名称环境配置操作系统Windows处理器13th Gen Intel(R) Core(TM) i5-13600KF 3.50 GHz显卡NVIDIA GeForce RTX 3070机带RAM32.0 GB深度学习框架Python 3.9+Pytorch 2.0.0集成开发环境Anaconda,CUDA11.7,CUDNN8.8.1
本文中采用FLIR_ADAS数据集,该数据集于2018年7月发布,总共包含10 228张红外图像,将其按照9∶1的比例划分训练集与验证集。该数据集主要包括人、自行车、汽车、狗这4个类别,但其中狗这个类别只有240张图像,严重影响训练效果,因此本文中只聚焦于人、汽车与自行车这3个类别。本文中训练参数设置为:优化器选用SGD,图片分辨率设置为640×640,Batchsize设置为16,初始学习率设置为0.01,IoU阈值设置为0.5,动量取值为0.937,训练轮次为100个 epoch。
本文中采用准确率(precision)、召回率(recall)、AP(average precision)和mAP(mean average precision)、FPS(frame per second)作为评估指标。准确率与召回率公式如下
(3)
(4)
其中: TP表示正确检测的目标,FP表示错误的检测目标,FN表示未能检测到的目标,TN表示正确的错误目标。
AP值指平均精度,表示计算某一类P-R曲线下的面积,对不同类别下的P-R曲线求积分,即可求得相应类别的AP值,mAP是AP值所有类别下的均值,AP与mAP公式如下
AP=p(r)dr
(5)
(6)
本部分以YOLOv5s算法为基准,在此基础上对本文中提出的几种改进策略进行消融实验,以更好地了解不同改进策略对检测效果的影响,以以下4组方式进行消融实验,并以mAP、Params、Flops、Size作为评估指标。其中“√”表示实验中采用此方法,结果如表2所示。
表2 消融实验结果对比
Table 2 Comparison of ablation results
模型ShuffleNetv2M-ShuffleNetv2CARAFEC3_SE平均精度@0.5%参数量/M计算量/GYOLOv5s75.907.216.6A65.303.88.0B69.804.19.5C70.804.39.9D73.004.310.0
通过表2可以得出以下结论,A组实验将ShuffleNetv2作为YOLOv5s的主干特征提取网络进行轻量化改进,可以看出模型的参数数量与理论计算量得到了极大的减小,参数数量减少了3.8 M,理论计算量减少了8.6 G,但同时模型的平均精度损失比较严重,平均精度降低了10.6个百分点;B组实验将改进之后的M-ShuffleNetv2作为YOLOv5s的主干特征提取网络之后,虽然模型的参数数量与理论计算量进行了小幅的增长,分别增加了0.3 M、1.5 G,但模型的平均精度也增长了4.5个百分点,原因在于改进之后的模型,在原模型的主干特征提取网络的Shuffle_Block模块中加入了条形卷积的操作,增强了模型对于条形检测目标的检测能力,使得网络更好的捕捉图像的上下文信息,进而加强模型的特征表达能力。由A实验与B实验的对比结果可以明显看出,改进之前与之后的网络模型在检测平均精度上提升了4.5个百分点,在参数数量与理论计算量上仅仅增加了0.3 M与1.5 G,对比结果表明,在参数量与计算量不发生太大变化的前提下,B实验的特征提取能力优于A实验。C实验在B实验的基础上采用了新的上采样模块CARAFE,将低分辨率特征图增加到高分辨率中,提高了分割模型对细节的敏感性,实验结果显示,此实验相比于B实验的平均精度增加了1个百分点,参数数量增加了0.2 M,理论计算量增加了0.4 G;D实验在以上实验的基础上对原有网络的C3模块进行改进,将SE注意力机制添加到C3模块中,有助于模型更加关注有效特征,增强模型对不同尺度的特征提取能力,模型的平均精度提升了2.2个百分点,参数数量保持不变,理论计算量增加了0.1 G,说明添加注意力机制对特征融合有一定改善效果。总体分析,D组实验的结果与基准实验相比较,平均检测精度下降了仅2.9个百分点,而参数数量下降了2.9 M,理论计算量下降了6.6 G,模型在满足轻量化条件的前提下,还保证了模型在平均检测精度上不会有太大损失,满足了部署于边缘设备上的需求。
为了进一步验证M-YOLOv5s算法的检测性能,将对目前主流的轻量化网络在相同数据集下进行训练和测试,以各个类别的AP值、mAP值、speed、Params、Flops作为评价指标。其中M-YOLOv5和YOLOv5s的P-R曲线如图9、图10所示,曲线与x、y轴围成的面积表示各个类别的mAP值。
图9 M-YOLOv5 P-R曲线
Fig.9 M-YOLOv5 P-R curve
图10 YOLOv5s P-R曲线
Fig.10 YOLOv5s P-R curve
通过表3可以看出,本文中提出的M-YOLOv5s算法对比其他轻量化网络算法,在people与Bicycle的检测类别中具有较好的表现效果,其people与Bicycle类AP值相比于EfficientNet轻量化网络全部提升了1.9个百分点,与PPLCNet轻量化网络对比,则提升了8.9、14.8个百分点,说明了本文中对主干网络添加的条形卷积模块在检测条形目标时具有优良的效果;在模型推理速度方面可以看到本文中算法的模型推理速度为每个样本37 ms,比其他轻量化算法中最优的YOLOv3-tiny算法也要快3 ms左右;在模型的参数数量与理论计算量上,虽然本文中提出的算法并不是其中最优的结果,但参数量与计算量也处于其平均水平之间,同时也保证了模型检测精度的优越性;M-YOLOv5s算法与基准网络YOLOv5s相比,平均检测精度降低了2.9个百分点,模型参数数量减少了40%,模型理论计算量减轻了39%,同时模型每个样本的推理速度加快了49 ms,其他轻量化网络虽然有参数数量与理论计算量特别小的,但其检测精度或推理速度都有较大损失。总体而言,本文中对基准网络进行轻量化改进之后,以更少的资源消耗和更好的实时性实现了更高的检测精度,对与边缘设备的部署提供了可行性。
表3 不同模型在FLIR数据集的对比实验
Table 3 Comparative experiments of different models in FLIR data sets
模型精度@0.5%人自行车车平均精度@0.5%速度/(ms/样本)参数量/M计算量/GMobileNext74.150.087.070.41204.48.4EfficientNet76.751.987.471.8911.13.0YOLOv3-tiny67.446.884.566.2478.613.0YOLOv5s80.058.789.175.9937.216.6YOLOv5s-PPLCNet69.739.084.264.3530.92.0M-YOLOv5s78.653.886.573.0444.310.0
图11是本文中由改进前后的模型在FLIR数据集中部分图像的检测结果,由于其他轻量化算法检测精度较差,因此本文只选择了YOLOv5s、EfficientNet、M-YOLOv5s作为可视化效果的对比。从图11中可以看出,在红外道路场景目标检测上具有一定领先优势,在检测目标方面具有更高的置信度。另外从图B组观察可知EfficientNet算法将路边护栏和一些树木误检测为了行人,而其他2组算法则正确检测了目标,在A组第2张图片中,可以看到该算法将路边障碍物误检为车辆,C组算法则避免了这个问题,对于3组实验中的第3张图片,可以看到,3种算法检测结果基本保持一致,都可以很好的检测道路场景中的汽车、行人、自行车。由于本文中算法是轻量级网络模型,在参数数量、理论计算量、模型大小等方面都优于其他2种算法,所以本文中所提出算法更具有实际的应用价值,可以更好的完成红外场景下道路目标检测的需求。
图11 不同模型测试结果对比
Fig.11 Comparison of test results of different models
本文中提出M-YOLOv5s算法是一种轻量化的红外目标检测方法,旨在确保在道路场景中具有良好的检测效果,并且适用于边缘设备的部署。该算法首先使用轻量化网络ShuffleNetv2替代原有主干网络进行特征提取,同时使用条形深度卷积注意力模块增强对红外道路场景中可能存在的条形目标的特征提取能力,提高模型的检测精度;此外采用CARAFE作为新的上采样算子,将低分辨率特征图增加到高分辨率中,引入了上下文感知机制,帮助模型更好地理解图像中的语境信息,使得在不显著增加计算复杂性的情况下提高模型性能;最后在C3模块中添加SE注意力机制,使模型更聚焦于那些对于当前任务特别有用的特征,从而提高特征的区分性和表征能力,减少那些不重要通道特征的权重,从而降低冗余信息的影响,进一步提高模型的检测性能。在FLIR数据集上的实验结果表明,M-YOLOv5s与YOLOv5s相比,平均检测精度基本相同,同时网络参数数量、理论计算量分别减少了40%、39%,此外模型的每个样本推理速度提高了52%,使其更适用于边缘设备的应用。
[1]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,2017,39(6):1137-1149.
[2]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.
[3]REDMON J,FARHADI A.YOLO9000:better,faster,stronger[C]//Proceedings of the IEEE conference on computer vision and pattern recognition.2017:7263-7271.
[4]REDMON J,FARHADI A.YOLOv3:An incremental improvement[J].arXiv preprint arXiv:1804.02767,2018.
[5]BOCHKOVSKIY A,WANG C Y,LIAO H Y M.YOLOv4:Optimal speed and accuracy of object detection[J].arXiv preprint arXiv:2004.10934,2020.
[6]ULTRALYTICS.YOLOv5[EB/OL].[2021-03-11]. Available:https://github.com/ultralytics/YOLOv5.
[7]LI C,LI L,JIANG H,et al.YOLOv6:A single-stage object detection framework for industrial applications[J].arXiv preprint arXiv:2209.02976,2022.
[8]WANG C Y,BOCHKOVSKIY A,LIAO H Y M.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.
[9]LIU W,ANGUELOV D,ERHAN D,et al.Ssd:Single shot multibox detector[C]//Computer Vision-ECCV 2016:14th European Conference,Amsterdam,The Netherlands,October 11-14,2016,Proceedings,Part I 14.Springer International Publishing,2016:21-37.
[10]林健,张巍巍,张凯,等.基于YOLOv5的红外目标检测算法[J].飞控与探测,2022,5(3):63-71.
LIN Jian,ZHANG Weiwei,ZHANG Kai,et al.Infrared target detection algorithm based on YOLOv5[J].Flight Control and Detection,2022,5(3):63-71.
[11]SUN M,ZHANG H,HUANG Z,et al.Road infrared target detection with I-YOLO[J].IET Image Processing,2022,16(1):92-101.
[12]谌海云,余鸿皓,王海川,等.基于改进YOLOX的红外目标检测算法[J].电子测量技术,2022,45(23):72-81.
CHEN Haiyun,YU Honghao,WANG Haichuan,et al.Infrared target detection algorithm based on improved YOLOX[J].Electronic Measurement Technology,2022,45(23):72-81.
[13]李云,宋勇,赵宇飞,等.基于PCNN和改进邻域判决的红外弱小目标检测算法[J].兵器装备工程学报,2018,39(1):141-147,182.
LI Yun,SONG Yong,ZHAO Yufei,et al.Infrared dim dim target detection algorithm based on PCNN and improved Neighborhood decision[J].Journal of Ordnance Equipment Engineering,2018,39(1):141-147,182.
[14]樊俊良,高永明,吴止锾,等.基于RPCA的单帧红外小目标检测算法[J].兵器装备工程学报,2018,39(11):147-151.
FAN Junliang,GAO Yongming,WU Zhihuan,et al.Single-frame infrared small target detection algorithm based on RPCA[J].Journal of Ordnance Equipment Engineering,2018,39(11):147-151.
[15]LIN T Y,DOLLR P,GIRSHICK R,et al.Feature pyramid networks for object detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.2017:2117-2125.
[16]LI H,XIONG P,AN J,et al.Pyramid attention network for semantic segmentation[J].arXiv preprint arXiv:1805.10180,2018.
[17]MA N,ZHANG X,ZHENG H T,et al.Shufflenet v2:Practical guidelines for efficient cnn architecture design[C]//Proceedings of the European Conference on Computer Vision (ECCV).2018:116-131.
[18]WANG J,CHEN K,XU R,et al.Carafe:Content-aware reassembly of features[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision.2019:3007-3016.
[19]ZHANG Y F,REN W,ZHANG Z,et al.Focal and efficient IoU loss for accurate bounding box regression[J].Neuro Computing,2022,506:146-157.