基于深度学习的冶炼工人安全着装监测系统

2023-12-09 04:17范亚龙李琦于令君
科学技术与工程 2023年31期
关键词:面罩违规摄像头

范亚龙, 李琦, 于令君

(内蒙古科技大学信息工程学院, 包头 014010)

铜冶炼作为铜产业链中的重要环节,存在危险性高的作业环境,如吹炼渣排出过程中,含有SiO2等黏度较大的物质,需人工协助排渣防止出口堵塞,为减少该过程中工人因心存侥幸、穿戴安全着装不规范引发的安全生产事故,传统方法主要有进行安全教育、加强巡逻监管[1-3],但此类事故依旧高发。

随着计算机视觉的发展,越来越多的视频监控技术应用在工业生产安全领域。吴宏毅等[4]基于Transformer设计了一套检测安全帽及工作服的神经网络,但存在小目标检测准确率低的问题;韩豫等[5-6]使用OpenCV通过检测工人安全帽、安全带实现工人作业前安全装备检测。秦子豪等[7]及曹燕等[8]分别使用改进的YOLOv3算法和引入Conv-LSTM(long short-term memory)的SSD(single shot multibox detector)算法来提高工人安全帽检测的准确率;刘文强等[9]通过改进Faster RCNN提高了对工人检测的准确性;张萌等[10]使用改进的YOLOv4对工人作业时安全防护装备进行检测,但对遮掩目标存在漏检;崔铁军等[11]使用Keras框架下YOLOv4算法实现对工人防护面罩高精度且快速的检测与识别;刘颖等[12]改进YOLOx增强复杂环境下对口罩佩戴的识别。以上方法验证了深度学习应用工业生产安全领域的有效性。

针对铜冶炼作业中因工人着装导致的安全生产问题,设计基于深度学习的铜冶炼工人安全着装监测系统。首先,使用自制工人安全着装数据集(workers’ safety dressing data, WSD-Data)训练对比YOLOv5五种网络结构,选择性能优异的YOLOv5l网络作为工人安全着装检测模型;其次,将模型部署到DeepStream[13]框架中,通过分析每帧检测结果的时间空间关系,判断工人着装情况;最后,通过误检率和漏检率验证本系统对铜冶炼工人着装情况实时监测的准确性。

1 工人安全着装监测系统总体设计

1.1 铜冶炼作业区域现场构图

本系统以某铜厂吹炼渣处理过程中工人着装情况为蓝本设计,如图1所示。吹炼渣从连续吹炼炉内经管道流到出渣口,出渣口下方设渣包接收排出的吹炼渣。出渣口内的管道用于分辨现场工作状态,其垂直时为作业状态、水平时为检修状态。铜厂吹炼渣处理现场处于作业状态时,工人在作业区域内使用作业工具协助排出吹炼渣并清理出渣口,在该流程中工人需正确穿戴防护工装,防止吹炼渣排出时溅射引发安全事故。本系统通过在作业区域正面、侧面安置摄像头,多角度监测作业区域内工人着装情况,并设置声光报警装置对违规现象及时报警。

图1 监测系统应用现场构图Fig.1 Site composition of monitoring system application

1.2 系统总体架构

铜冶炼工人安全着装监测系统总体架构如图2所示,系统由基于YOLOv5工人安全着装目标检测模型、基于时空关系分析工人安全着装推理算法和基于DeepStream智能视频流分析的监测系统设计三部分组成。系统利用两路高清摄像头采集现场作业的视频数据,经过解码、图像预处理后,使用TensorRT[14]对YOLOv5深度学习模型推断加速,实时检测工人着装穿戴情况,检测结果经编码后显示实时监测画面。通过对作业区域内的检测结果进行时空关系分析,对工人着装出现的违规现象,实现声光报警、记录报警原因、录制违规视频,同时设计移动端远程查看报警详情,方便铜冶炼安全管理人员查证。

2 工人安全着装目标检测模型

2.1 制作工人安全着装数据集WSD-Data

本次采用的工人安全着装图像来源于内蒙古自治区某铜冶炼企业。通过固定摄像头采集工人连续四天的作业视频,为降低数据集图像的重复性,根据视频内工人动作频率设置4 s抽取一帧,使用LabelImg工具进行标注,最终得到分辨率为1 920×1 080的10 005张工人安全着装图像作为本次研究的数据集WSD-Data。该数据集包含11类检测目标,具体类别与其数量如表1所示,其中工人类别用于判别着装类别所属工人,水平管道和垂直管道用于判别当前作业状态(水平管道处于检修状态,垂直管道处于作业状态),其余八类检测目标为安全着装类别。

