改进YOLOv4的安全帽佩戴检测及身份识别方法

2022-02-09 02:19吴冬梅闫宗亮宋婉莹
计算机仿真 2022年12期
关键词:安全帽集上样本

吴冬梅,闫宗亮,宋婉莹,白 凡

(西安科技大学通信与信息工程学院,陕西西安710054)

1 引言

在国电系统中,安全帽颜色按照视觉识别系统(VI)规定:白色代表领导人员,蓝色代表管理或技术人员,黄色代表施工人员,红色代表外来人员。为了加强施工安全管理并降低意外事故风险,严令施工人员必须佩戴安全帽且安全帽的颜色必须与其身份相符合。但是,由于监管力度不够以及施工人员安全意识淡薄等原因,在施工现场由于不佩戴戴安全帽而导致的意外事故时有发生。在中国,2012-2016年,超过2850名建筑工人死于建筑施工,平均每天1.57人死亡[1]。因此,急需在建筑现场实现对安全帽的自动化检测,目前已经有大量关于自动检测安全帽佩戴的研究。

传统的安全帽佩戴检测方法可以分为两类:基于传感器的检测和基于计算机视觉的检测。基于传感器的检测技术,侧重于远程定位和跟踪技术,例如射频识别(RFID)和无线局域网(WLANs)。Kelm等[2]设计了一个移动射频识别门户,用于检查人员个人防护设备穿戴的正确性。但是位于建筑工地入口的RFID阅读器无法检查非入口区域,无法识别施工人员是否佩戴安全帽。Dong等[3]开发了工人位置跟踪的实时定位系统(RTLS),在安全帽上放置压力传感器后通过蓝牙传输压力信息进行监控判断工人是否应该戴安全帽并发送警告。Zhang等人[4]使用基于物联网的架构开发了一个智能安全帽系统。为了确定安全帽的使用状态,将一个红外光束探测器和一个热红外传感器安置在安全帽内。当红外光束探测器和热红外传感器都被激活时,该工人的安全帽使用被确认。一般来说,现有的基于传感器的方法很难准确识别建筑工地上人们是否佩戴安全帽。此外,传感器的使用将导致大量的生产成本。与基于传感器的检测方法相比,基于计算机视觉的检测技术越来越受到人们的重视。2014年刘晓慧等[5]使用Hu矩阵和肤色检测来识别安全帽。2015年周艳青等[6]采用人工提取头部特征区域,再利用分类器和反向人工神经网络进行分类预测。Wu等人[7]提出了一种基于颜色的混合描述子,由局部二值模式(LBP)、Hu矩不变量(HMI)和颜色直方图(CH)组成,用于提取不同颜色的安全帽特征。然后利用支持向量机(H-SVM)将特征分为四类(红色、黄色、蓝色和没有佩戴安全帽)。

近年来,基于深度学习的目标检测越来越受欢迎,2019年施辉等[8]提出一种将图像金字塔网络加入到YOLOv3中并改进的安全帽佩戴检测方法。张明媛[9]等提出的基于Faster RCNN的安全帽检测方法。2020年王雨生等[10]提出了一种通过骨骼点位置信息确定头部区域以缩小检测范围的安全帽佩戴检测方法。秦嘉[11]等人提出了一种安全帽的检测与跟踪的方法。2020年吴冬梅和王慧等[12]提出了改进的Faster RCNN算法,可以检测出不同颜色的安全帽并识别佩戴者的身份。Jixiu Wu等人[13]提出了一种基于卷积神经网络的单阶段检测系统,可以检测出四种颜色的安全帽。传统的安全帽检测方法很难准确识别安全帽是否正确佩戴,基于深度学习的安全帽佩戴检测无法在检测精度和检测速度之间达到一个好的平衡,本文针对前人工作的局限性,提出一种基于改进的YOLOv4算法的安全帽检测及身份识别模型。

2 YOLOv4的原理

YOLOv4是Alexey Bochkovskiy,Chien-Yao Wang等[14]人于2020年在YOLOv3基础上做了大量的改进后得到的新的检测网络。在网络结构方面,主要有三个方面的改进。

特征提取网络由YOLOv3中的Darknet53改进为CSPDarknet53,在Darknet53的基础上加入了CSPNet(跨阶段部分网络)中的跨阶段连接方法。跨阶段局部连接网络是一种可以提高卷积神经网络学习能力的一种新型骨干网络,利用跨阶段特征融合方法和阶段梯度流来增强不同的层中学习特征的可变性。

在YOLOv4中加入了SPP-Net(空间金字塔池化)网络。一般在卷积神经网络结构中,对图片的输入大小要求固定,但在现实中通常会使用裁剪和拉伸两种方法来将图片的大小统一,这样做会破坏图像的纵横比,SPP-Net网络的出现很好的解决了这个问题,它可以产生固定大小的输出,并且可以使用同一图像像不同尺寸作为输入,得到同样长度的池化特征,提高了尺度不变性,降低了过拟合,使用不同尺寸的图像进行网络训练更容易使得网络收敛。

YOLOv4中还采用了PANet(路径聚合网络),从YOLOv4的网络结构图中可以看出,PANet网络将特征提取网络底层的全局信息和高层的语义信息进行融合,使得YOLOv4输出的特征更加完整。在YOLOv4的网络的训练中采用了一些小的技巧,对网络的精度有一定的提升。Mish激活函数、CIOU作为损失函数、马赛克数据增强(Mosaic data augmentation)、标签平滑处理技术和DropBlock正则化技术等。

3 YOLOv4的改进

