APP下载

基于MobileNet的轻量化密集行人检测算法

2024-06-17魏志刘罡张旭

软件工程 2024年6期
关键词:注意力机制

魏志 刘罡 张旭

摘 要:

针对现有的行人检测算法在复杂场景下检测速度慢、检测精度不高的问题,提出一种轻量化密集行人检测算法MER\|YOLO(Miniature Enhanced Recognition\|You Only Look Once)。首先,MER\|YOLO以MobileNetV3(轻量化网络模型)作为特征提取主干网络,提升模型对于小目标及模糊图像的学习能力;其次,通过融合深度可分离卷积和ECA(Efficient Channel Attention)注意力机制构建DPE\|C3模块,解决密集行人检测过程中的遮挡丢失漏检的问题;最后,MER\|YOLO使用空间和通道重建卷积处理标准卷积中固有的空间和信道冗余,减少模型计算需求。该算法应用于WiderPerson(混合行人数据集)上的检测精度达到了78.9%,相较于YOLOv5s算法提升了3.0百分点,同时模型计算量比YOLOv5s降低了13.3百分点。因此,MER\|YOLO算法兼顾了检测准确度和检测速度的要求。

关键词:行人检测;轻量化网络;注意力机制;空间重建卷积

中图分类号:TP391.4  文献标志码:A

0 引言(Introduction)

随着城市交通建设速度的加快,城市空间布局不断变化,越加复杂的道路交通环境造成交通安全事故频发,行人检测成为计算机视觉领域重要的研究方向之一,基于深度学习的目标检测算法发展迅速,在复杂场景下的目标检测中具有较高的灵活性。

为了提升行人识别技术的准确性,最大限度地减少漏检情况,研究人员开展了众多研究。单志勇等[1]基于Faster R\|CNN(Faster Region\|based Convolutional Neural Network)进行了优化,在一定程度上减少了重叠区域的漏检和误检问题。赵九霄等[2]对SSD(Single Shot MultiBox Detector)网络模型进行了创新,结合聚类算法选取检测框,提高了算法的学习效率。冯宇平等[3]对目标检测算法YOLOv3\|Tiny进行了优化,降低了复杂背景对检测精度的影响。石欣等[4]引入了浅层特征金字塔网络,虽然提升了模型的小目标特征提取能力,但是提升了模型的复杂度。上述算法难以实现检测精度和模型复杂度的平衡。

基于此,本文将YOLOv5s[5]作为基础网络进行改进,使用MobileNetV3、深度可分离卷积、ECA注意力机制、空间和通道重建卷积构建一种轻量化的可面向复杂检测场景的行人检测算法模型MER\|YOLO。在降低模型复杂度的同时,提高了其在密集人群场景下对受遮挡行人的检测能力。

1 算法改进(Algorithm improvement)

为了能够快速准确地检测出行人,本文以 YOLOv5s(You Only Look Once version 5 small)为基础模型进行行人检测算法的改进和验证,改进后的模型结构如图1所示。

1.1 轻量化网络模块

本研究的核心目标是设计一种新的特征提取网络架构,减少信息融合过程中的梯度冗余,增强网络的学习效率并加速训练过程。为此,本研究选择使用MobileNet网络,这是一种轻量级的特征提取模块,用以替代YOLOv5网络中的特征提取模块,减少模型的体积和参数量。

MobileNetV3[6]是通过网络架构检索(Network Architecture Search, NAS)构建的深度神经网络架构,它继承了MobileNetV1的深度可分离卷积和MobileNetV2的线性残差结构。MobileNetV3的最大改进是在瓶颈结构上增加了压缩和激励(SE)[7]结构,以及用h\|swish函数代替swish函数,由于“s”形曲线的计算时间较长,特别是在移动设备上,因此采用h\|swish近似“s”形曲线,消除量化过程中潜在的精度损失,swish和h\|swish的公式分别如下:

swishx=x·δ(x)[JZ)][JY](1)

h\|swish=x·[ReLU6(x+3)/6][JZ)][JY](2)

公式(1)表示swish激活函数,该函数将输入x与δ(x)进行逐元素乘法运算,在计算中引入非线性量。公式(2)表示h\|swish激活函数,这是一种计算效率更高的swish版本,它将输入x与ReLU6[8]函数进行逐元素乘法运算,使其能有效地提取重要特征。利用MobileNetV3的特征提取层,可以有效地从输入数据中捕获相关特征和判别特征,MobileNetV3的主体网络架构如图2所示。

1.2 DPE\|C3模块

在目前的道路行人检测中,检测目标往往很小,增大了检测网络的识别难度,为了充分提取输入特征的上下文信息,增强对行人小目标、图像模糊情形下的检测能力,对原有的YOLOv5算法的C3模块进行改进,通过融合深度可分离卷积和ECA注意力机制构建DPE\|C3模块(图3)。在增强模型检测能力的同时,使得整体模块更加轻量化,也可以更好地解决梯度消失等导致模型不稳定的问题。本文使用深度可分离卷积DPConv替换原C3模块中的普通卷积,在C3模块的Concat操作之后加入ECA注意力机制,增强了模型对上下文特征信息的提取能力,进一步提升了模型对小目标行人的检测能力。

