基于YOLOv5s的轻量化红外图像行人目标检测研究

2024-03-25 06:39赵宇航胡皓冰孙寰宇
激光与红外 2024年2期
关键词:轻量化行人红外

胡 焱,赵宇航,胡皓冰,巩 银,孙寰宇

(1.中国民用航空飞行学院航空电子电气学院,四川 广汉 618307;2.西藏航空有限公司,四川 成都 610202;3.山东航空股份有限公司,山东 济南 250107)

1 引 言

传统的安防系统采用大量的监控摄像头,结合目前发展迅速的目标检测算法,实现安防智能化。然而,大多数系统使用可见光成像,容易受到温湿度、光照度等环境因素的影响,导致在某些场景下算法性能不佳,如夜间能见度不足等情况,无法满足安防需求。对此,可以采用红外热成像进行行人目标检测,与可见光成像系统形成互补,从而达到较好的性能。红外热成像技术有不受光照等环境因素影响的特点,相比于可见光有着更加突出的检测优势[1]。但由于红外成像系统的限制,导致其存在目标的纹理信息较弱、对比度不佳、分辨率低等检测弱点[2]。如何提高红外行人目标检测性能仍是目前研究的热点之一。

目标检测是计算机视觉领域中的一个重要研究方向,其应用范围广泛,包括安防监控、智能交通等领域。近些年来,深度学习相关研究发展迅速,已被广泛应用于如计算机视觉、自然语言处理、语音识别等领域。将深度学习与目标检测相结合是一个热门的研究方向。目前对于可见光成像目标检测研究方面,已经取得了较大的进展,由于深度学习的方式需要大量的数据喂养,借助现有的大型可见光图像数据集如MSCOCO、VOC等,以及容易获取的可见光图像,基于深度学习的可见光目标检测已经具有了较好的性能,但是对于红外热成像此类图像,由于现存红外图像公开数据集较少,所需数据较难获得,因此相关的应用研究较少。此外,在许多领域,目标检测算法的应用需要将其部署到嵌入式设备,而此类设备的存储与性能限制了部署模型的尺寸,因此如何有效利用深度学习方式提高红外目标检测性能,以及实现算法轻量化,取得精度与速度的平衡,是现在需要解决的难题。

随着深度学习技术的发展,与目标检测相关的算法也在被不断的提出。目前主流的检测算法分为Two stage和One stage两种类型[3]。Two stage类型算法需要先进行Region Proposal,也就是目标候选框的生成,再对其进行分类与回归。典型算法如SPPNet[4]、FastR-CNN[5]、FasterR-CNN[6]等;One stage类型算法直接在网络中提取特征,预测目标的类别与位置。相关算法如SSD[7]、RetinaNet[8]以及YOLO[9]系列。众多算法中,YOLO系列凭借其较快的检测速度,成为当前的热门实用级算法。在红外图像行人检测研究方面,蔡伟等人[10]基于YOLO检测框架,通过减少下采样次数,结合跨阶段局部模块、Focus结构和空间金字塔池化结构设计了特征提取网络,对红外弱小目标的特征提取性能较好;王晓红等人[11]提出了一种主要用于检测小尺寸行人的YOLOv5-p4模型,通过BiFPN特征融合以及增加小目标检测层,避免了小目标的特征信息丢失;张立国等人[12]在YOLOv3算法基础上,通过改进轻量化特征提取网络,特征融合方式以及解耦检测头,实现了模型的轻量化;张印辉等人[13]通过在YOLOv4-tiny结构上增加精细尺度检测层,用残差结构加深网络以获取红外行人位置特征,对于模型参数的增加使用通道剪枝以及知识蒸馏方法进行轻量化,实现了检测精度与速度的平衡。

本文的主要目的是在保持一定的精度要求下,改进原有网络结构使其轻量化。对此,本文提出了一种基于YOLOv5算法的轻量化方法,通过更换轻量级的特征提取网络以及引入深度可分离卷积,降低模型参数量及浮点运算量;使用具有更大感受野的轻量级上采样算子进行特征重组,提升模型性能;将YOLOv5原有损失函数中的CIOU替换为效果较好的EIOU,提高回归精度。实验结果表明,本文算法在保持较高检测精度的同时,显著降低了模型参数量,具有较好的轻量化性能。

2 YOLOv5网络模型改进

2.1 网络结构改进分析