图2 基于深度学习铜冶炼工人安全着装监测系统总体架构Fig.2 Overall architecture of monitoring system for safety dress of copper smelting workers based on deep learning

2.2 目标检测模型实验结果及分析

YOLOv5作为深度学习神经网络中检测速度较快、准确率较高的算法,它根据网络的深度和宽度可分为YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x五种网络结构。YOLOv5算法的检测流程为先对工人安全着装图像进行Mosaic数据增强和自适应锚定框计算,并将工人安全着装图像尺寸(Resize)为640×640,再将图片放入主干网络进行主要信息提取,然后通过卷积加强特征融合,最后对图像特征进行预测,生成边界框和预测类别。

YOLOv5算法程序基于主流的深度学习开源框架PyTorch,使用Python语言开发。实验的软件环境为Ubuntu 18.04 操作系统;硬件环境GPU为 Intel(R) NVIDIA GeForce GTX 3 090×2,运行内存为 64 GB。

本实验使用自制工人安全着装数据集WSD-Data按9∶1比例分为训练集、测试集,设置epoch为400, batchsize为16,学习率为0.01,最后使用mAP@0.5(mean average precision)、精确率(precision)、召回率(recall)、F1值(F1-Score)和平均单帧检测时间作为模型评价指标。为使工人安全着装监测模型性能更好,对比YOLOv5系列的五类网络结构,测试结果如表2所示。

由表2可知YOLOv5l网络结构训练的mAP@0.5、精确率、召回率、F1效果最好,分别为84.3%、90.8%、94%、85%,从平均单帧检测时间来看,YOLOv5n和YOLOv5s两种网络结构的性能最好。考虑到双摄像头视频流帧率和为50 f/s,YOLOv5l模型推断单张工人防护图像时间为13ms,即每秒推断76张(大于50张),满足系统对实时性的要求,因此选取准确性更高的YOLOv5l网络作为工人安全着装检测的模型。YOLOv5l对应的精确率、召回率、AP(average precision)如表3所示。

表1 检测种类中英文名Table 1 Information of test type

由表3可知,工人、安全帽、防护服等特征明显的工人着装类型检测效果好,各类评价指标均在90%以上。但防护鞋、防护手套和安全面罩这三类特征不明显的工人着装类型检测效果差,AP分别为65.5%、61.6%和71.2%,三者现场情况如图3所示。由图3可知安全面罩透明,检测时受强光影响,而防护手套与防护鞋检测目标小,防护鞋颜色还与地板颜色相近,除此之外三者都易被遮挡,这些原因导致检测效果一般。

表2 YOLOv5网络结构测试结果Table 2 YOLOv5 network structure test results

表3 YOLOv5l的检测结果Table 3 Test results of YOLOv5l

图3 安全面罩、防护手套与防护鞋现场图Fig.3 Map of mask, gloves and shoes

3 工人安全着装推理算法

为弥补检测部分对于安全面罩、防护手套、防护鞋等目标检测效果不佳的状况,通过增加正面和侧面双摄像头,以多角度的方式收集更多工人作业时的着装信息,再设计基于时空关系的推理算法提高工人安全着装监测效果,算法具体流程如图4所示。

图4 工人安全着装推理算法Fig.4 Analysis algorithm of worker protective equipment

首先,通过正面摄像头拍摄的底吹渣排出口内的管道状态来判别现场工作状态,检修状态判断下一帧,作业状态则结合侧面摄像头分析监测信息,若正面摄像头未检测到管道导致作业状态无法进行判断,则沿用上一帧判定的管道工作状态。

其次,统计监测信息中各监测目标数量并分析目标位置,先归属不同工作人员穿戴的安全着装,再分析每个工人的着装是否出现违规。基于八类安全着装类别,根据不同的违规情况设置不同的违规类别,包含未检测到安全面罩或未正确佩戴安全面罩(安全面罩置于安全帽上方)、未检测到防护工鞋或防护鞋和未检到其余五类安全着装违规情况,共七种违规类别。

最后,算法设定每一类违规类别的报警初始值,检测到违规现象,相应违规类别报警初始值减一,反之加一,报警阈值设为零,最大为设定初始值。初始值到达报警阈值且5 min内未监测到同类型报警时,恢复初始值并发送报警指令。每类违规类别初始值如表4所示。

表4 设定的报警初始值Table 4 Set alarm initial value

