基于深度学习的下井人员安全状态快速检测算法研究
2021-04-21翟鑫李昕
翟鑫 李昕
摘 要:在矿井生产中,作业环境复杂,安全生产风险较大,而传统的人工安全状态检测存在效率较低、漏检率较高等问题。因此,本文提出了基于卷积神经网络的下井人员安全状态快速检测方法。其间使用YOLOv3网络进行安全帽、工作服、工作鞋的多类别目标识别。试验表明,相比于传统人工检测方法,此算法具备更高的检测效率。在试验中,平均精度均值(mAP)达到了90.05%的高准确率,而且检测帧率达到28帧/s,具备了实时检测的能力。
关键词:深度学习;卷积神经网络;矿井生产;安全状态快速检测
中图分类号:TP391.41文献标识码:A文章编号:1003-5168(2021)02-0008-04
Study on the Fast Detection Algorithm for the Safety State of Downhole Workers Based on Deep Learning
ZHAI Xin LI Xin
(School of Electrical & Information Engineering, Anhui University of Science and Technology,Huainan Anhui 232000)
Abstract: In mine production, the operating environment is complex and the safety production risk is relatively high. However, the traditional manual safety state detection has problems such as low efficiency and high missed detection rate. Therefore, this paper proposed a fast detection method for the safety status of downhole personnel based on convolutional neural network (CNN). In the meantime, YOLOv3 network was used for multi-category target recognition of helmets, work clothes and work shoes. Experiments show that compared with traditional manual detection methods, this algorithm has higher detection efficiency. In the experiment, the mean average precision (mAP) reached a high accuracy rate of 90.05%, and the detection frame rate reached 28 frames/s, which provided real-time detection capabilities.
Keywords: deep learning;CNN;mine production;rapid detection of security status
在矿井生产中,井下工作人员在井下面对着照明不良、路面坑洼、部分巷道有积水等各种复杂情况,正确穿戴工作服装下井是劳动防护和安全生产的基本要求。下井前的安全检查采用自动化方法,可以减少工作人员的工作负担,从而减少工作人员数量,降低企业经济负担。基于深度学习进行井下人员安全帽检测的方法已被大量研究与应用,文献[1]使用Faster RCNN网络进行工人安全帽检测识别。在生产实际中,安全帽位于人体头部位置,基本无遮挡,大多颜色明显,使用卷积神经网络(CNN)能够较为精准地进行识别。但是,对于下井人员全身的安全状态检测鲜有研究,本文将使用YOLOv3网络,提出一种快速安全状态检测的方法。
近年来,随着深度学习(Deep Learning)的快速发展,现实中的应用也越来越广泛,深度学习在NLP和CV领域取得了丰硕成果[2]。卷积神经网络(Convolutional Neural Network)是一种在神经生理学的启发之下出现的,模拟人脑进行逐层特征提取的神经网络架构[3]。其在计算机视觉方面表现出了巨大前景[4],在图像分类、实例分割、目标检测等方面都得到广泛的应用[5-9]。YOLOv3是继YOLOv1、YOLOv2之后的第三个YOLO网络[10-12],目前工业生产中广泛使用的目标识别检测方法在快速性和准确性上能达到较好的平衡。本文考虑到此研究的实际应用场景,选择YOLOv3网络,以便向智能手机、嵌入式设备移植程序,进一步提高现场使用的灵活性[12]。
1 網络架构
YOLOv3是2018年提出的一个单阶段(Single-stage)目标检测方法,采用端到端的网络架构,是目前常用的目标检测算法中速度最快的。常用目标检测算法性能对比如表1所示。
表1为各算法在COCO数据集上的性能度量,COCO数据集全称Microsoft Common Objects in Context,源于2014年Microsoft出资组织的Microsoft COCO数据比赛。目前,该数据集是目标识别、检测等领域的一个常用基准数据集。表1中,mAP表示该算法架构在所有类别上准确性的平均值。
[mAP=1NAP(c)] (1)
式中,[N]为类别数量;[AP(c)]为每个类别上的平均准确度。
对于输入图像,YOLOv3算法将每张图像分为S×S的网格,如图1所示。对于每个网格,分别计算3种尺寸不同的Bounding boxes的目标得分、4个框体坐标以及80个类别得分,从而完成目标检测[12]。
YOLOv3的特征提取网络采用新的DarkNet-53,该网络结构包含23个残差块(Residual Block),网络中只使用1×1和3×3大小的卷积核,并且网络中不含有池化层和全连接层。为了抑制网络过拟合现象,DarkNet-53在每一个卷积层后均使用了批归一化(Batch Normalization)和随机失活(Dropout)。相比ResNet-101和ResNet-152[13],DarkNet-53的BFLOP(Billion Floating Point Operations)更小,但分类准确度相当。其在ImageNet[14]数据集上的性能对比如表2所示。
由表2可知,相比于ResNet-101,DarkNet-53的检测速度快147%;相比于ResNet-152,DarkNet-53的检测速度快210%。
YOLOv3使用了多类别尺度融合的方式进行预测,采用了类似FPN的上采样和多尺度融合方法。综合检测提高了目标识别的准度。如图2所示,使用3种尺寸的目标框(BoundingBoxes)检测目标,相比于YOLOv1、YOLOv2,提高了对小目标的识别能力。
YOLOv3采用多标签分类,不能够使用softmax函数来计算分类可能性。因此,YOLOv3使用逻辑分类交叉熵损失(Logistic Classification with Cross-entropy)。此外,YOLOv3还使用坐标损失函数和置信度损失函数,YOLOv3总的损失函数由以上三类相加得到,表达式如(2)式所示。
[loss=12i=110 647λ×2-Tw×Th×r∈(x,y,w,h)Tr-Pr2+r=0k-1r==Tclass?1:0-Pclass2+Tconf-Pconf2] (2)
式中,[λ]在目标框中存在物体时置1,否则置0;[Tw]和[Th]代表标注图像中目标框的位置;[T]、[Pr]分别表示目标框大小的真实值和预测值;[Tclass]、[Pclass]分别表示类别的真实值和预测值;[Tconf]、[Pconf]分别表示置信度的真实值和预测值。
因此,本文试验中所用损失函数如(3)式所示。
[L= lossh+lossc+losss] (3)
式中,[lossh]、[lossc]、[losss]分别代表安全帽、工作服、工作鞋的损失函数。
2 试验
2.1 数据集及标注
使用深度学习方法进行目标检测时,数据集的好坏起着决定性作用,但是在下井人员安全状态检测方面并没有公开数据集可用,因此本文制作了一套试验用安全状态检测数据集。本文使用煤矿矿井出入口的监控视频手工提取出2 000余张图片,使用labelimg图像标注工具程序对照片中下井人员的安全帽、工作服、工作鞋进行了标注,如图3所示。
使用lableimg标注后会生成记录有目标框坐标的xml文件,网络训练时读取图片对应的xml文件即可。
2.2 试验设计
本试验将数据集划分为3类。第一类是训练集,用于网络参数训练,第二类是验证集,用于验证网络中的超参数是否合适,第三类是指最后留出少量图片,作为网络验证使用。为了提高网络的鲁棒性,在划分数据集时使用随机数法决定图片的划分。
为了抑制因训练样本较少带来的过拟合,本文在训练阶段使用了图像增强,对训练集的图片进行了角度旋转、饱和度调整、曝光量调整和色调调整等,使得网络在训练中可以得到更好的泛化能力。
2.3 试验设备
卷积网络的计算量较大,使用CPU进行计算的速度较慢,通常情况下网络的训练需要使用GPU进行,利用cuda驱动加速网络训练过程。本文的网络训练在Ubuntu19.04系统上进行,YOLOv3使用了原作者的darkNet框架,darkNet是一个利用C语言开发的小型框架,运算速度上优于常用的tensorflow和pytorch框架。
本文使用的深度学习工作站配置如表3所示。
2.4 训练过程与结果
由于本文标注数据集规模较小,直接用来训练网络效果不佳,且训练耗时较大,因此本文使用YOLOv3原作者在Imagenet数据集上预训练的darknet53.conv.74权重参数。Imagenet数据集是斯坦福大学等设立的分类定位挑战比赛所采用的数据集,该数据集包含1 000個物体类别,是目前使用最广泛的图像数据集。
试验发现,训练中设置的初始学习率为0.001,训练迭代4 000次,分别在3 200次和3 600次将学习率乘以0.1,可以使得网络收敛速度更快。为了提高识别的准确性,网络使用分辨率608×608的输入图片。优化器采用Adam梯度下降法,动量设为0.9,训练时设定批量值(batch)为128,整个训练可以在4 h左右完成,训练过程中损失(loss)下降较为平稳,证明本文所选用超参数较为合理。试验结果如图4所示。
测试得到的mAP为90.05%,绘制的PR曲线如图4(c)所示。
如图5所示,本文训练的YOLOv3网络可以较好地进行安装状态检测识别,测试过程中,检测帧率可以达到28帧/s,具备了近于实时检测的能力,且正确率较高,搭配相应的应用软件即可构成一套能够实际使用的下井人员安全状态检测系统。
3 结语
本文设计的基于深度学习的下井人员安全状态快速检测方法使用YOLOv3网络,能够较为准确识别出安全帽、工作服、工作鞋的穿戴。试验结果表明,其在准确度与快速性上均取得了较好的结果,具备了在矿井现场实际试用的条件。但是,由于试验使用的数据集较小,图像均是经过手工挑选的质量较好的照片,在现场,各种原因可能造成识别准确率的下降。未来进一步的研究将着手增加算法的鲁棒性,提高神经网络的泛化能力,从而在人员下井前更好地识别出不适合带入井下的物品,减少矿井生产中的安全风险。
参考文献:
[1]徐守坤,王雅如,顾玉宛,等.基于改进Faster RCNN的安全帽佩戴检测研究[J].计算机应用研究,2020(3):267-271.
[2]张军阳,王慧丽,郭阳,等.深度学习相关研究综述[J].计算机应用研究,2018(7):1921-1928.
[3]Hadji I,Wildes R P.What Do We Understand about Convolutional Networks?[Z].2018.
[4]李國和,乔英汉,吴卫江,等.深度学习及其在计算机视觉领域中的应用[J].计算机应用研究,2019(12):3521-3529.
[5]Howard A,Zhu M L,Zhmoginov Andrey,et al.Proceedings of the IEEE Computer Society Conference on Computer Vision and Pattern Recognition[C]//2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition.2018.
[6]Badrinarayanan V,Kendall A,Cipolla R.SegNet:a Deep Convolutional Encoder-Decoder Architecture for Scene Segmentation[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2017(99):1.
[7]Ren S,He Kaiming,Girshick R,et al.Faster R-CNN:towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis & Machine Intelligence,2015(6):1137-1149.
[8]Liu W,Anguelov D,Erhan D,et al.SSD:single shot multibox detector[C]//European Conference on Computer Vision.2016.
[9]Nong S,Ni Z H.Gesture recognition based on R-FCN in complex scenes[J].Huazhong Keji Daxue Xuebao,2017(10):54-58.
[10]Redmon J,Divvala S,Girshick R,et al.You only look once:unified,real-time object detection[C]//IEEE Conference on Computer Vision and Pattern Recognition.2016.
[11]Redmon J,Farhadi A.YOLO9000:better,faster,stronger[C]//IEEE Conference on Computer Vision and Pattern Recognition.2017.
[12]Redmon J,Farhadi A.YOLOv3:an incremental improvement[C]//IEEE Conference on Computer Vision and Pattern Recognition.2018.
[13]He K,Zhang X,Ren S,et al.Deep residual learning for image recognition[C]//IEEE Conference on Computer Vision and Pattern Recognition.2015.
[14]Krizhevsky A,Sutskever I,Hinton G E.ImageNet classification with deep convolutional neural networks[C]//International Conference on Neural Information Processing Systems.2012.