温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
改进
YOLOv5s
摩托车
头盔
佩戴
检测
算法
第36卷第3期2023年6月Vol.36 No.3Jun.2023四川轻化工大学学报(自然科学版)Journal of Sichuan University of Science&Engineering(Natural Science Edition)改进YOLOv5s的摩托车头盔佩戴检测算法张鑫1,2,周顺勇1,2(1.四川轻化工大学自动化与信息工程学院,四川宜宾644000;2.人工智能四川省重点实验室,四川宜宾644000)摘要:针对摩托车头盔佩戴检测准确率低和检测速率慢的问题,提出一种基于YOLOv5s的改进摩托车头盔检测算法。首先,在YOLOv5s的多尺度特征检测中增加浅层检测尺度和4倍上采样特征融合结构,以提升检测准确率。其次,引入卷积注意力模块(Convolutional BlockAttention Module,CBAM),以提升对聚集目标的关注,有效解决因遮挡、重叠导致的漏检和误检问题。最后,使用MobilenetV3的Block结构替换主干网络及颈部中的瓶颈结构,实现了降低网络参数量的目的。实验结果表明,相较于YOLOv5s算法,改进算法的mAP提高了2.91%,检测速率达到了36 frame/s,在保证较高检测速率的同时检测精度更高,具有一定的应用价值。关键词:头盔检测;YOLOv5s模型;CBAM注意力机制;MobilenetV3网络中图分类号:TP391文献标志码:A引言2018年世界卫生组织发布的全球道路安全报告中1,摩托车交通事故导致的死亡人数占道路交通事故总死亡人数的28%。特别是在东南亚、西太平洋区域,道路交通工具以摩托车为主,摩托车交通事故死亡人数分别占总交通事故死亡人数的43%和 36%。而头部受伤是导致死亡的最主要因素,如果规范佩戴摩托车头盔,死亡风险可降低42%,头部受伤风险可降低69%,从而降低摩托车事故的死亡人数。目前,对摩托车骑手是否佩戴头盔的检查仍以交警现场检查为主。随着计算机视觉技术的快速进步,智能设备在目标检测中的使用越来越普遍,深度学习是目前的主流的方法之一。基于深度学习的目标检测算法分为二阶段算法 和 一 阶 段 算 法 两 类。二 阶 段 算 法 有 FastR-CNN2、Faster R-CNN3、Mask R-CNN4等,虽然这类算法精度高,但是检测速度慢,不能满足实时检测的需求。一阶段算法包括 YOLO 系列算法5-7、SSD8、FCOS9等,兼备高精度和小参数量模型等特点。Wu等10使用混合描述符提取图像特征,并使用支持向量机(SVM)分类器将图像分为头盔和非头盔。Silva等11应用了背景减法技术来识别移动车辆和主成分分析。Shine12将背景减法与序列最小优化(Sequential Minimal Optimization,SMO)分类器用于检测视频中的摩托车。收稿日期:2022-03-27基金项目:四川省科技厅项目(2020YFG0178);四川省科技厅省院校合作项目(2020YFSY0027)通信作者:周顺勇(1975-),男,副教授,硕士,研究方向为图像处理,(E-mail)文章编号:20967543(2023)03005009DOI:10.11863/j.suse.2023.03.07第36卷第3期张 鑫,等:改进YOLOv5s的摩托车头盔佩戴检测算法以上传统算法都是多级操作,难以达到实时性,而且当两个人同时乘坐一辆摩托车时,很难通过分类判断是否佩戴头盔。Espinosa-oviedo等13基于区域的深度学习模型,提出了使用YOLOv3算法检测摩托车手是否佩戴头盔,但是车身被其他物体遮挡时无法有效检测到目标。而后Barbosa等14使用改进YOLOv3算法来检测摩托车头盔佩戴情况,但是当摩托车上两个人高度遮挡时,分类算法效果不理想。Nagoriya15提出实时头盔检测系统模型用于监测摩托车骑乘人员是否佩戴头盔,但是,当摩托车骑乘人员所处环境拥挤时,会出现相互遮挡的情况,这就会导致漏检,使得检测效果不理想。郭师虹等16、蒋润熙等17、刘琛等18提出的算法分别对YOLOv4、YOLOv5、SSD算法进行了轻量化改进,都具有较好的安全头盔检测效果。在检测摩托车骑手佩戴头盔时,由于需要融入对摩托车的检测,比单纯对施工人员做头盔检测的难度更高,另外摩托车处于行驶中,使得定位更加的困难,而人的头部容易出现遮挡甚至覆盖情况,同时车身也会发生重叠或者遮挡,这都极大增加了检测的难度。基于此,本文对YOLOv5s网络的多尺度窗口进行改进,新增浅层检测尺度,使用四倍上采样组合两倍上采样的特征融合结构,提高了网络的检测精度;引入轻量化模型来降低卷积核数量,从而提升检 测 速 率;引 入 卷 积 注 意 力 模 块(ConvolutionalBlock Attention Module,CBAM)注意力机制,增强对遮挡、重叠目标的检测效果,以实现降低漏检和误检的目的,满足检测速度快和精度高的需求。1传统YOLOv5网络YOLOv5是一种经典的单阶段目标检测算法,它将检测问题化为回归问题,不提取Rol,直接通过回归的方法生成每个类别的边框坐标和对应的概率。在 YOLOv5 中 使 用 了 depth_multiple 和width_multiple来调整网络的深度和宽度,因此可以得到 4 个模型版本,分别是 YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x。其中 YOLOv5s是模型参数最少、检测速度最快的简易版本。YOLOv5s将模型分成3个部分:主干特征网络、颈部结构、头部预测,如图1所示。FOCUSCBSCSP1_XCBSCSP1_XCBSCSP1_XCBSSPPCSP2_XCBSUPSAMPLECONCATCSP2_XCBSUPSAMPLECONCATCSP2_XCBSCONCATCSP2_XCBSCONCATCSP2_XCONVHEADCONVHEADCONVHEAD64064033203201216016012880802564040512202010248080256404051220201024主干特征网络颈部结构头部预测图1YOLOv5网络结构图512023年6月四川轻化工大学学报(自然科学版)主干特征网络用于提取图像特征:首先,FOCUS将原特征图每隔一个像素取一个值,类似邻近值采样,从而得到4张特征图,把W、H的信息就集中到了通道空间,减少计算量来加速模型。在主干特征网络的最后一层用了空间金字塔池化(Spatial Pyramid Pooling,SPP)来扩大感受野。根据YOLOv4 中 CSPnet 的基本理论,设计了 CSP1_X 和CSP2_X,前者用于主干特征网络中,后者用于颈部结 构 中。在 颈 部 中 采 用 特 征 金 字 塔(FeaturePyramid Network,FPN)加 路 径 聚 合 网 络(PathAggregation Network,PAN)的结构,FPN结构可以从上往下传达语义信息,然后PAN从下往上传达准确的定位信息,它们一起构成特征金字塔,融合不同特征层之间的特征信息。头部预测部分与YOLOv4一致,只有3个特征预测输出,预测信息包括边框信息、类别和概率。2改进的YOLOv5网络2.1多尺度特征的改进YOLOv5s对常规数据集有很好的检测效果,但这些待检测目标通常较大,而摩托车头盔的检测属于小目标,在提取图像的信息特征时,经过多次卷积激活运算后,会影响小目标的语义信息,导致检测精度降低。为了解决这个问题,在颈部结构中增加一个尺度窗口,添加高层特征层来改进YOLOv5的多尺度检测19。在保证输入大小为640 640的前提下,增加浅层特征大小为160 160的检测层,将原本三尺度特征改进为四尺度,极大增强了对小目标的检测能力。另外,为了最大程度实现不同特征层之间的特征融合,进一步减少多次卷积特征信息的损失,新增四倍上采样特征融合结构,提高对头盔的检测精度。2.2CBAM注意力机制在检测摩托车头盔佩戴时,由于车身间的遮挡和车上人物重叠导致误检和漏检,降低了检测精度。为解决这些问题,特引入CBAM20,该模块包括通道注意力模块(CAM)和空间注意力模块(SAM)两个独立的部分,优化了网络的特征提取能力,有效地提高了检测的精度。给定一个输入特征图为F RCHW,依次计算出一维特征图Mc RC11和二维特征图Ms R1HW,计算过程如式(1)(2)所示:F=Mc(F)F(1)F=Ms(F)F(2)其中,表示对应元素相乘,F为通道特征的输出,F为空间特征的输出。将二者通过多层感知机(MLP)和隐藏层组成共享网络,得到通道注意力特征图Mc(F)RC11,其计算过程如式(3)所示:Mc(F)=(MLP(AvgPool(F)+)MLP(MaxPool(F)=(W1(W0(Fcavg)+)W1(W0(Fcmax)(3)其中,表示激活函数sigmoid,AvgPool(F)表示平均池化,MaxPool(F)表示最大值池化,MLP表示多层感知机的运算,W0 RC/rC和W1 RCC/r是MLP的两次权值。Fcavg和Fcmax分别表示平均池化特征和最大池化特征。为计算空间注意力特征,首先沿通道轴计算平均池化和最大池化,将特征图压缩到一层,生成两个二维的特征:Fsavg R1HW和Fsmax R1HW,表示将C维通道压缩后得到一维通道,该通道具有平均池化和 最 大 池 化。卷 积 后 得 注 意 力 特 征 图Ms(F)R1HW,其计算过程如式(4)所示:Ms()F=()f77()AvgPool()F;MaxPool()F=(f77(Fsavg;Fsmax)(4)其中,表示激活函数,f77表示卷积核大小为7 7的标准化卷积。CBAM注意力模块可以增强特征图中的重要通道和空间特征,有效提高对目标检测的定位精度,52第36卷第3期张 鑫,等:改进YOLOv5s的摩托车头盔佩戴检测算法增强对目标聚集的关注,解决由遮挡重叠而引起的误检、漏检问题。所以在改进YOLOv5s中的颈部结构中,每一次瓶颈结构后面都添加了CBAM注意力模块,另外在最后的四尺度预测层输出之前,也融入了CBAM注意力模块,其结构如图2所示。输出特征通道注意力模块空间注意力模块输入特征图2CBAM注意力机制模块2.3MobilenetV3轻量化模块MobilenetV3 网络21不但融合了 MobilenetV122的深度可分离卷积、MobilenetV223的具有线性瓶颈的逆残差结构与 MnasNet24的轻量级注意力模型,它还融入了SE-net25神经网络,即引入一种非线性swish函数,其计算如式(5)所示:swish x=x (x)(5)其中,swish x表示非线性激活函数,x表示输入特征,(x)表示sigmoid激活函数。虽然这种非线性计算提高了检测精度,但是在移动设备上计算sigmoid成本太高,故采用一种新的激活函数hswish x来代替原来的swish x函数,这能极大提升检测速度,尤其是在深层网络中较为明显。其计算过程如式(6)所示:hswish x=x Relu6(x+3)6(6)其中Relu(x)表示Relu激活函数。YOLOv5s主干特征网络卷积运算很多,为了极大地降低计算开销且保持较好精度,将MobilenetV3网络的 Block 结构替换为 YOLOv5s 主干的瓶颈结构,将CSP1_X中的残差卷积网络改为参数量更少的Block结构来完成特征提取。另外,在颈部中也采用该Block结构替换CSP2_X中的残差卷积,使模型体积降低。MobilenetV3网络的Block结构如图3所示。图3MobilenetV3的Block结构为了提高YOLOv5s模型的检测精度,本文采用了一系列改进措施,如图4所示。首先,为了避免多次卷积后丢失较小目标区域信息,增加了一个浅层来改进多尺度检测,将原来的三尺度特征扩展为四尺度特征(图4(a))。针对输入尺寸为640 640 3的图片,采用了FOCUS模块(图4(b))对其进行切片,将宽、