YOLOV4中的非极大值抑制算法采用NMS算法,首先取出得分最大的框,然后计算得分最大的框与其它所有预测框的重合程度,重合程度过大的框则被剔除。由于本文所要检测的小目标很容易被遮挡,那么NMS算法就会抑制掉遮挡比较严重的目标。针对此问题,本文将YOLOv4中的NMS算法改进为Bodla提出的Soft-NMS[17]算法,其公式为

(1)

相比于NMS算法,Soft-NMS则以一个权重的形式,将获得的IOU取高斯指数后乘上原得分,之后重新排序,继续循环,这样将会避免遮挡严重的目标被直接剔除。

在卷积神经网络提取的特征中,低层级的特征包含了丰富的全局信息,包括定位信息,高层级的特征包含了大量的语义信息,为了使安全帽的检测定位更加准确,本文对YOLOv4的主干特征提取网络进行改进,将第二个跨阶段局部连接中的残差块个数由2增加为4,增加底层特征的提取。改进后的YOLOv4网络模型如下图所示。

4 实验结果分析及对比

本文的实验环境为:Intel Core-I9-10900XCPU 3.70GHZ,32GB的的运行内存,11GB的显存,Nvidia Geforce RTX 2080Ti的GPU,64位的操作系统,tensorflow深度学习框架。初始学习率为10-3,momentum为0.9,在HardHatWorkers[17]数据集上训练时,解冻前batch_size为14,解冻后为6,在其余三个数据集上训练时,解冻前的batch_size为10,解冻后为3,所有实验均在相同的硬件环境下进行。

4.1 数据集

目前已经有公开的安全帽检测的数据集用于开发和评估各种情况下的安全帽佩戴检测算法。本文收集到了四个关于安全帽检测的数据集,采用迁移学习的思想,在每个数据集上进行训练已达到最好的检测效果。第一个数据集名为HardHat Dataset[15],包含了Helmet、Person和Head三个类别,共5000张图片,图片的大小为416×416×3。第二个数据集是SafetyHelmetWearing-Dataset来自github的一个开源项目,共7581张图片。其中5297张图片作为训练集,1766张图片作为验证集。共包含了9044个佩戴安全帽(正样本)和111514个正常头部的未佩戴安全帽(负样本)的图像,其中正样本的标签为Hat,负样本的标签为person。第三个数据集是Hardhat[16],包含Head,helmet,person,others四个类别,共7063张图片。第四个数据集GDUT-HWD[13],包含red,yellow,white,blue,none五个类别。YOLOv4的先验框是在VOC数据集上聚类得到的。直接使用原模型的先验框显然是不合理的,所以在训练时,对每一个数据集进行聚类得出与其相对应的先验框。

图1 改进的YOLOv4网络模型

4.2 评价指标

评价目标检测的常用指标有平均精度AP(Average Precision)、平均精度均值mAP(Mean Average Precision)、ROC曲线(Receiver Operating Characteristic curve)和帧率(Frame Per Second)。其中AP值的大小反映单一目标的检测效果,其计算公式为

(2)

其中,p(r)表示真正率(True Positive Rate)和召回率(Recall)的映射关系,真正率和召回率的计算公式为

(3)

(4)

其中真正数(True Positive)表示正样本被预测为正样本的个数,假正数(False Positive)表示负样本被预测为正样本的个数,假负数(False Negative)表示正样本被预测为负样本的个数。本文采用平均准确率和帧率评价最后的检测效果。其中帧率主要表征了检测的速度。

4.3 实验结果分析及对比

为了避免梯度爆炸和过拟合并在训练时加快了模型的收敛速度。首先将模型在VOC2007数据集上进行预训练,然后将预训练后的模型依次迁移到四个安全帽数据集上进行训练。训练时先冻结模型的前100层,训练10个轮次之后,解冻模型。在此基础上继续训练,直到模型不在收敛为止。在HardHatWorkers、SHDW和Hardhat数据集上训练时,80%作为训练集,20%作为验证集。在GDUT-HWD数据集上训练时,60%作为训练集,20%的作为验证集,最后对模型在剩余的20%的数据上进行测试,其中黄、红、蓝、白和没有佩戴安帽的AP值分别95.29%、94.70%、93.59%、94.68%和84.94%,模型的mAP值为92.05%。如图3所示。

图2 改进YOLOv4的mAP值

为了检验本文所提出的模型的有效性,将改进后的模型与YOLOv3、YOLOv4、YOLOv5s和Jixiu Wu等人论文中的模型进行对比分析。表1中前6行的检测结果来自于Jixiu Wu等人的论文,都是在GDUT-HWD数据集上训练的结果。

表1 模型检测结果对比

下图是改进YOLOv4的检测结果的示例样图,包括进入建筑现场的通道口,工厂内部和建筑现场,可以看出,对于距离摄像头较远的安全帽,依然可以准确检测出并识别其颜色,具有良好的检测效果和较广的应用范围。

图3 改进的YOLOv4模型检测结果示例图

5 结语

本文通过迁移学习的思想,充分利用现有的与安全帽检测相关的数据集。使用改进的YOLOv4算法在四个有关安全帽的数据集上训练一个可以检测各种颜色的安全帽佩戴检测模型,从最后的实验数据中分析得出,模型的mAP值高达92.05%。在后续的研究中,将加入人脸识别,识别出没有佩戴安全帽的具体人员,然后通过语音提醒的方式,提醒建筑现场的工作人员及时佩戴安全帽,从而降低事故的风险。

猜你喜欢
安全帽集上样本
小小安全帽,生命保护伞
用样本估计总体复习点拨
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
爆笑四格
R语言在统计学教学中的运用
推动医改的“直销样本”
危险
随机微分方程的样本Lyapunov二次型估计
村企共赢的样本