由于需要对网络进行轻量化改进,模型复杂度不可过大,因此本文所进行的改进均是在YOLOv5s 6.0基础上进行。在YOLOv5s 6.0中,其整体网络结构如图1所示。

图1 YOLOv5s 6.0网络结构

其中,网络结构被分为了Input输入端、Backbone特征提取层、Neck以及Detect检测输出层四部分。Input部分对图像进行数据增强等预处理以及自适应锚框计算;Backbone部分主要依靠各种卷积操作对输入图像进行不同层次的特征提取;Neck部分使用了FPN(Feature Pyramid Networks)和PAN(Path Aggregation Network)结构来加强语义特征和定位特征,从而丰富特征信息;Detect部分设计了large、medium、small三种检测分支,用于不同尺度下的检测目标,对其预测类型及位置信息,并给出置信度。YOLOv5模型的检测性能已达到较高水平,但该算法对部署硬件有一定要求,需要较高的硬件成本来实现高精度的检测性能,应用到行人检测等实际情况下仍有一定缺陷。对此本文通过改进特征提取网络以及使用深度可分离卷积计算来降低模型复杂度,对于改进带来的精度损失,通过更换上采样模块以及改进损失函数来提升检测性能。

2.2 轻量化特征提取网络

YOLOv5s初始模型的特征提取层主要分为了Conv模块、CSPDarkNet-53和SPPF模块。由于其网络模型参数多,对计算性能要求较高,难以用于嵌入式等实际应用平台及设备。对此,本文选择使用MobileNetv3特征提取网络代替原有骨干层,从而在保证一定精度的前提下减少运算量,缩减模型大小。MobileNetv3网络[14]是一种轻量级的卷积神经网络架构,其设计目的是使得网络更适合移动端部署,在CPU设备上实现高精度和高效率的平衡。其Block结构如图2所示,包含了v1中的深度可分离卷积和v2中具有线性瓶颈的倒残差结构,前者用于降低模型的计算量,后者用于增加模型的表示能力。相较于之前版本,v3版使用了h-swish激活函数代替之前的swish函数,使得计算速度加快,量化效果更好,其表达式如下式:

(1)

图2 MobileNetv3 Block结构

同时加入了轻量级的SE(Squeeze and Excitation)通道注意力机制来学习通道之间的相关性,为比较重要的通道添加更大的权重,提高了模型的性能。

通过更换MobileNetv3特征提取网络,可以在保持一定精度的情况下,显著减少运算量,缩减模型大小,从而使得YOLOv5s更加适合在资源受限的场景中使用。

2.3 深度可分离卷积

深度可分离卷积(Depthwise Separable Convolution)相较于标准卷积操作,其参数量以及运算成本显著降低,且精度降低较少。其主要分为两步操作:深度卷积(Depthwise Convolution)和逐点卷积(Pointwise Convolution)。具体流程示意如图3所示。对于输入图像,首先在每个通道上分别进行卷积操作,一个通道只被一个卷积核卷积,特征图通道数不变,因此需要后续的1×1逐点卷积运算来将上一步的特征图在深度方向上进行加权混合,生成新的特征图。

图3 深度可分离卷积示意图

设输入特征图尺寸为C1×H×W,输出时通道数变为C2,则卷积核尺寸为C1×K×K,共有C2个卷积核,其中H、W分别为特征图高度及宽度,K为卷积核尺寸。标准卷积运算与深度可分离卷积运算的参数量及运算量对比如表1所示。

表1 两种卷积参数及运算量对比

根据表中公式,可计算出两者参数量之比:

(2)

两者计算量之比:

(3)

显然,式(2)、(3)的值相等且小于1,说明使用DWConv运算代替标准Conv运算可以减少参数量及计算量,实现模型轻量化,将算法移植到实用场景具有可行性。本文将Neck部分的conv层替换为DWconv层,从而减小了模型尺寸。

2.4 上采样模块

YOLOv5s中的Neck部分中使用了上采样操作来对上层的特征图进行尺寸扩充,并与浅层信息逐元素相加,从而构建出不同尺寸的特征金字塔结构。原有模型中的上采样操作使用最近邻插值法,该方法所生成的新特征图中的每个像素的值是由原特征图上最近邻的像素值所决定的。这样的操作运算快,但是未考虑到周围像素的影响。会导致特征图出现锯齿状伪影,采样效果较差;对此本文使用CARAFE(Content-Aware ReAssembly of FEatures)方法[15]替代最近邻插值,通过引入一定的计算量换取较高精度,从而提高上采样操作的效果和性能。

