1. 引言
我国是一个矿产资源大国,矿种比较齐全,截至2021年底,全国已发现矿产173种 [1] 。尽管我国的矿产储存总量较大,但有着贫矿多、富矿少,伴生矿多、独立矿少等特点,因此开发利用难度较大,此外,我国地质条件相对复杂,矿山企业环境条件、设备状态、从业人员安全素养和管理水平等参差不齐 [2] [3] ,安全风险高,因此,矿山的安全形势并不乐观,矿山安全也一直是国家的重点监管对象。
人的不安全行为是导致事故的主要原因之一,有研究表明超过70%的生产安全事故与员工的不安全行为有关 [4] ,部分矿工由于安全意识不强,在采矿作业中可能会出现麻痹大意或是觉得不够舒适,不正确穿戴劳保用品,将自己置于危险中,及时发现和纠正这些不安全行为,可以有效预防事故发生。传统的人工检查方式有着监管效率低、时效性不足等缺点,随着我国步入智能化发展阶段,人工智能技术越来越多的出现在人们的生活和工作中,人们开始探索“无人”监管的模式 [5] ,利用人工智能技术实现矿山企业生产过程中不安全行为的智能监测预警,成为了当前矿山安全管理的一个重要研究方向 [6] [7] 。
佩戴安全帽和携带自救器可以给矿山工作人员提供保护,是进入矿井工作的必备条件。安全帽能够对头部起到较强的保护作用,它不仅能够承受和分散坠落的石头、工具等硬物的冲击力,并且可以一定程度上减轻佩戴者在高处坠落时头部受到撞击伤害;自救器是用于危险环境下防止有中毒和窒息的一种呼吸保护器具,在缺氧或场所中充斥有毒有害时,能够为工作人员提供必要的氧气,起到减少人员伤亡、为救援赢得宝贵时间的作用。因此,及时检测到未佩戴安全帽或未携带自救器行为,对于保护矿山工作人员生命安全有十分重要的意义。目前已经有许多安全帽佩戴自动检测的研究,取得了不错的成果 [8] [9] [10] ,但对于检测自救器方面的研究还比较少。
2. 相关技术简介
针对自救器检测研究成果较少这一现状,文章以矿山作业为场景,利用PyTorch框架搭建YOLOv5算法模型,实现矿工安全帽佩戴和自救器携带情况的自动检测。通过部署服务器和算法模型,并进行相应的配置,可以自动分析矿山作业区域的监控视频,检测该区域内的矿工是否佩戴安全帽或携带自救器,输出带有标注的检测结果。
2.1. YOLOv5算法
计算机视觉是人工智能当前的一个重要研究方向,而目标检测技术属于计算机视觉一个分支,其目的是在图像或视频中找到感兴趣的目标对象。目标检测算法通常分为单阶段(one-stage)和双阶段(two-stage)两类,双阶段目标检测算法的代表有R-CNN、SPPNet、Fast-RCNN、Faster-RCNN等,其检测精度较高,但训练和检测时间较长,YOLO系列和SSD、FSSD等单阶段目标检测算法以损失部分精度为代价,极大的提升了检测速度,并且随着研究的不断深入,检测性能也越来越强。
YOLOv5是Ultralytics公司发布的轻量级单阶段目标检测算法 [11] [12] ,有检测度快、准确率高、模型体积小、易于部署使用的优点,被广泛使用在安防、交通、医疗等各种行业中。YOLOv5网络结构主要有4个部分,分别是Input (输入端)、Backbone (主干网络)、Neck (多尺度特征融合网络)和Prediction (输出端)。输入端使用了Mosaic数据增强方式、自适应锚框计算、自适应图片缩放等技术,对输入图片进行预处理;主干网络用于提取图片特征,主要由Focus结构和CSP结构组成;多尺度特征融合网络包含FPN和PAN模块,用于融合浅层图形特征和深层语义特征;输出端使用CIOU_Loss做Bounding box的损失函数,提高了预测框回归的速度和精度。
2.2. Pytorch框架
深度学习框架是将繁琐、复杂的底层硬件调用方式进行模块化封装的一类软件,它的出现降低了深度学习算法的学习和使用门槛,使用者只需使用简洁的功能函数,就可以快速完成算法搭建、训练和测试,极大提高了工作效率。
目前主流的深度学习框架有Tensor Flow、PyTorch、Paddle Paddle、Theano、CNTK等 [13] [14] 。文章采用的PyTorch是Facebook人工智能研究院开发的一款深度学习框架,其提供了Python接口,同时具有较好的灵活性和强大的GPU加速,易于学习和使用。PyTorch拥有一个庞大的交流社区,社区中提供了许多开源的项目和库,能够帮助使用者更快构建深度学习模型。近几年,PyTorch凭借其易用性在研究领域和各类小项目设计应用中崭露头角,发展迅速。
3. 实验与测试结果
3.1. 数据集制作
数据集的优劣会直接影响模型的训练效果,现存的开源安全帽数据集SHWD (safely helmet wearing dataset)中多数场景与矿山的实际情况不符,未佩戴安全帽的图片包含了很多学生上下课以及街上行人的数据,此外,自救器目前也没有相关的公开数据集,因此,本次实验采用了自制数据集。
实验使用的图片中包含了安全帽、未佩戴安全帽(标注未佩戴安全帽的头部)、自救器三个类别,来源矿山企业的监控录像视频,通过裁剪和筛选后,最终获得图片20984张。使用精灵标注助手对素材图片进行标注,标注信息以JSON格式进行存储,按照9:1的比例将数据集分为训练集和测试集。
3.2. 模型训练情况
本次实验使用的设备参数如表1所示,初始学习率设置为0.01,batch_size为32,训练轮次为200轮,模型的mAP曲线和性能指标如图1和表2所示。
Table 1. Experimental equipment parameters
表1. 实验设备参数
Table 2. Model performance indicators
表2. 模型性能指标
图1为佩戴安全帽、未佩戴安全帽、自救器三个类别模型训练的mAP曲线,可以看到最终模型的mAP趋于稳定。此外,表2中模型检测安全帽和自救器都具有较好的效果,检测未佩戴安全帽时检测效果稍差,主要是因为制作数据集时采集的视频来自于矿山企业生产场所附近,该区域中未佩戴安全帽的人员很少,素材丰富程度不足。此外,该地人员数量较多,视频中常出现的彼此重合、头部被大面积遮挡的情况也增加了检测难度。
3.3. 现场测试
为反映检测佩戴安全帽和携带自救器情况的模型在矿山企业生产现场的实际应用效果,使用矿山企业现场的视频进行测试,图2为部分测试结果。可以看出,模型在单目标和多目标情况下都具有较好的检测效果,能够检测出视频中人员佩戴的安全帽和携带的自救器。
Figure 2. Video testing effect on site
图2. 现场视频测试效果
4. 结论
针对矿山行业的安全帽佩戴和自救器携带监管困难的问题,利用了Pytorch框架搭建了YOLOv5算法,采集矿山企业员工佩戴安全帽和携带自救器的图像样本进行模型训练,模型的mAP达到84.1%,具有较好的检测效果。使用矿山企业生产现场的监控视频进行测试,测试结果表明,该模型能够检测到现场的安全帽佩戴和自救器携带情况,可以一定程度上替代传统的人工监管方式,提高监管效率。
基金项目
贵州省科研机构创新能力建设专项资金(黔科合服企[2020] 4014)。