YOLOv4目标检测算法在煤矿工人口罩佩戴监测工作中的应用研究*

2021-11-08 08:48崔铁军王凌霄
中国安全生产科学技术 2021年10期
关键词:煤矿工人防尘人脸

崔铁军,王凌霄

(辽宁工程技术大学 安全科学与工程学院,辽宁 葫芦岛 125105)

0 引言

我国是世界上最主要的煤炭消费国和生产国,煤矿工人要面对无处不在的矽尘、煤尘等,只靠除尘器除尘或喷水喷泡降尘等除尘方法是远远不够的,佩戴防尘口罩是煤矿工人对抗职业性尘肺病的最后一道防线。由于防尘口罩舒适性差以及人员有侥幸心理和从众心理,许多工人不愿佩戴防尘口罩。且传统的煤矿井下作业现场具有安全管理水平低、安全员的主观干扰大、不能全面监控等问题。对其进行巡检费时费力且不符合实际。因此,将深度学习技术应用于监测煤矿工人的口罩佩戴情况对预防职业性尘肺病具有十分重要的意义。

自2016年AlphGo战胜职业棋手李世石之后,学者们掀起了一波将深度学习与各自领域结合研究的浪潮[1]。在口罩佩戴检测方面,一些学者应用深度学习技术进行了研究,牛作东等[2]利用Retina Face算法对公共场所下的口罩佩戴进行了研究;张修宝等[3]采用数据增强等方法对自然场景下的人脸口罩识别进行了研究;曹城硕等[4]改进并提出1种YOLO-Mask算法对公共场合的人员进行口罩检测;魏丽等[5]利用级联卷积神经网络对遮挡条件下的人脸检测与遮挡物属性判识;王艺皓等[6]改进了YOLOv3目标检测算法,对复杂场景下口罩佩戴进行了检测。目前大多都是针对新冠肺炎疫情下的日常口罩佩戴识别的研究。相比于日常环境,煤矿井下具有作业环境恶劣、光线昏暗等特点,目前利用深度学习技术针对煤矿井下复杂环境的检测研究较少。在安全领域学者们主要将人工智能技术应用于人的不安全行为识别和故障检测。赵江平等[7]利用支持向量机(SVM)对有限空间作业中人员跌倒进行了研究;佟瑞鹏等[8]利用融合特征进行分类,对矿工跌倒行为进行识别检验;施辉等[9]改进了YOLOv3算法,对施工现场作业人员不佩戴安全帽进行了研究;车畅畅等[10]利用深度学习的故障融合诊断模型对航空发动机故障进行诊断;康高强[11]、周双林等[12]利用Faster R-CNN算法对故障进行研究;李千登等[13]利用深度学习算法对叉车危险操作行为进行了检测。

针对传统煤矿井下作业现场的安全管理不到位,安全员巡检工作量巨大、效率低且费时费力、不能全程监控等问题,本文利用Keras框架搭建YOLOv4模型,收集煤矿工人佩戴口罩和未佩戴口罩的图像数据,制作数据集,然后进行模型训练测试,最后对算法的识别精准度进行评估。此外,采用MTCNN和FaceNet构成的人脸识别算法对未佩戴口罩的作业人员的人脸进行识别,并设计对比实验测试本文算法对煤矿工人口罩佩戴识别监测的实用性。

1 检测系统构架设计

1.1 基本流程

本文基于Keras框架对煤矿井下作业现场图像中佩戴口罩和未佩戴口罩的作业人员进行检测并识别。首先收集作业人员图像并制作模型的数据集,对其进行预处理后构建YOLOv4目标检测算法,根据模型训练和测试结果微调其参数使其在煤矿井下复杂环境下有更好的适用性。通过算法检测出未佩戴口罩的作业人员后,基于MTCNN和FaceNet构成的人脸识别算法对其进行人脸识别,以达到追根溯源的目的,进而有利于提高安全管理水平,具体流程如图1所示。