CARAFE是一种基于内容感知的特征重组方法,其主要思想是在上采样过程中,对每个上采样点周围的局部区域进行自适应特征重组,从而使得重组后的特征更能够适应目标区域的细节和纹理信息。首先对于输入的低分辨率特征图,在每个像素点位置上应用卷积操作,得到一组权重;然后使用最近邻插值法将该特征图上采样到目标分辨率,得到一个更大的特征图;接着将该特征图与前一层的高分辨率特征图进行级联,产生一个上下文感知的特征图;最后结合前面的权重和级联特征图,生成一个内容感知的上采样结果。整个过程的目的是提高特征图的语义信息,并且减少上采样过程中的信息损失,提高图像重建性能。将其应用到YOLOv5s网络中,可以提高网络的检测性能和效果。

2.5 损失函数

在YOLOv5模型中,其损失函数由三部分组成:边界框损失(bbox_loss)、分类损失(cls_loss)以及置信度损失(obj_loss),其计算公式为:

Loss=Gb×bbox_loss+Gc×cls_loss+Go×obj_loss

(4)

式中,Gb、Gc、Go为损失权重。YOLOv5s 6.0版本中,计算分类损失与置信度损失的函数为BCE Loss,计算边界框损失的函数为CIOULoss,CIOU对于目标框的中心点偏移的惩罚较为合理,但其存在宽和高不能同时增减的问题。对此本文使用了EIOULoss[16],公式如下:

(5)

式中,Cw、Ch为覆盖两个目标框的最小外接框的宽和高,ρ为b和bgt之间的欧式距离,w、h为预测框宽高,wgt、hgt为真实框宽高。EIOULoss包含了重叠、中心距离、宽高三种情况的损失,对目标框及锚框的宽高分别计算,解决了CIOULoss中宽和高不能同时增大或者减小的问题,使两框之间的宽高差更小,回归精度更高。

3 数据集及评价指标

3.1 数据集设置

本文实验所采用的数据集为LLVIP红外行人检测公开数据集[17],这是一种弱光条件下的可见光-红外多帧配对数据集。该数据集共包含30976张图像,其中的15488张红外图像分辨率为1080×720,在26个不同场景下采集,采集波段为8~14 μm,多数采集场景为弱光条件,且图像为连续采集,图像中包含大量行人且均已打上标记,适合红外场景下的行人检测研究。但该数据集中行人尺寸多为中等大小,对于远距离小目标的行人检测研究尚有缺陷。对此本文选择对原数据集进行稀疏化抽样并加入自行拍摄的远距离小目标行人图像,形成自建优化数据集。具体实现方式是对原数据集中的红外图像随机抽取3500张图片,并且加入356张自行拍摄的含有远距离小目标行人的红外图像,形成融合自建数据集。图像采集设备为TiX650红外热成像仪,为确保一致性,使用与LLVIP数据集同样波段进行拍摄。对于拍摄过程中行人较为模糊的图像,为增强目标特征,使用专业软件进行高斯滤波器锐化。最终形成含3856张弱光环境下行人特征的红外融合数据集,其具体数据集指标见表2,其中按9∶1的比例随机分配训练集和验证集,推理测试采用另行拍摄红外行人视频。

表2 融合数据集

3.2 模型评价指标

对于深度学习目标检测来说,常用的模型评价指标为精确率(Precision)、召回率(Recall)、均值平均精度(mean average precision,mAP)等[3]。此外,模型大小(Model size)以及参数量(Parameters)也是反映模型轻量化性能的重要指标。由于本文仅针对红外图像中的行人这一类目标进行分析,因此最终选择Precision、Recall、AP@0.5、Model size、Parameters五类作为实验评价指标。相关计算公式如下:

(6)

(7)

(8)

上述公式中,TP为真正例(True Positive),即检测行人目标正确的次数;FP表示假正例(False Positive),即将其他类型目标错检为行人目标的次数;FN表示假负例(False Negative),即未检测到应是行人目标的次数。P(R)是Precision-Recall曲线,即以Precision为坐标纵轴,Recall为坐标横轴的曲线,其与坐标轴所围面积即为AP值。

4 实验设计及结果分析

4.1 实验环境

