基于改进YOLOv5的复杂环境下安全帽佩戴识别
2023-09-20王艳鹏王振亚赵继红葛广英
王艳鹏,王振亚,赵继红,葛广英
(1. 聊城大学物理科学与信息工程学院,山东 聊城 252059;2. 聊城大学计算机学院,山东 聊城 252059)
1 引言
在各种工业领域和施工现场中,安全帽是一种重要的个人防护装备,它能够保护头部免受意外伤害。然而,在实际场景中,由于种种原因,人们可能没有正确佩戴安全帽或者违规不佩戴安全帽,这会增加事故发生的风险。通过开发和应用安全帽佩戴识别技术,可以自动监测和检测工作人员是否正确佩戴安全帽,及时发现佩戴违规行为,提醒相关人员遵守安全规定,防止事故的发生。因此,研究复杂环境下安全帽佩戴识别方法具有一定的现实意义。
为了有效对复杂环境下安全帽佩戴进行识别[1,2],许凯等人[3]通过增加特征图的方式对YOLOv3算法进行改进,使用K-means聚类算法对安全帽数据集进行聚类,将GIoU Loss作为边界损失,减少正负样本带来的不均衡误差,最终实现安全帽佩戴识别。张明媛等人[4]主要通过深度学习算法对建筑工人安全帽佩戴进行识别。施辉等人[5]主要采用改进的YOLOv3算法进行安全帽佩戴检测,最终判定施工人员是否佩戴安全帽。在以上方法的基础上,提出一种基于改进YOLOv5的复杂环境下安全帽佩戴识别方法。经实验测试结果证明,所提方法可以有效提升施工人员骨骼点提取精度和头部区域定位结果准确性,同时还能够获取满意的安全帽佩戴识别结果。
2 复杂环境下安全帽佩戴识别方法
2.1 施工人员骨骼点提取
通过Open Pose对施工人员姿态信息进行估计,进而获取关键部位的骨骼信息。通过头部和左右肩构建一个三角区域,以头部为中心旋转180°,获取一个全新的三角区域,将新旧三角区域组合,形成一个四边形。将四边形的最长对角线作为直径,绘制一个最大外圆。其中,所构成的四边形对角线长度可以表示为式(1)和式(2)的形式
(1)
(2)
根据式(1)和式(2)可以获取施工人员关键部位骨骼点信息。
2.2 改进的YOLOv5
YOLOv5是一种目标识别算法,主要包含四种不同类型的网络结构,以下主要使用基础的YOLOv5,同时在其基础上对其进行改进。YOLOv5主要是由三个部分组成,分别为:
1)输入端
输入端主要使用Mosaic数据增强方法,可以在数据集中随机抽取图像进行缩放以及裁剪等相关操作,最后再拼接成一幅图像。针对YOLOv5算法而言,需要针对识别对象的不同,设定锚框的初始长和宽,由于网络设置了内部程序,当锚框的计算数值小于设定阈值,需要重新设定锚框的长和宽。
2)骨干网络
骨干网络主要是由Focus结构和CSPDarknet53结构组成,前者在图像下采样过程中,可以有效降低模型计算量带来的损失;而后者可以获取融合后的网络结构,同时可以对图像进行相关处理。
3)颈部
YOLOv5头部主要使用FPN结构,FPN的顶部是逐渐向下的,可以将图像顶部的特征图和底部的特征图信息进行融合。增加一个全新的PAN结构,将底部的特征图信息和特征顶部的特征图进行进行二次融合,确保获取的特征图融合信息更加丰富,表达能力更强[6,7]。
YOLOv5损失函数一共包含三个部分,具体的表达形式如式(3)所示
Mloss=Mbos+Mcls+Mobj
(3)
式中,Mloss代表YOLOv5损失函数;Mbos代表定位损失;Mcls代表分类损失;Mobj代表置信度损失。
通过YOLOv5基本组成结构进一步对其进行改进,在原有网络结构的基础上增加SSH模块和识别层,详细组成结构如下所示:
1)SSH模块因为尺度不变性,将上下文信息进行整合和合并,进而达到增加视野的目的。
2)在安全帽佩戴识别的过程中,在较小目标识别过程中,将原始的尺度预测结构拓展为四种尺度,同时将设定规格的特征图进行上采样,将卷积过程中的特征图进行拼接,进行四次预测。
2.3 基于改进YOLOv5的复杂环境下安全帽佩戴识别
利用图1给出基于YOLOv5的复杂环境下安全帽佩戴识别方法的操作流程图:
图1 基于改进YOLOv5的复杂环境下安全帽佩戴识别流程图
1)对施工人员的人体关键点检测器进行训练,使其能够获取更加满意的检测结果。
2)提取视频检测窗口:
安装摄像头采集图像,同时对安全帽和人体框进行检测[8,9],主要使用改进后的YOLOv5。
3)人体关键点、人体框和安全帽检测:
将视频帧图像输入至完成训练的模型中,进行视频帧图像检测,获取安全框和人体框的具体位置信息。
4)对施工人员头部区域进行定位[10,11]:
通过施工人员头部关键点位置,定位区域中心点,同时将人体框中较短边作为边长绘制矩形,即为人体头部所在的区域。
5)判断是否佩戴安全帽:
通过安全帽位置和头部区域位置识别施工人员是否佩戴安全帽。
施工现场采集到的图像会自动进入前馈网络中,根据网络的上下分支预测关键点的置信度,同时还可以获取各个部位之间的关联性。将第一阶段得到的置信图和原始特征图同时输入到第二阶段进行预测,对应的计算公式如下
T(S)=α(i)(r,s(t-1),l(t-1))
(4)
L(t)=β(i)(r,s(t-1),l(t-1))
(5)
式中,T(S)和L(t)代表第二阶段预测结果;α(i)(r,s(t-1),l(t-1))和β(i)(r,s(t-1),l(t-1))分别代表两个不同阶段使用的网络。
为了确保每一个预测阶段都可以获取比较满意的预测结果,在最后一个阶段,需要在各个阶段设定对应的损失函数。同时通过预测值和真实值之间的损失对损失函数进行加权处理,其中两个不同分支的损失函数可以表示为式(6)的形式:
(6)
为了在训练过程中可以对置信度图的损失函数进行评价,需要优先对关键点形成的置信度图进行标注。
针对每个施工人员形成个体置信度图,则图像像素位置对应的置信度T(j,k)(p)可以表示为式(7)的形式
(7)
式中,x(j,k)代表人体真实位置。
当获取全部施工人员各个部位的置信度图后,需要进行最大值操作,进而获取网络的预测置信度图T(j)(p),如式(8)所示
T(j)(p)=maxT(j,k)(p)
(8)
通过式(9)表示真实的亲和矢量场M(c,k)(p)
(9)
式中,w代表施工人员肢体方向上的单位矢量。
对全部人体目标的相同肢体进行平均,进而获取这一阶段输出部分的亲和矢量场,如式(10)所示
(10)
式中,mc(p)代表连接向量。
根据检测出的部位置信度图进行非极大值抑制,获取离散候选部位位置。优先获取图像中包含多个人身体部位点的集合,同时对检测到的候选点部位进行最优分配[12,13]。
当得到多个施工人员的全身姿态信息后,需要引入松弛策略进行优化处理,同时将目标转换为以下形式
(11)
改进的YOLOv5算法就是将检测目标集成为一个单一的神经网络,根据整张图像的特征直接预测各个边界框位置和全部目标分类[14,15]。改进YOLOv5算法在逻辑上会优先将图像划分为t×t个网格,对于每个网格而言,需要优先预测边界框内全部目标概率以及准确度。通常情况下,可以将这个置信度S(object)表示为式(11)的形式:
(12)
在测试的过程中,可以获取每个边框的分类置信度分数Sr(class(i)|object),如式(13)所示
(13)
采用改进的YOLOv5算法对网格边框数量进行预测,可以获取训练过程中的损失函数。
通过改进的YOLOv5算法可以对人体关键点进行检测,获取关键点信息,可以表示为图2的形式。
图2 人体关键点检测结果
(14)
对安全帽和人体头部所在区域的位置进行判断,假设安全帽框在人体头部框内,则说明施工人员佩戴了安全帽,反之,则说明施工人员没有佩戴安全帽,最终达到复杂环境下安全帽佩戴识别的目的。
3 仿真研究
为了验证所提基于改进YOLOv5的复杂环境下安全帽佩戴识别方法的有效性,实验选取MPII数据集对施工人员姿态进行估计,优先分析三种方法的人体骨骼关键点特征提取结果,详细实验结果如图3所示。
图3 施工人员身体骨骼关键点提取结果
分析图3可知,无论是在单人还是多人情况下,所提方法都可以准确对施工人员的身体关键点进行提取,验证了所提方法的有效性。
接下来对比三种不同方法的头部区域定位结果,将交并比(IoU)作为衡量指标,该值越高,说明定位结果越准确,详细的实验测试结果如图4所示。
图4 不同方法的头部区域定位结果
由图4可知,与文献[3]方法和文献[4]方法相比,所提方法可以获取高精度的头部区域定位结果。
选取一组施工人员现场施工图片作为测试对象,分析三种不同方法复杂环境下的安全帽佩戴识别性能,详细的实验测试结果如图5所示。
图5 复杂环境下安全帽佩戴识别结果对比
分析图5可知,无论是在哪种条件下,所提方法都可以识别施工人员是否佩戴安全帽,而另外两种方法的识别结果并不理想。主要因为所提方法可以获取高精度的施工人员身体关键点提取结果,从而提升识别结果的准确性。
为了进一步对所提方法的识别性能进行分析,将漏识率作为测试指标,详细的实验测试结果如表1所示。
表1 不同方法的漏识率测试结果对比
分析表1中的实验数据可知,所提方法的漏识率明显低于另外两种方法,说明所提方法可以获取更加满意的识别结果。
4 结束语
针对传统安全帽佩戴识别方法存在的一系列问题,设计并提出一种基于改进YOLOv5的复杂环境下安全帽佩戴识别方法。经过实验测试结果表明,所提方法可以有效提升安全帽佩戴识别结果准确性,同时还可以对人体骨骼关键点精准提取,获取高精度的头部区域定位结果。