图1 智能监管的具体流程Fig.1 Specific process of intelligent supervision

1.2 系统构架

煤矿工人口罩佩戴检测系统的总体框架主要由监控和提醒2部分组成。监控部分是由YOLOv4目标检测算法进行口罩检测,MTCNN与FaceNet完成人脸识别;提醒部分是通过算法识别出未按规定佩戴口罩的人的名字再由计算机控制喇叭系统进行智能提醒,并将未戴口罩的煤矿工人纳入考核,进行安全教育,从而保障煤矿工人的肺部健康,预防职业性尘肺病。要实现煤矿工人口罩检测的全覆盖,实现自动提醒作业人员佩戴防尘口罩的任务,就需要对入口处和作业环境内增添相关设施,以实现检测系统的各项功能正常运行,如图2所示。

图2 检测系统的结构组成Fig.2 The structure of the detection system

1)监控智能化

监控智能化即无需煤矿工作人员直接接触,即可检测未佩戴口罩人员的身份。在矿井入口处安装检测用的单目摄像头,将其与闸机人脸身份识别系统合二为一,在检测出未佩戴防尘口罩则闸机关闭,防止未佩戴口罩的作业人员进入工作区。利用安保使用的摄像头,在粉尘严重的作业区安装检测用的单目摄像头。与安保系统融为一体,减少单独设立设备的成本,保证监控的全覆盖。

2)提醒自动化

提醒自动化即在没有安全员或者监督人员的情况下通过喇叭系统督促煤矿工人佩戴好防尘口罩。利用MTCNN和FaceNet组成的人脸识别算法进行人脸识别,确定未佩戴口罩作业人员的身份,由计算机控制喇叭系统播报语音,从而督促作业人员佩戴好防尘口罩。同时将未佩戴口罩的煤矿工人纳入考核,之后对其进行安全教育,以防再次违反安全规定。

2 煤矿工人口罩检测关键技术

2.1 Keras框架

本文采用的是Keras深度学习框架。Keras框架与其他框架相比具有API简单易用、扩展性好、易于使用等优点,也是目前主流的用来实现神经网络的机器学习框架之一。

2.2 YOLOv4模型构建

YOLOv4[14]模型是由AlexeyAB等在YOLOv3的基础上改进而来,目前YOLO发展到第4代,将检测速度和精度完美的结合,是目前最先进、使用最广泛的目标检测算法之一。对比Faster RCNN[15]目标检测方法,YOLOv4网络是one-stage网络,它只需对图像做1步运算,即可完成对图像的检测和识别,具有速度更快,帧数更高等优势。YOLOv4的主干特征提取网络CSPDarknet53[16]是在YOLOv3的主干特征提取网络Darknet53上进行了改进,而增强特征提取网络则使用了SPP和PANet结构。

YOLOv4网络结构如图3所示。当输入图片是416×416的大小时,传入YOLOv4网络中,依次被划分13×13,26×26,52×52的网格分别对应着大物体、中物体、小物体。网络预测的结果会判断网格点的右下角是否有物体以及其种类,并且对先验框进行调整而后获得预测框。相比于前代YOLOv3目标检测算法,YOLOv4目标检测算法的AP值提高了10%,fps值提高了12%。

图3 YOLOv4模型结构Fig.3 YOLOv4 model structure

2.3 MTCNN

MTCNN(Multi-task convolutional neural network)即多任务卷积神经网络,它为计算机检测人脸提供了非常有效的思路,是1种轻量级的卷积神经网络组成的人脸检测算法。MTCNN的网络结构主要由O-Net(Output Network),R-Net(Refine Network),P-Net(Proposal Network)3层组成。为了检测不同大小的人脸,图像进入MTCNN中会被分组成不同大小,然后将获得的图像金字塔再传入P-Net中,P-Net会生成许多相对于原图坐标的人脸候选框,从中截取不同区域传入R-Net中,通过R-Net网络可以初步判断人脸框的位置,再次截取框中区域传入MTCNN中最精细的网络O-Net中,最终得出人脸位置实现人脸检测。