高效通道注意力机制ECA[9](Efficient Channel Attention)的结构如图4所示,它的主要作用是突出特征图中有效信息的特征通道,ECA模块考虑到了跨通道的交互问题,能更好地捕捉通道间的联系,获得较高的性能增益。

注意力通道权值表达式如下:

w=σ([WTHX]W[WTBX]y)[JZ)][JY](3)

其中:σ代表ReLU6激活函数,[WTHX]W[WTBX]代表一个c×c的参数矩阵,w表示通道的权值。

1.3 SCConv卷积模块

SCConv[10]卷积模块(图5)代表空间和信道重构卷积,设计了一种新的CNN(Convolutional Neural Network)压缩方法,用以减少卷积层中存在的空间和信道冗余,它通过两个独特的模块,即空间重构单元SRU(Selective Receptive Unit)和通道重构单元CRU(Channel Recalibration Unit),实现了较大的性能提升,同时显著降低了计算量,这两个模块最大限度地减少了特征映射中的冗余。

SRU主要关注特征图的空间维度,它的目标是减少空间冗余。为了实现这一目标,SRU将输入特征映射分解为多个空间块的机制,并对每个空间块应用不同的卷积核,这种方法不仅可以更精确地捕获每个空间块内的特征信息,而且可以显著降低整体空间冗余。

本研究在MER\|YOLO检测网络的设计中,采用SCConv替代原始模型Neck中的普通卷积,减少了标准卷积中普遍存在的空间冗余和信道冗余,从而提高了卷积网络模型的性能,同时减少了计算需求。

2 实验与分析(Experiment and analysis)

2.1 实验环境

模型实验基于Pytorch框架,实验所使用GPU为GeForce RTX3060(16.0 GB),CUDA版本12.0,Pytorch版本1.11,Python版本3.9,CPU为i7\|11800H,操作系统为Windows11 64位。

2.2 数据集

本实验使用的WiderPerson数据集,是一个多样化密集行人检测数据集,具有丰富的前景图像和背景图像以及行人高度模糊的丰富人群场景。WiderPerson数据集中主要涉及的行人有3类,第一类是行人,即完全行人;第二类是骑行者,他们骑电动车或自行车;第三类是部分可见的行人,所有行人都受到不同程度的遮挡。在实验中对原始数据集按照8∶2的比例划分训练集和测试集。

2.3 实验结果与分析

为了有效地评估模型的检测效果,采用平均精度均值mAP(mean Average Precision)衡量模型的性能,用浮点运算次数FLOPs表示模型的复杂度。

2.3.1 消融实验

为了评估各改进部分对整体算法性能的优化程度,本文设计了消融实验,实验结果如表1所示。

从表1中可以看出,改进1实验引入MobileNetV3模块后,网络模型的FLOPs降低了48%,而mAP0.5和mAP0.5:0.95分别降低了1.4百分点和1.6百分点,表明MobileNetV3模块在牺牲一定精度的情况下成功地降低了算法的复杂度。改进2实验引入DPE\|C3模块后,虽然FLOPs增加了35.4%,但是网络模型的mAP0.5提高了0.7百分点,表明DPE\|C3模块可以增强网络提取特征和关注大量语义信息的能力,从而提高针对小目标行人的检测准确率。改进3实验引入SCConv模块后,在不提升网络复杂度的情况下,将网络模型的mAP0.5和mAP0.5:0.95均提高了1.7百分点,表明SCConv模块可以降低卷积网络的冗余,提高回归精度,对增强网络对遮挡行人的识别能力有较大的帮助。

与原始YOLOv5s检测网络相比,MER\|YOLO的mAP0.5提高了3.0百分点,mAP0.5:0.95提高了1.2百分点,模型的复杂度降低了13.3%。以上结构说明,同时采用3种改进模块,在提升了模型平均精度的基础上,也降低了模型的复杂度,兼顾了模型的检测精度与计算量。

2.3.2 不同算法的对比实验

为了进一步验证本文提出的MER\|YOLO算法的检测效果,与现有目标检测算法YOLOv3、YOLOv4和YOLOX\|Tiny在混合行人数据集上的应用效果进行对比,得到最符合本文要求的算法模型,MER\|YOLO与现有目标检测算法的对比结果如表2所示。

YOLOv3使用两种主要的轻量化策略,去除骨干网络中的残差结构,只保留两个检测头,牺牲了一定的检测精度,YOLOv3网络的mAP0.5和mAP0.5:0.95分别比MER\|YOLO降低了12.2百分点和10.7百分点,表明MER\|YOLO更好地兼顾了计算量和检测精度要求,尽可能地保留了原有YOLOv5s的基本架构,将YOLOv5s网络中的Conv模块替换为SCConv模块,最大限度地减少了特征网络映射中的冗余。此外,MER\|YOLO网络采用ECA注意力机制,缓解了轻量化带来的精度下降问题。

