面向多元场景的轻量级行人检测
行人检测一直以来都是计算机视觉领域的研究热点,快速、准确是行人检测的重要目标,然而在现实应用中,多元场景交错、行人姿态各异、检测环境异常复杂给行人检测带来了极大的挑战。
传统方法通常结合手工特征与机器学习分类器来检测行人,如Yadav等人[
近年来,深度学习凭借其强大的表征能力吸引了众多研究者的关注,行人检测方法也随之取得了重大进展[
基于深度学习的行人检测模型在训练过程中学习了大量的鲁棒特征,在一定程度上弱化了姿态变化、环境干扰等因素对行人检测结果的影响,但多数检测模型的参数动辄数十兆字节,依然存在模型体积大、运算量高,难以在计算资源有限的可移动平台上部署等问题。对于计算资源有限的可移动平台,减少其部署模型的计算成本和存储空间至关重要,尤其是在自动驾驶、实时检测等实时性要求较高的任务中。行人检测作为自动驾驶中行为预判、行人防撞等关键技术的基础环节,通过定位和分类行人实例,实时为车载平台提供周围的行人信息,以便于车辆采取正确的控制与状态处理决策。在处理过程中,车载平台不仅仅需要实时处理与分析车载前置摄像头的行人视频数据,还包括其他车载传感器所获取的数据[
基于以上分析,考虑到多元场景的复杂性和计算资源的有限性影响,本文以YOLOX[
2 面向多元场景的行人检测
2.1 算法总体结构设计
本文算法的总体结构设计如
图1 总体结构设计
Fig.1 Design of overall structure
2.2 构建高精度模型
YOLOX检测模型在原有系列网络的理论基础上融入了无锚机制、标签分配、解耦头等性能优化策略,具有较好的性能表现。为此,本文以高性能检测器YOLOX为基础框架,融合迁移学习、多尺度特征融合以及注意力引导等强化网络的方法,构建了具有高精度的行人检测模型,其网络结构如
图2 网络结构示意图
Fig.2 Schematic diagram of network structure
迁移学习的训练策略可有效降低权值初始化的不确定性,避免因随机权值所导致的特征提取能力不足问题。因此,所提模型保留了YOLOX中的Backbone,从而确保训练模型和预训练模型网络结构的一致性。将预训练模型中Backbone的权值作为训练模型的初始化权值,并以此提升主干网络的特征提取能力以及训练模型的收敛速度。
主干特征提取网络用于挖掘行人目标的浅层纹理特征与深层语义特征,特征融合网络实现浅层纹理信息和深层语义信息的互补,但随着网络层数的不断加深,行人的纹理信息逐渐丢失,并且网络对小目标的敏感度也逐渐降低,使得检测模型容易出现漏检、误检的问题。为此,网络中使用ECA注意力引导模块构建特征融合网络,并增加尺寸为的输出层,以获得更为有效的行人特征信息,弱化背景特征信息,从而提升模型在多元场景下的前景、背景识别能力。此外,的检测层更有利于小尺度行人的检测,可有效避免漏检情况的发生。
2.3 跨维特征引导的注意力模型
注意力模型被广泛应用于行人检测任务中,根据关注区域的不同,通常可分为通道域、空间域以及混合域的注意力模型,不同作用域的注意力模型所具有的引导作用也有所差异。通道注意力通常采用全局处理的方式为通道赋予权重,但忽略了空间内的信息交互。空间注意力通过对原始图片中的空间信息进行转换,为空间内的像素生成权重掩膜,但该过程忽略了通道间的信息交互。混合域注意力则是通道域和空间域的结合体,但往往存在体量大,结构复杂的问题。为此,基于Coordinate attention[
图3 ECA结构示意图
Fig.3 Schematic diagram of ECA
ECA注意力模型同时沿着水平、垂直两个方向分别捕获张量(C,W)和(C,H)之间的依赖关系,以跨维度的方式推断注意力权重掩膜,最终与残差边相乘完成输出特征的自适应修饰。在生成权重掩膜过程中,首先采用最大池化和平均池化沿两个方向聚合特征,其中最大池化用以保留行人的边缘信息,而平均池化则用于弥补最大池化所丢失的特征信息。然后通过共享网络MLP进行非线性运算,经sigmoid回归获得注意力权重系数:
(1) |
(2) |
其中:和分别为水平、垂直方向的权重系数;为sigmoid激活函数;为MLP非线性运算;PAP为平均池化;PMP为最大池化;为输入特征图,w、h、c分别为输入特征图的宽度、高度和通道数;为输入特征图中,宽度、高度和通道数分别为i、h、c的值,其中;为输入特征图中,宽度、高度和通道数分别为j、w、c的值,其中。
最终将不同维度的注意力权重系数与残差边相乘,获得赋予权重的输出特征图,输出结果为:
(3) |
其中,为输出特征图。
ECA注意力模型在关注通道间交互信息的同时,还在空间上引导模型关注行人所在区域的特征信息,以增强网络对行人可视区域的特征学习能力,在检测过程中促使检测器更加关注行人的存在区域,提高行人检测器的准确性。
2.4 引入结构化剪枝策略
剪枝作为模型压缩的主要手段之一,在训练过程中通过去除网络模型中冗余的连接与参数,从而获得可在移动端部署的紧凑型模型。依据剪枝原理的不同,模型剪枝可分为结构化剪枝和非结构化剪枝,但由于非结构化剪枝需要特定软、硬件的支持,因此本文采用结构化剪枝策略[
批归一化层(Batch Normalization,BN)具有抑制内部协变量偏移的作用,进而降低网络模型对参数初始值的敏感程度,得以有效提升模型的收敛速度。BN层可以表示为:
(4) |
其中:和分别为BN层的输入与输出数据;B为当前小批次;和分别为B批次所输入数据的均值和标准差;和分别为训练过程中可学习的缩放参数与平移参数;为一个小量,其作用是防止出现分母为0的情况。由上式可知,每个通道的激活值和具有通道级缩放作用的可学习参数呈正相关,即参数的大小直接影响该通道信息的重要性,故将参数作为衡量通道重要性的量化指标,也称缩放因子。通常情况下,BN层所输出的激活值呈正态分布且多数不趋近于0,为此引入L1正则约束,缩小通道重要性量化指标的值,以便于进行稀疏化训练,稀疏化训练的损失函数为:
(5) |
其中:为基础模型的损失函数;为L1正则约束项,其中;为惩罚因子,用于平衡损失项。稀疏化训练需根据BN层权重分布情况和平均精度调整惩罚因子并选择合适的学习率,获得精度略微损失的高稀疏模型。在稀疏化训练后将对模型进行剪枝,剪枝过程如
图4 剪枝流程图
Fig.4 Flow chart of pruning
BN层中的缩放因子会整体趋近于0,其中越接近0的通道越不重要,基于此对所有通道的缩放因子进行排序,并设置合适的剪枝比例。剪枝比例对模型的体积和精度有着直接影响,剪枝比例越大,裁剪的通道数越多,则模型的体积越小,但模型的精度也会随之降低,为此在模型剪枝后通过微调回升精度。
2.5 自适应Gamma矫正
在实际应用中,光照不均、阴影干扰等环境因素会隐藏图像信息进而导致行人检测精度降低[
Step 1:归一化处理,将灰度图像的像素值转换为0~1之间的实数;
Step 2:预补偿,通过指数运算对像素值进行预补偿;
Step 3:反归一化,将预补偿后的像素值还原至0~255的实数。
该过程可用公式表示为:
(6) |
其中:为输入图像,为输出图像,为Gamma值。
为了使检测器在不同的环境下都能够拥有不错的矫正效果,在Gamma值的设置上舍弃了人工设置定值的方法,而是采用自动设置Gamma[
(7) |
其中:为Gamma值,X为像素归一化后的平均值。值的设置由输入图片的像素值确定,从而实现了自适应矫正输入图像,矫正效果如
图5 自适应Gamma矫正效果
Fig.5 Adaptive Gamma correction effect
图6 矫正前后图像的灰度直方图
Fig.6 Gray histograms of images before and after correction
通过对比矫正前后的灰度直方图可以发现,左侧场景矫正前的灰度级主要集中在5~80之间,而矫正后主要集中在20~130之间,且各灰度级的像素数量分布比较均匀;右侧场景矫正前的灰度级主要集中在5~55之间,而矫正后主要集中在15~110之间,并且低灰度级的像素数量明显减少。比较矫正前后图像的灰度级范围可以发现,经过矫正后的图像具有更大的灰度级范围,且不同灰度级的像素分布比较均匀,从而增大了原有图像像素间的差异性,降低了模型对图像中昏暗区域的学习难度,使所提模型在多元场景下具有更强的抗干扰性。
3 实验设置与分析
3.1 实验环境及数据
实验条件:处理器为Intel(R) Xeon(R) Gold 6226R CPU@2.90 GHz,内存188 G,显卡为Tesla V100S-PCIE-32 GB,操作系统为Centos7。
评价指标:实验采用平均精度(Average Precision)作为检测器精度的评价指标,用以衡量行人检测器在复杂场景下对行人实例的检测效果;采用每秒处理图像的帧数(FPS)来衡量检测器的检测速度,依此判断检测器的计算复杂度;参数量(Parameters)和模型体积(Size)是判断模型是否轻量的直观评价指标,用来衡量检测模型的大小。
实验数据:本实验的训练集和测试集选自于自动驾驶数据集KITTI中的2D object detection left color image of object data。将数据集的Pedestrian、Person_sitting、Cyclist类融合为1个Person类。
3.2 实验过程
本文分别以YOLOX-L和YOLOX-S为基础框架构建本文方法,即本文方法L和本文方法S,并基于所提方法开展实验。实验分为三个阶段进行,依次为基准模型训练阶段、剪枝模型训练阶段以及微调模型训练阶段,实验流程如
图7 实验流程
Fig.7 Flow chart of experiment
所提算法在基础模型训练阶段使用了迁移学习,将YOLOX基于COCO数据集的训练参数作为初始化权值,用以引导模型确定训练方向,从而加速收敛速度。实验分别以本文方法L和本文方法S的基准模型展开训练,训练过程分为冻结训练和解冻训练两部分。在冻结训练过程中,对基础模型主干部分的网络层进行冻结,即本文方法L模型的前234层以及本文方法S模型的前125层,冻结网络层的初始化权值为预训练模型对应网络层的参数。在解冻训练过程中,解除了对模型参数的限制,使网络朝着更适合本文应用场景的方向学习。冻结训练中迭代次数设置为100,学习率设为0.001;解冻训练中迭代次数设置为200,学习率设为0.000 1,批量大小为16。
在稀疏化训练中,将基准模型的权重参数作为初始化权值,惩罚因子设为0.001,学习率设为0.000 1,批量大小为16,迭代次数为100,根据缩放因子的分布情况,为避免严重损失精度,采用65%的剪枝率。
剪枝完成后通过对模型进行微调使精度回升,该过程采用warm-up的学习率优化方法,训练初期使用较小的学习率避免造成过拟合现象,随着迭代次数增加逐步减小学习率以加快模型的收敛速度,最后当模型的训练趋于稳定时,使用较小的学习率训练,以免破坏模型的稳定性。
3.3 有效性验证
为了验证本文改进算法的有效性,将本文所提算法模型以及与其相关的中间模型分别与YOLOX-L和YOLOX-S进行对比,实验结果分别如
Algorithm | Parameters /M | Size /MB | Average precision | FPS (Frame·s-1) |
---|---|---|---|---|
YOLOX-L | 47.1 | 207 | 69.47% | 68 |
基准模型 | 53.3 | 231 | 72.08% | 65 |
剪枝模型 | 9.8 | 47 | 68.53% | 84 |
微调模型 | 9.8 | 47 | 71.56% | 84 |
Algorithm | Parameters /M | Size /MB | Average precision | FPS (Frame·s-1) |
---|---|---|---|---|
YOLOX-S | 7.3 | 35 | 67.93% | 86 |
基准模型 | 8.5 | 39 | 68.51% | 86 |
剪枝模型 | 2.6 | 10.1 | 67.73% | 93 |
微调模型 | 2.6 | 10.1 | 68.23% | 93 |
从
从
3.4 对比实验
为验证所提算法的性能表现,将所提算法与目前主流的行人检测算法以及轻量级算法在KITTI数据集上进行比较,实验结果如
Algorithm | Backbone | Size /MB | Average precision | FPS (Frame·s-1) |
---|---|---|---|---|
PCN[ | VGG16 | — | 66.80% | 1.3 |
Faster-RCNN | VGG16 | 522 | 70.37% | 4 |
PAMS-FCN | VGG16 | — | 71.44% | 27 |
YOLOv4 | Darknet53 | 246 | 66.11% | 66 |
YOLOX | Darknet53 | 207 | 69.47% | 68 |
YOLOv4-Mobilenet | Mobilenet | 51 | 64.80% | 84 |
YOLOv4-Ghostnet | Ghostnet | 43 | 65.15% | 85 |
YOLOX-tiny | Darknet53 | 20 | 66.36% | 90 |
本文方法L | Darknet53 | 47 | 71.56% | 84 |
本文方法S | Darknet53 | 10 | 68.13% | 93 |
从
相比于双阶段检测算法Faster-RCNN,单阶段的YOLO系列的检测算法具有更好的表现,作为目前YOLO系列表现最佳的YOLOX取得了69.47%的检测精度,但模型体积高达207 MB,本文方法L在检测精度以及模型体积上都有明显优势;相比于基于Mobilenet、Ghostnet改进的轻量化方法以及YOLOX轻量化效果最好的版本YOLOX-tiny,本文方法S平均精度高达68.13%,模型体积约为10 MB,检测速度达到每秒93帧,在各方面都有着最优的表现;相比于目前主流的行人检测方法,本文方法L的平均精度与最优方案相当,即PAMS-FCN方法的71.44%,但在检测速度上具有明显优势,大约是该方法的3倍。此外,虽然本文方法S的检测精度只有68.13%,但基本可以实现多元场景下行人的准确检测,且参数量较低便于移动端部署,更适合实际应用。
3.5 可视化检测结果对比
为直观的体现所提算法的有效性以及自适应Gamma矫正的作用效果,在对比实验中抽取轻量级算法YOLOX-tiny与本文方法S对矫正前后的图像进行检测,并进行可视化结果比较,实验结果如
图8KITTI数据集上的检测结果对比
Fig.8Results comparison on KITTI dataset
4 结 论
本文提出了一种面向多元场景的轻量级行人检测方法,该方法使用提出的跨维特征引导注意力模块构建多层特征融合网络,并利用迁移学习的训练方法使得网络模型具备较高的检测精度。获得高精度模型后,经剪枝优化将模型体积压缩至10 MB,检测速度提升至93 Frame/s,并在检测阶段采用自适应Gamma矫正图像以减小光照等因素对检测器性能的影响,在KITTI数据集上取得了68.13%的检测精度,所提方法具有精度高、体积小、抗干扰性强的优点,更符合实际应用的需求。
- 2025年中科院分区表已公布!Scientific Reports降至三区
- 官方认定!CSSCI南大核心首批191家“青年学者友好期刊名单”
- 2023JCR影响因子正式公布!
- 国内核心期刊分级情况概览及说明!本篇适用人群:需要发南核、北核、CSCD、科核、AMI、SCD、RCCSE期刊的学者
- 我用了一个很复杂的图,帮你们解释下“23版最新北大核心目录有效期问题”。
- 重磅!CSSCI来源期刊(2023-2024版)最新期刊目录看点分析!全网首发!
- CSSCI官方早就公布了最新南核目录,有心的人已经拿到并且投入使用!附南核目录新增期刊!
- 北大核心期刊目录换届,我们应该熟知的10个知识点。
- 注意,最新期刊论文格式标准已发布,论文写作规则发生重大变化!文字版GB/T 7713.2—2022 学术论文编写规则
- 盘点那些评职称超管用的资源,1,3和5已经“绝种”了