2.4 FaceNet

FaceNet是谷歌公司于2015年提出的基于人脸特征的提取网络的人脸检测算法,它可以有效地识别人脸。如图4所示FaceNet把人脸图像通过深度神经网络和L2标准化编码成128维的数字矢量并作为提取特征。利用欧式距离将这2个向量的距离进行比较,得出图像是否为同一个人,从而实现人脸识别。

图4 FaceNet算法流程Fig.4 Flow chart of FaceNet algorithm

3 实验过程

3.1 数据增强

YOLOv4目标检测算法采用的是Mosaic数据增强方法,每次运算读取4张图片,将这4张图片经过翻转、缩放、色域变化等操作按照4个位置对号入座,拼接组合成1张带有框的新图片,有着丰富检测物体的背景的优点。

由于煤矿井下环境恶劣,光照灰暗,因此,为提高模型对煤矿井下灰暗场景图像的鲁棒性,将图像进行色域扭曲,将HSV(Hue,Saturation,Value)颜色模型中的色调(H)、饱和度(S)、明度(V)进行调整,从而模拟出在井下的情况,如图5所示。

图5 色域扭曲数据增强Fig.5 Color gamut distortion data enhancement

3.2 数据集制作

目前,由于没有1个完整的关于煤矿井下工人口罩佩戴的检测数据集。本文从互联网公开数据集、煤矿作业区录像视频文件截取图像和网络图中筛选出人员已佩戴防尘口罩和人员未佩戴防尘口罩的图像总共6 834张。其中图像总数的10%作为测试集,图像总数的90%作为训练集。在收集完这些图像后,利用图像注释工具Labelimg对这些图像进行标注。数据集标注示例如图6所示。标注的标签共2个,煤矿工人佩戴口罩(Face_mask)和煤矿工人未佩戴口罩(Face)。最后的标注结果保存为VOC格式的XML文件即为数据集,以便之后使用。

图6 数据集标注示例Fig.6 Data set annotation example

3.3 评价指标

本文选取交叠率IOU(Intersection Over Union)、精确度P(precision)、召回率R(recall)、平均精度AP(Average Precision)和所有类AP值的平均值mAP这5种指标衡量模型对煤矿工人是否佩戴防尘口罩的检测性能。

3.3.1 交叠率IOU

IOU即衡量预测框和真实框的重合程度。候选区中防尘口罩的预测框和真实框重合度越大,证明煤矿工人是否佩戴防尘口罩检测的效果越好,交叠率公式如式(1)。

(1)

式中:S交为重叠域;S并为总域。交域与总域之比即为交叠率IOU。

3.3.2 精确度P

精确度P即模型判定正确并且确实正确的样本占模型判定正确的总样本的比例,在文中表示为煤矿工人是否佩戴防尘口罩被正确分类的概率,如式(2)。

(2)

式中:TP(True Positives)为正样本预测出正样本的数量;FP(False Positives)为负样本预测出负样本的数量。

3.3.3 召回率R

召回率R即有多少正例被预测正确,如式(3)。

(3)

式中:FN(False Negatives)为该样本是正样本,但被分为负样本而且错误的概率。

3.3.4 平均精度AP(Average Precision)

平均精度AP(Average Precision)即不同P和R的值所组成图形的面积,计算公式如式(4)。

(4)

3.3.5 所有目标类的平均精度的平均值mAP(Mean Average Precision)

所有目标类的平均精度的平均值mAP(Mean Average Precision)公式如式(5),其中C为目标类个数,ci表示第i个目标类。

(5)

3.4 实验结果与分析

本文算法在Visual Studio Code中编程实现,编程语言为Python3.6,深度学习框架为tensorflow-gpu1.13.2,keras2.1.5,实验平台为16 GB内存、AMD Ryzen 5 3500X CPU,GeForce GTX 1660 SUPER GPU,并用Python语言编译实验。模型初始的学习率设置为0.001,batchsize为2,共训练60轮。