本文所有训练及测试实验均在PyTorch深度学习框架下进行,Pytorch版本为1.12.1,实验设备操作系统为Windows 11,CPU为AMD Ryzen 7 5800H with Radeon Graphics,RAM为16G,GPU为NVIDIA GeForce RTX 3060 Laptop,显存6G。为节省训练时间,训练实验均使用GPU加速;为验证模型在移动端的推理性能,模型推理实验均使用CPU进行。为确保实验一致性,在模型训练阶段均采用同样的超参数配置。表3为相关训练初始化参数。

表3 训练初始化参数

4.2 轻量化改进及性能分析

根据本文改进思想,首先通过更换YOLOv5s的特征提取网络以及引入DWconv运算来使模型初步轻量化,并对其轻量化后参数及性能进行分析,之后加入CARAFE模块,以较少的参数量提升换取检测精度的提高,最后更换EIOULoss提升回归性能,并对最终模型进行参数及性能分析。为测试各模块改进效果,对增加各模块前后进行训练测试,得到改进前后算法在自建融合数据集上的训练效果。表4及表5为训练后评测结果。

表4 改进前后PR值对比

表5 改进前后性能参数对比

对表4中数据分析可知,轻量化算法相较于原YOLOv5s算法,其对验证集中行人检测时的FP以及FN数量增加,导致其P、R值有所降低,精度稍许下降;对表5中数据分析可知,原YOLOv5s算法对于红外图像下行人的检测精度较高,AP可达96.9 %,但其模型大小、浮点运算次数以及参数量也较高,不利于部署;在更换MobileNetv3特征提取网络后,其检测精度略有下降,模型大小减小11.3MB,浮点运算次数减少13.6 GFLOPs,参数量减少5.65×106,显著减小了模型的尺寸;将Neck部分的四个标准Conv替换为DWconv后,模型尺寸进一步减小,且精度有所提升;添加CARAFE上采样模块以及更换EIOULoss后,通过增加模型复杂度,提升了部分模型检测精度,在保证模型尺寸较小的情况下恢复了模型的检测性能。

将原YOLOv5s算法与轻量化改进后算法用于LLVIP红外行人数据集训练,测试其性能差距,所得结果见表6。

表6 LLVIP数据集测试结果

由于训练样本的增加,相较于自建数据集训练结果,模型的P、R值以及AP均有所提升。测试结果表明改进后算法在LLVIP数据集上仍能维持较高检测精度,在显著降低模型尺寸的情况下仍具有较好的检测水平。相较于原算法,本文改进方法在精度略有降低的情况下达到了轻量级水平。

4.3 检测效果分析

为测试改进模型的检测效果,对后续另行拍摄的红外行人视频进行检测。分别使用原算法与改进算法在自建融合数据集上训练完成后的检测性能最好的模型权重,对同一段红外行人视频进行推理测试。推理所用视频采用TiX650红外热成像仪拍摄,共包含88帧图像。其中包含了多尺度的行人目标,可验证模型对不同大小的行人目标的检测能力。推理实验结果见表7。

表7 推理测试结果

结果表明改进后算法推理时间较原算法降低50.8 ms,推理速度提升43.3 %,且对视频中小尺度行人检测效果更佳,增加了模型对多尺度目标的检测能力。为对比检测效果,选择同一时间戳下的视频帧进行对比,其可视化结果如图4所示。可以看到,改进后算法可检测到更多小目标行人,模型检测能力有所提升。

图4 检测效果对比图

5 结 论

对于红外图像下行人目标检测模型尺寸过大,导致不易于部署至移动端的问题,本文提出了一种轻量化YOLOv5s模型的方法。通过应用轻量化特征提取网络,极大地减小了模型尺寸,同时改进上采样模块以及更换边界框损失函数,降低轻量化所导致的检测精度损失。实验结果表明本文改进方法能在保证较高检测性能的同时,极大降低模型参数量,更有利于实际安防环境的硬件要求。后续研究将着力于实现模型工程应用,将模型移植至移动端平台等设备,探寻实时检测能力方面的改进。

猜你喜欢
轻量化行人红外
网红外卖
汽车轻量化集成制造专题主编
闪亮的中国红外『芯』
毒舌出没,行人避让
TS系列红外传感器在嵌入式控制系统中的应用
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计
路不为寻找者而设
我是行人
基于快速递推模糊2-划分熵图割的红外图像分割