YOLOv4通过对原始网络进行特定优化,将骨干网络激活函数改为LeakyReLu函数,保留了3个残差结构及特征融合金字塔,由于网络使用了同样的轻量化策略,因此网络也面临同样的精度下降问题。YOLOv4网络的mAP0.5和mAP0.5:0.95分别比MER\|YOLO网络降低了12.5百分点和16.8百分点,FLOPs比MER\|YOLO网络多2.4 GB。由此可见,YOLOv4采用的轻量化策略并不适合行人检测。

YOLOX\|Tiny中使用的轻量化方案保留了原有的YOLOX的框架结构,减少了网络中的通道数,使网络更轻量化。YOLOX\|Tiny的mAP0.5和mAP0.5:0.95分别比MER\|YOLO降低了3.8百分点和4.5百分点,FLOPs比MER\|YOLO网络多1.4 GB,实验数据表明,MER\|YOLO更适合应用于行人检测算法。

2.3.3 可视化实验对比

为了更直观地体现改进后算法与原有算法的区别,本研究使用WiderPerson数据集对比了MER\|YOLO和YOLOv5s的检测效果。分别在不同检测场景下对模型进行检验,如图6所示,对于漏检目标图中用箭头标签指示出。对比图6(a)和图6(b),MER\|YOLO能够检测出图片边缘部分出现的行人,而原有算法出现了漏检。在行人互遮挡的检测中,图6(c)中原有算法对贴近的两个行人只给出了一个检测框,图6(d)中改进后算法给两个行人分别分配了检测框。图6(e)和图6(f)为暗光密集行人场景下的检测效果对比,MER\|YOLO算法具有较好的检测效果,检测框也更加贴近被检测行人。综合对比各种场景下的检测效果来看,本文改进算法对于密集行人检测有更好的检测效果和鲁棒性。

3 结论(Conclusion)

本文提出的MER\|YOLO算法是一种轻量化行人检测网络,在MER\|YOLO检测网络中,通过MobileNetV3轻量化特征提取主干网络,降低主干模型复杂度的同时,获取了更多的行人目标特征,通过融合深度可分离卷积和ECA注意力机制构建DPE\|C3模块,提升了模型对于小目标及模糊图像的学习能力。

在WiderPerson数据集上的消融实验表明,与YOLOv5s相比,MER\|YOLO可以提高行人识别精度,同时最小化网络复杂度。不同算法的对比实验结果表明,与其他算法相比,MER\|YOLO在准确性和复杂性之间取得了更好的平衡。未来,研究人员将通过优化模型去除更多冗余的特征信息,进一步降低网络的复杂度,确保MER\|YOLO能够大幅降低对计算能力的需求,并容易部署在算力有限的嵌入式设备上。

参考文献(References)

[1] 单志勇,张鐘月. 基于改进Faster R\|CNN算法的行人检测[J]. 现代计算机,2021,27(23):124\|128.

[2] 赵九霄,刘毅,李国燕. 基于改进SSD的视频行人目标检测[J]. 传感器与微系统,2022,41(1):146\|149,156.

[3] 冯宇平,管玉宇,杨旭睿,等. 融合注意力机制的实时行人检测算法[J]. 电子测量技术,2021,44(17):123\|130.

[4] 石欣,卢灏,秦鹏杰,等. 一种远距离行人小目标检测方法[J]. 仪器仪表学报,2022,43(5):136\|146.

[5] 陈冬冬,任晓明,李登攀,等. 基于改进的YOLOv5s的双目视觉车辆检测与测距方法研究[J]. 光电子·激光,2024,35(3):311\|319.

[6] 杨登杰,叶爱芬,袁舸凡,等. 基于MobileNetV3\|YOLOv4超市取货机器人目标检测策略优化设计[J]. 电脑知识与技术,2022,18(30):18\|22.

[7] 贺海玉. 基于多注意力机制的多粒度读者画像分析[J]. 微型电脑应用,2023,39(12):143\|146.

[8] 张焕,张庆,于纪言. 卷积神经网络中激活函数的性质分析与改进[J]. 计算机仿真,2022,39(4):328\|334.

[9] 袁培森,欧阳柳江,翟肇裕,等. 基于MobileNetV3Small\|ECA的水稻病害轻量级识别研究[J]. 农业机械学报,2024,55(1):253\|262.

[10] [ZK(]ZHANG Z Y,TAN L Y,TIONG R L K. Ship\|fire net:an improved YOLOv8 algorithm for ship fire detection[J]. Sensors,2024,24(3):727.

作者简介:

魏 志(1996\|),男,硕士生。研究领域:计算机视觉,行人检测。

刘 罡(1981\|),男,硕士,副教授。研究领域:深度学习,计算机视觉。

张 旭(1998\|),男,硕士生。研究领域:机器视觉,人工智能。

猜你喜欢

注意力机制
基于注意力机制的行人轨迹预测生成模型
基于注意力机制和BGRU网络的文本情感分析方法研究
多特征融合的中文实体关系抽取研究
基于序列到序列模型的文本到信息框生成的研究
基于深度学习的手分割算法研究
从餐馆评论中提取方面术语
面向短文本的网络舆情话题
基于自注意力与动态路由的文本建模方法
基于深度学习的问题回答技术研究
基于LSTM?Attention神经网络的文本特征提取方法