本次实验测试集包含683张图片,其中煤矿工人已佩戴防尘口罩检测的平均精度为0.98,煤矿工人未佩戴防尘口罩检测的平均精度为0.83,mAP计算为90.73%。检测到煤矿作业人员未佩戴防尘口罩如图7所示。检测到煤矿作业人员已佩戴防尘口罩图8所示。检测到煤矿作业人员未佩戴防尘口罩随后进行人脸识别如图9所示。

图7 煤矿工人未佩戴防尘口罩的检测示例Fig.7 An example of detection of coal mine workers not wearing dust masks

图8 煤矿工人已佩戴防尘口罩的检测示例Fig.8 An example of detection of coal mine workers wearing dust masks

图9 煤矿工人未佩戴防尘口罩的人脸识别示例Fig.9 Face recognition example of coal mine staff without dust mask

从图7~8中可以看出对于正常煤矿工作时作业人员是否佩戴防尘口罩的检测识别,本文算法取得了不错的检测精度,mAP值达到92.21%。由图7可以看出,当煤矿工人作业未佩戴防尘口罩时,则可由YOLOv4目标检测算法检测而出。而由图8可以看出,当煤矿工人作业时佩戴防尘口罩时,不管其佩戴的是普通的口罩还是防尘面具,YOLOv4模型都可以较好地识别其佩戴了防尘口罩。由图9可以看出,当检测到煤矿工人未佩戴口罩后,基于MTCNN和FaceNet相结合的人脸识别算法对其进行人脸识别,并成功识别出煤矿工人William。

本文基于YOLOv4目标检测算法实现了煤矿工人口罩佩戴的检测,同时与Faster-RCNN,SSD[17],YOLOv3[18]算法做对比实验。然后在测试集上分别对其进行训练测试评估,以平均精度AP、平均精度均值mAP作为模型性能的评估指标,得到数据见表1。

表1 不同检测算法性能指标对比Table 1 Comparison of performance indexes of different detection algorithms

本文算法与Faster-RCNN,SSD等目前主流的目标检测算法相比具有更高的检测精度。与它的上一代YOLOv3算法相比,YOLOv4目标检测算法在2种类别检测目标的平均检测精度上分别提高了2.74%和2.57%。由此可知,相比于其他3种算法,YOLOv4目标检测算法在性能上有一定的优势,检测精度更高。

4 结论

1)针对煤矿工人口罩佩戴问题,本文将深度学习算法应用于安全领域,基于Keras框架利用YOLOv4算法对煤矿工人佩戴防尘口罩情况进行检测与识别,并与MTCNN和FaceNet构成的人脸识别算法相结合进行应用研究。通过6 834张图像组成的数据集进行训练并测试评估,验证了该系统的适用性和有效性,有助于提升煤矿井下作业的安全管理水平。

2)YOLOv4目标检测算法对煤矿工人已佩戴口罩检测的平均精度为92.78%,对未佩戴防尘口罩检测的平均精度为91.63%。与Faster-RCNN,SSD和YOLOv3算法进行了模型的对比实验并进行了评估,结果表明本文算法的mAP值分别高了14.8%,17.64%,2.66%。证明本文算法总体性能最佳,对煤矿工人是否佩戴口罩有着更高的识别准确度。

3)图像识别方法应用于安全领域具有很大的研究空间以及应用前景。下一步工作将研究目标检测算法如何与实际作业场景深入的结合,并将继续采用深度学习理论知识和目标检测技术,研究煤矿井下危险源的辨识。

猜你喜欢
煤矿工人防尘人脸
有特点的人脸
一起学画人脸
影响煤矿工人安全培训的因素与建议
三国漫——人脸解锁
防尘记
外注式单体液压支柱防尘圈的改进设计
煤矿工人生产性粉尘对身体健康影响的研究
煤矿工人安全行为测试及分析
长得象人脸的十种动物
平顶山市煤矿工人结核病防治知识知晓情况调查