基于自适应空间特征融合的 YOLOv5 安全帽检测系统设计论文

2023-02-02 09:38:50 来源: 作者:lvyifei
摘要:摘要:在施工现场正确佩戴安全帽能有效地防止和减轻施工人员遭受头部伤害。目前在施工现场对安全帽佩戴的监管主要依赖人 工, 存在效率低且耗费人力的问题。对此, 设计了基于改进 YOLOv5 的智能安防监控系统, 实现安全帽佩戴检测和人员管理等功 能。首先, 使用改进的 YOLOv5 网络模型实现安全帽佩戴检测, 通过自适应空间特征融合网络学习权重参数来决定输入特征图中 各像素点的激活与抑制, 充分利用不同尺度特征图在不同空间位置像素点的贡献度, 以更好地适应不同尺度的目标检测任务。其 次, 使
摘要:在施工现场正确佩戴安全帽能有效地防止和减轻施工人员遭受头部伤害。目前在施工现场对安全帽佩戴的监管主要依赖人工,存在效率低且耗费人力的问题。对此,设计了基于改进YOLOv5的智能安防监控系统,实现安全帽佩戴检测和人员管理等功能。首先,使用改进的YOLOv5网络模型实现安全帽佩戴检测,通过自适应空间特征融合网络学习权重参数来决定输入特征图中各像素点的激活与抑制,充分利用不同尺度特征图在不同空间位置像素点的贡献度,以更好地适应不同尺度的目标检测任务。其次,使用百度智能云进行人脸识别,获取违规人员信息以生成违规通报,并上传到微信小程序,将违规行为记录存档,实现安全生产智能化管理。实验结果表明,相比原始YOLOv5,改进的YOLOv5在安全帽检测任务上的平均准确率提升0.5%。
关键词:YOLOv5;自适应空间特征融合;安全帽佩戴检测;安防监控系统;人脸识别
0引言
在施工现场正确佩戴安全帽能有效地防止施工人员在生产过程中遭受坠落物体对头部的伤害。然而在实际生产活动中,仍然出现个别工人不按规定佩戴安全帽的情况,给企业的安全生产管理带来不便。
由于安全帽检测具有很大的应用价值,目前国内对安全帽检测有了初步的研究成果,孙国栋等[1]提出了一种通过融合自注意力机制来改进Faster R-CNN的目标检测算法,对于不同场景不同尺度的安全帽有着较好的检测效果;农元君等[2]以Ti⁃ny-YOLOv3检测网络为基础,首先通过改进特征提取网络和多尺度预测优化网络结构,其次引入空间金字塔池化模块和CIoU边界框回归损失函数以提高安全帽检测精度;徐传运等[3]提出将训练集中随机抽取的图像中的检测目标随机缩放后,粘贴到另一随机场景图像上的任意位置,通过场景增强扩充安全帽佩戴训练数据集,增加训练数据集的多样性;马小陆等[4]在YOLOv3输出端引入了跳跃连接构成残差模块,同时改进分类损失函数以平衡正负样本、难易样本对模型的影响,提高了识别的准确度;施辉等[5]提出基于改进YOLO v3算法的安全帽佩戴检测方法,通过采用图像金字塔结构获取不同尺度的特征图,在训练迭代过程中改变输入图像的尺寸,增加模型对尺度的适应性,具有较高的检测准确率;李天宇等[6]提出将跳跃连接和注意力机制CBAM技术引入双向特征融合的特征金字塔网络PANet模块中,同时采用了CIoU来代替IoU进行优化锚框回归预测,有效提高了安全帽检测的识别精度;张锦等[7]提出在YOLOv5的特征提取网络中引入多光谱通道注意力模块,从而加强网络对前景和背景的辨别能力,并在训练迭代过程中随机输入不同尺寸的图像,以此增强模型的泛化能力;赵睿等[8]采用DenseBlock模块来代替YOLOv5主干网络中的Focus结构,在网络颈部检测层加入SE-Net通道注意力模块,改进数据增强方式,增加一个检测层以便能更好地学习密集目标的多级特征,提高模型应对复杂场景的能力。吴宏毅等[9]提出一种基于Transformer自注意力编码特征融合轻量级的目标检测网络,采用轻量级的主干网络提取特征,注意力机制融合多尺度特征,提出质量焦点损失方法,改善目标检测模型训练和测试阶段推理过程不一致问题。赵红成等[10]将原始YOLOv5s主干网络更改为MobileNetV2,再对模型进行压缩,通过在BN层引入缩放因子进行稀疏化训练,判定各通道重要性,对冗余通道剪枝,再通过知识蒸馏辅助模型进行微调,改进后的模型具有较高的准确度。
综上所述,现有的安全帽佩戴检测方法研究缺乏将理论研究应用到实际系统开发与部署的实例,因此本文将提出一个应用深度学习技术的工业现场安全帽佩戴检测系统解决方案。解决施工现场对安全隐患和违规行为无法及时做出预警的问题,将事后追责变为事前预警,降低安全隐患;事中及时发现问题,并通知管理人员及时处理;事后将违规现象记录存档,便于溯源追责,真正做到安全生产智能化管理。
1系统总体架构
本系统分为监控视频数据采集模块、安全帽佩戴检测模块、后端数据处理模块、前端实时展示模块。其中,监控视频数据采集模块通过在QT环境下调用OpenCV库显示海康威视网络摄像头获取的实时视频流。安全帽佩戴检测模块使用改进的YOLOv5网络模型,通过自适应空间特征融合网络充分利用不同尺度特征图在不同空间位置像素点的贡献度,以更好地适应不同尺度的目标检测任务;同时根据YOLOv5的定位信息裁剪出未佩戴安全帽的人脸区域并进行Base64编码,再通过POST网络请求的方式将其传递到百度智能云进行人脸识别,获取违规人员信息并生成违规通报。后端数据处理模块采用Mybatis作为持久层框架,数据库采用MySQL,统一管理历史违规记录、违规图像、人员信息等。前端实时展示模块设计了微信小程序和QT客户端,管理者只需通过权限认证后,就具有批量审核员工信息、实时接收违规通知、查询历史违规记录等权限。系统总体架构如图1所示。
2监控视频数据采集模块
从监控视频中抽帧图像进行后续处理是本系统的基础功能。本系统使用海康威视网络摄像头,开发基于QT环境调用OpenCV库显示网络摄像头获取的实时视频,流程如图2所示。用户在QT界面内点击“设备管理”按钮后,跳出模式对话框提示用户输入网络摄像头的IP地址、用户名、密码等信息,随后在QT的槽函数中将根据这些信息整理成RTSP协议地址,并打包成JSON格式数据,写到内存中,以共享内存的方式让Python读取这些数据并解析,然后在Python端调用OpenCV库根据RTSP协议地址获取网络摄像头的视频数据,并使用YO⁃LOv5网络模型检测安全帽。同时,根据检测结果绘制安全帽边界框,并把这些图像和检测结果写入内存中,让QT端读取并显示在交互界面上。
3安全帽佩戴检测模块
3.1 YOLOv5网络模型原理
基于YOLOv5的安全帽佩戴检测模块是本系统的核心功能。YOLOv5是单阶段目标检测算法,在YOLOv4的基础上添加了一些改进,使其速度与精度都得到了极大的性能提升。在网络结构不变的情况下,可通过深度因子和宽度因子调节网络的深度和宽度,形成YOLOv5s,YOLOv5m,YOLOv5l,YO⁃LOv5x共4种网络模型。
YOLOv5网络结构如图3所示,分为数据输入、骨干网络(Backbone)、颈部(Neck)及预测部分(Prediction)。数据输入部分使用Mosaic的方式进行数据增强,随机抽取4张图片进行随机缩放、随机裁剪和随机排布后再拼接到一张图上,丰富了小样本数据集,同时自适应图像填充将不同尺寸的输入图像统一调整为640×640大小。Backbone部分使用CONV模块、C3模块、SPPF模块组合成特征提取网络,在不同分辨率图像上聚合并形成图像特征,构造具有层次结构的特征图,3种模块结构如图3所示。Neck部分,YOLOv5原始使用FPN+PANet结构进行特征融合,将高层特征丰富的语义信息和低层特征丰富的细节信息相互融合,本文提出在YOLOv5的FPN+PANet结构融合的特征再使用自适应空间特征融合,加强不同尺度的特征融合以提高模型精度。Prediction部分采用非极大值抑制对多个目标锚框进行筛选来提高对目标识别的准确度,采用二元交叉熵损失函数(BCE loss)计算置信度预测损失和分类预测损失,使用GIOU_Loss计算Bounding box的损失。
在目标检测任务中,融合不同尺度的特征是提高性能的一个重要手段。YOLOv5使用FPN+PANet结构将高层特征丰富的语义信息和低层特征丰富的细节信息相互融合,如图4(a)所示,PANet结构是在FPN基础上增加了自下而上的融合路径[11],但其只是简单的通过卷积和上采样操作调整特征图的通道数和尺寸后再相加,无法充分利用各个层级特征图在不同空间位置像素点的贡献度。故本文提出在YOLOv5的FPN+PANet结构融合的特征后再使用自适应空间特征融合(Adaptively Spatial Feature Fusion,ASFF)[12],如图4(b)所示,通过自适应地学习每个尺度上特征图融合的空间权值,将各权值参数图与对应的输入特征图进行加权求和,来决定输入特征图中各像素点的激活与抑制,以此调整不同尺度特征图在不同空间位置像素点的贡献度,更好地适应不同尺度的目标检测。
具体实现步骤如下。
(1)特征缩放
由于YOLOv5的Neck结构输出的4个层级的融合特征具有不同的分辨率和通道数量,所以需要做相应的调整以匹配对应的特征。对于上采样操作,先使用1×1的卷积层压缩特征通道数量,再通过最近邻插值提高分辨率。对于1/2比例的下采样,使用3×3的卷积层,步幅为2,同时调整通道数量和分辨率。对于1/4比例的下采样,先使用步长为2的最大池化层,再进行1/2比例的下采样;对于1/4比例的下采样,先使用步长为4的最大池化层,再进行1/2比例的下采样。
(2)特征融合
记%→l表示将第n层特征图的通道数和尺寸缩放到和第l层一致时位置(i,j)处的特征向量,则对应l层输出的融合特征为:
y=α⋅%→l+β⋅%→l+γ⋅%→l+δ⋅%→l
式中:y为输出特征图yl在(i,j)位置处的特征向量;α、β、γ、δ为在融合生成第l层特征图时,4个调整尺度和通道数量后的特征图在不同空间位置像素点的重要性权重分布图,可以在梯度反向传播过程中自适应学习得到。
3.3人脸识别模块
使用YOLOv5网络模型进行安全帽佩戴检测后,若发现工人没有正确佩戴安全帽,则根据YOLOv5的定位信息在原图中裁剪未佩戴安全帽的人脸区域,并将裁剪的图片依次进行Base64编码,再通过POST网络请求的方式将其传递到百度智能云的人脸搜索API进行人脸识别,将违规工人的人脸和数据库中已注册的人脸依次对比,确定违规工人的身份信息,用于后续生成违规通报。根据本系统对人脸识别的需求分析,需要满足的功能主要有3个部分:人脸注册、人脸识别和数据库管理,人脸识别模块功能结构如图5所示,流程如图6所示。
4前端实时展示模块
4.1 QT交互界面模块设计
本模块的主要功能是提供QT客户端的用户服务,用户在终端安装Qt Creator后可调用登录接口,服务端将会对登录用户进行鉴权,根据不同的用户等级分配不同的用户权限,之后可使用服务端提供的其他云服务功能。本系统所设计QT交互界面如图7所示。
QT交互界面中,用按键来作为信号的发生器,每次点击按键引起信号发生后,会自动执行相应的槽函数,在槽函数里面可以实现所需要的功能。图中,“设备管理”按键对应的槽函数是提示用户输入网络摄像头的IP地址、用户名、密码等信息,从而连接网络摄像头来获取实时视频流,并将安全帽识结果绘制在主界面区域;“记录”按键下,通过调用云服务器的文件管理模块接口获取未正确佩戴安全帽的违规图像并展示;“统计”按键对应的槽函数是获取MySQL数据库中的违规历史数据统计结果并展示。
4.2微信小程序模块设计
检测到施工人员未佩戴安全帽后,调用文件管理模块的接口保存该违规照片,同时根据人脸识别的结果在数据库中查询该员工的具体信息,生成违规通报并实时同步到微信小程序,将违规行为记录存档进数据库,便于事后查证。管理者只需通过微信小程序的权限认证后,即可实时查看工地的安全生产情况。
小程序的后端服务采用Spring Boot框架,使用前后端分离的方式进行开发,接口采用RESTful设计风格,数据库采用的是MySQL,所有服务均以docker容器的形式在服务器上部署。微信小程序功能流程如图8所示,普通用户可以在微信小程序中通过后端服务接口将人脸信息资料上传到系统的MySQL数据库中,管理者具有批量审核员工信息、实时接收违规通知、查询历史违规记录等权限。
微信小程序提供的服务通知功能是在出现新的违规信息的时候,就使用微信官方提供的模板消息接口,立即向管理者下发服务通知,提醒管理者查看最新违规信息。查询历史违规记录功能是通过官方提供的本地存储能力接口将数据存储到本地,能避免用户频繁请求接口而给服务器带来过多的压力,同时所有服务统一使用一个MySQL数据库,当管理者在微信小程序端发送“查询历史违规记录”的请求时,服务器端就将数据库中的违规信息列表返回到小程序,再由小程序渲染生成违规信息列表,流程如图9所示。
5测试与结果分析
本实验使用开源安全帽佩戴检测数据集(Safety helmet wearing detect dataset,SHWD)训练网络模型,将SHWD提供7 581张图像按照9∶1的比例划分为训练集和测试集。在训练过程中,设置最大迭代次数为100个epochs,采用SGD优化器,动量因子为0.937,权重衰减系数为0.000 5,使用余弦退火算法更新学习率。
本文使用精确度(Precision,P)、召回率(Recall,R)、平均精确度(Average Precision,AP)、平均精确度均值(mean Average Precision,mAP)指标来评估模型性能。
实验结果如表1所示,其中mAP.5是IoU阈值为0.5的情况下每一类别的AP值的平均;mAP.5:.95表示IoU阈值从0.5开始以0.05的步长增长到0.95所对应的平均mAP。从表中可以看出本文所提出的改进YOLOv5网络模型相比原始YOLOv5网络模型,在mAP.5指标上提升了0.5%,在mAP.5:.95指标上提升了0.6%。训练过程中的置信度预测损失、分类预测损失、Bounding box损失情况如图10所示,在90个epochs迭代以后,3种损失值都趋于平缓且接近0。
6结束语
本文设计了基于改进YOLOv5网络模型的智能安防监控系统,首先在QT环境下调用OpenCV库显示海康威视网络摄像头获取的实时视频流。其次,通过自适应空间特征融合网络改进的YOLOv5网络模型进行安全帽佩戴检测,实验结果表明,本文改进的YOLOv5在安全帽检测任务上的mAP值为92.2%,相比原始YOLOv5提升0.5%,满足复杂施工场景下安全帽佩戴检测的准确率要求。随后使用百度智能云进行人脸识别从而生成违规通报,并实时同步到微信小程序,将违规行为记录存档进数据库,便于事后查证。管理者只需通过微信小程序的权限认证后,即可实时查看工地的安全生产情况,实现了安全生产智能化管理。
参考文献:
[1]孙国栋,李超,张航.融合自注意力机制的安全帽佩戴检测方法[J/OL].计算机工程与应用:1-7[2022-02-24].http://kns.cnki.net/kcms/detail/11.2127.TP.20210621.1819.010.html.
[2]农元君,王俊杰,徐晓东,等.面向嵌入式平台的安全帽实时检测方法[J/OL].计算机工程与应用:1-8[2022-024].http://kns.cnki.net/kcms/detail/11.2127.TP.20210223.1318.008.html.
[3]徐传运,袁含香,李刚,等.使用场景增强的安全帽佩戴检测方法研究[J/OL].计算机工程与应用:1-8[2022-02-24].http://kns.cnki.net/kcms/detail/11.2127.TP.20210604.1536.014.html.
[4]马小陆,王明明,王兵.YOLOv3在安全帽佩戴检测中的应用研究[J].河北工程大学学报(自然科学版),2020,37(4):78-86.
[5]施辉,陈先桥,杨英.改进YOLO v3的安全帽佩戴检测方法[J].计算机工程与应用,2019,55(11):213-220.
[6]李天宇,李栋,陈明举,等.一种高精度的卷积神经网络安全帽检测方法[J].液晶与显示,2021,36(7):1018-1026.
[7]张锦,屈佩琪,孙程,等.基于改进YOLOv5的安全帽佩戴检测方法[J/OL].计算机应用:1-11[2022-02-24].http://kns.cnki.net/kcms/detail/51.1307.TP.20210908.1727.002.html.
[8]赵睿,刘辉,刘沛霖,等.基于改进YOLOv5s的安全帽检测算法[J/OL].北京航空航天大学学报:1-16[2022-02-24].DOI:10.13700/j.bh.1001-5965.2021.0595.
[9]吴宏毅,雷景生,陈林锋,等.改进目标检测算法在变电站内安全管控的应用[J/OL].计算机工程与应用:1-9[2022-02-24].http://kns.cnki.net/kcms/detail/11.2127.TP.20210928.0907.010.html.
[10]赵红成,田秀霞,杨泽森,等.YOLO-S:一种新型轻量的安全帽佩戴检测模型[J].华东师范大学学报(自然科学版),2021(5):134-145.
[11]Liu,Shu,Lu Qi,Haifang Qin.Path Aggregation Network for In⁃stance Segmentation[C]//2018 IEEE/CVF Conference on Com⁃puter Vision and PatternRecognition,2018.
[12]Liu Songtao,Di Huang,Yunhong Wang.Learning Spatial Fu⁃sion for Single-Shot Object Detection[J].ArXiv abs/1911.09516(2019).