4 智能视频流分析监测设计

4.1 基于DeepStream框架视频监测流程

DeepStream框架是NVIDIA设计的支撑端到端的实时视频流分析框架,是目前主流的实现深度学习的框架之一。通过对比YOLOv5五种网络结构,选取效果优异的YOLOv5l转换为相应的引擎文件,部署到DeepStream框架中构建工人安全着装监测系统。系统先对两个摄像头流入的视频流进行解码,再对数据批量处理,然后使用TensorRT加速的YOLOv5l工人安全着装检测模型对视频流实时检测,使用DeepStream框架内Nvdsanalytic插件配置感兴趣区域(region of interest,ROI)[15],过滤摄像头拍摄的非作业区域内的检测结果,最后将过滤后的结果通过Kafka[16]发送给工人安全着装推理算法来判断是否存在违规现象,若推理算法判定出现违规,则将录制命令信息通过Kafka反向传输给DeepStream。DeepStream依据信息中开始、结束的时间对两路视频同时执行录像命令,并将录像的路径和文件名保存到日志文件。除此之外,系统将现场监测的结果实时显示在移动端,方便监管人员查看,如图5所示。

4.2 现场声光报警与移动端App设计

为了及时提醒着装存在违规的工人,现场安装工业级声光报警装置,根据七种违规类别提前设计不同编号的语音报警提示。声光报警装置通过RS485通信协议接收对应的报警编号,重复播报三次提示音并闪烁红灯。需要注意的是,报警期间不接受其他报警信号。

为方便现场监管人员实时查看现场作业的具体情况,监测系统设计手机移动端,如图6所示。其中图6(a)为移动端报警页面,在报警页面上显示报警时间、报警地点、报警类型和两个摄像头对同一报警事件录像的视频;图6(b)为移动端查看页面,显示铜冶炼作业现场的实时画面,且配备一键截图和录像功能。

图5 实时监控画面在服务器端的显示Fig.5 Display of real-time monitoring screen on the service end

图6 移动端页面Fig.6 Mobile page

4.3 误检率与漏检率测试

系统部署以后,连续7 d监测工人作业,发现存在187次着装违规,人工复检(实际违规)核查出183次着装违规。通过对比查证,系统监测结果有9次误报、5次漏报,如表5所示。误检率和漏检率的计算方法为

误报次数/监测次数=误检率

漏检次数/复检次数=漏检率

代入表5数据得误检率为4.8%、漏检率为2.7%。误检原因均为两摄像头未检测到安全面罩报警,如图7所示,图7(a)报警原因为安全面罩被其他工人遮挡;图7(b)报警原因为工人将头部探入底吹渣排出口内导致安全面罩被遮挡。如图8所示,漏报原因均为工人在作业区域内将防护手套脱下但仍持在手中,导致系统能够检测到防护手套,对该违规现象未发送报警指令。

表5 穿戴违规监测结果Table 5 Monitoring results of wearing violations

图7 误报画面Fig.7 False alarm screen

图8 漏报画面Fig.8 Missing report screen

5 结论

(1)针对铜冶炼作业中工人着装不规范导致的安全生产问题,应用深度学习YOLOv5l算法对铜冶炼作业工人着装情况进行检测,设计工人安全着装推理算法提高工人安全着装检测效果,利用DeepStream框架构建监控系统,现场通过安装声光报警装置对违规现象及时报警、设计移动端远程显示报警详情。最后,通过误检率和漏检率验证系统实际部署的有效性。

(2)YOLOv5l训练得到的工人安全着装监测模型对铜冶炼工人安全着装数据集WSD-Data中11类检测目标的mAP@0.5、Precision、Recall、F1-Score、平均单帧检测时间分别为84.35%、90.8%、94%、85%、13 ms。应用工人安全着装推理算法,构建工人安全着装监测系统,误检率为4.8%、漏检率为2.7%。

(3)深度学习应用于工人安全着装监测领域有着广阔的研究空间及应用场景,本文设计的铜冶炼工人安全着装监测方法,能为此类安全监管提供良好的参考价值。

猜你喜欢
面罩违规摄像头
浙江首试公路非现场执法新型摄像头
一种新型防压疮无创面罩的设计与应用
违规借调的多重“算计”
摄像头连接器可提供360°视角图像
理想面罩
“啄木鸟”专吃“违规虫”
基于太赫兹技术的新一代摄像头及其在安防领域的应用探讨
违规试放存放 爆炸5死1伤
违规逆行之后
民航客机上的氧气面罩