APP下载

基于深度学习的工业生产安全行为分析技术

2023-01-06刘培妍

现代制造技术与装备 2022年11期
关键词:安全帽工业生产损失

刘培妍

(云南大学,昆明 650206)

1 YOLOv5网络结构

YOLO算法是一种基于卷积神经网络的单阶段目标检测算法。YOLO系列中的YOLOv5模型具有检测精度高、速度快以及体积小等优点。它的检测速度达到了实时分析的要求,可满足人们对高效、高精度目标识别技术的需求,已被应用于人脸识别、图像识别等领域[1]。本文选择YOLOv5算法实现对工业生产安全行为的分析[2],使用的模型是YOLOv5s。YOLOv5s由4个部分组成,分别为输入端、模型融合特征提取网络Backbone、Neck和Prediction。

1.1 输入端

YOLOv5在训练图片过程中使用Mosaic数据增强方法、自适应锚框计算方法和自适应图片缩放方法[3]。

1.2 模型融合特征提取网络Backbone

YOLOv5的Backbone包括Focus结构、芯片级封装(Chip Scale Package,CSP)结构和空间金字塔池化(Spatial Pyramid Pooling,SPP),可用于从给定的输入图像中提取关键特征。其中:Focus结构通过对图像的切片处理加深图像的特征维度;CSP结构主要解决网络优化中梯度信息重复引起的推理计算过多问题,可以减少特征传输过程中的信息损失和计算量,减少每秒浮点运算次数,提高计算速度[4];SPP用于分离最重要的上下文特征,最初用来解决由于输入图像和卷积神经网络大小有限而导致的图像特征重复提取问题。SPP结构可以扩展网络所能处理的图像类型,因此Backbone可以输入任何长宽比或任何比例的图像。

1.3 Neck

Neck结合了特征金字塔网络(Feature Pyramid Networks,FPN)和路径聚合网络(Path Aggregation Network,PAN)[5],用于混合和组合图像特征,并将图像特征传输到预测层。FPN将上层的强语义特征从上到下传递,以增强整个金字塔。PAN在FPN后面添加了一个自底向上的金字塔,以补充FPN,可以加快网络中推理信息的传输,促进网络特征融合。

1.4 Prediction

Prediction进行损失函数计算,预测图像特征并生成边界框。YOLOv5使用的损失函数由3部分组成,分别为GIoU损失函数、总的目标损失函数和分类损失函数。

广义交并比(Generalized Intersection over Union,GIoU)不仅解决了交并比(Intersection over Union,IoU)的问题,而且保持了IoU的优点。GIoU不仅关注预测框和真实值之间的重叠区域,也关注非重叠区域。首先GIoU计算两个框之间的最小闭合面积,其次计算不属于任何一个框和IoU区域中闭合面积的比例,最后用这个比例减去IoU得到GIoU。

计算过程为

式中:I为交并比IoU;A为真实边界框;B为预测边界框;G为交并比IoU;C为A和B用最小矩形框起来的边界;L为GIoU损失。

2 YOLOv5实现工业生产安全行为分析

2.1 数据集

选择对两个数据集进行数据集融合,以识别工业生产人员是否同时佩戴安全帽和穿着反光衣。一个数据集是安全帽佩戴数据集SHWD,用来检测安全帽。另一个数据集是反光衣数据集,用来检测反光衣。

SHWD是开源的数据集,也是目前最大的安全帽检测数据集,共包括7 581张图像。反光衣数据集是Kaggle平台上开源的数据集,共包括6 185张图像。

通过对以上两个数据集的融合,可以构建一个更全面的工业生产场景数据集[6]。此数据集能够同时检测安全帽和反光衣。融合后的数据集共有13 766张图像。

2.2 实验环境

在Pytorch框架下,利用统一计算设备架构(Compute Unified Device Architecture,CUDA)实现模型的建立、训练和测试。硬件方面,采用Windows 10系统,显卡为NVIDIA GeForce GTX 1050,Intel(R) Core(TM) i5-8300H CPU@2.30 GHz。软件方面,Python 3.8版本,配置深度学习框架Pytorch,CUDA 10.2版本。

2.3 模型性能评估指标

一个合格的目标检测算法模型必须能够以足够高的置信度对图像或视频中目标物体进行分类和定位。此外,评估目标检测算法模型性能的参数有很多,包括精确率(Precision)、召回率(Recall)、平均精度(Average Precision,AP)以及平均精度均值(mean Average Precision,mAP)等。

精确率P是正确分类为正样本数量与预测为正样本总数的比率,表示在预测为正样本的数量中有多少是真正的正样本,表达式为

式中:TP为真正例;FP为假正例。

召回率R是预测为正样本数量与总目标测试集中正样本总数的比率,表示从所有正样本中正确预测出多少个正样本,表达式为

式中:TP为真正例;FN为假负例。

对于YOLO算法,AP和mAP是衡量模型检测精度的重要评价指标。AP代表所检测的每个类别在测试模型上的表现。mAP代表平均精度的平均值,被用作衡量目标检测算法总体检测精度的指标,表达式为

式中:N为检测类别总数;P为精确率;R为召回率。

2.4 工业生产安全行为分析流程

本文使用YOLOv5实现工业生产安全行为分析的流程,如图1所示。

图1 工业生产安全行为分析流程图

步骤1:初始化检测算法,即使用融合后的安全帽与反光衣数据集训练YOLOv5目标检测算法模型。

步骤2:划定危险区域,用户可以通过鼠标点击,自定义不规则的危险区域,保存后,危险区域的位置不再变动。

步骤3:获取输入的工业生产视频图像信息,读取下一帧进行分析。

步骤4:进行YOLOv5目标检测。

步骤5:检测安全帽和反光衣,识别当前帧的工业生产场景,检测工业生产人员安全帽和反光衣的穿戴状态。

步骤6:进行危险区域入侵检测,根据当前帧图像中安全帽和反光衣的目标框判断其与危险区域的位置关系,分为高风险、中风险盒低风险3种危险级别。

步骤7:显示工业生产安全行为的检测结果,包括安全帽佩戴状态、反光衣穿戴状态、3种风险级别的区域入侵状态。

步骤8:判断是否完成视频读取,若完成则结束检测;否则,返回步骤3,继续读取视频信息。

3 实验结果分析

3.1 模型训练

在YOLOv5模型训练中,将迭代次数设置为300次。图2为训练过程中3种损失函数的变化情况。Box为预测框损失函数均值,Objectness为目标检测损失函数均值,Classification为分类损失函数均值。Box、Objectness和Classification值的降低,说明预测框、目标检测和分类越准确。可以看到,3种损失函数均值在0~200次迭代过程中迅速下降。当迭代次数达到250左右时,损失值趋于稳定,最后达到收敛状态。Box值不断接近0.03,Objectness值不断接近0.047,Classification值不断接近0.000,模型达到最优状态。

图2 训练集3种损失函数变化曲线

图3为精确率和召回率的变化情况。可以看到,精确率和召回率在训练前期迅速上升,当迭代次数达到250左右时趋于稳定,且精确率和召回率都超过了0.9,达到了较高的水准。

图3 精确率和召回率变化曲线

图4为mAP在训练过程中的变化情况。mAP@0.5指的是当IoU阈值大于0.5时mAP的平均值,mAP@0.5∶0.95指的是当IoU阈值为0.5∶0.95∶0.05时mAP的平均值。可以看到,mAP@0.5和mAP@0.5∶0.95在0~100次迭代过程中迅速上升,后逐渐稳定。最终mAP@0.5趋于1,mAP@0.5∶0.95趋于0.6。

图4 mAP变化曲线

经过300次迭代训练,本文的安全帽和反光衣检测模型能够达到趋于收敛的状态,且训练集和验证集的损失函数都维持在较低值,能够得到较高的精确率、召回率以及平均精度均值,整体训练结果达到了期望效果。

3.2 实验结果展示

实验使用训练得到的模型对工业生产场景的监控视频进行检测,对3种工业生产安全行为进行分析,即检测是否佩戴安全帽、是否穿着反光衣以及是否进入危险区域(分为高中低3种风险)。图5展示了工业生产场景下的检测结果。

图5 工业生产场景下的检测结果展示

由图5可知,工人的安全帽与反光衣能被准确识别。自定义的危险区域以黄绿色显示,在危险区域内的工人都被识别为红色的高风险,离危险区域较近的工人被标为橙色的中风险,较远的工人则是黄色的低风险,具有良好的识别效果。图6展示了光线较暗的工业生产场景下的检测结果,证明了即使在光线较暗的工业生产场景下所提技术仍有不错的识别效果。该模型检测效果较好,基本能对视频中的3种工业生产安全行为进行正确分析,并且置信度较高。每一帧图像的识别时间约为0.016 s,能够达到实时监测工业生产行为的效果。总体来说,实验结果达到了预期。

图6 光线较暗工业生产场景下的检测结果展示

4 结语

实验结果表明,提出的基于深度学习的工业生产安全行为分析技术能够获得较高的检测准确度,基本满足在各种复杂工业生产场景下进行安全行为分析的准确性需求,且能够达到视频实时检测的效果。首先,进行数据集融合与数据增强。通过对两个数据集的融合,得到一个能够同时检测反光衣和安全帽的完整数据集,并且进行数据增强,使其在较弱或较强光线下都能有良好的检测结果。其次,使用YOLOv5实现安全帽和反光衣的检测。300次迭代训练结果显示,它对安全帽和反光衣的检测效果较好。最后,检测危险区域入侵情况。用户可以自定义危险区域范围,根据检测目标与危险区域的距离,分为高风险、中风险和低风险3种风险级别。

猜你喜欢

安全帽工业生产损失
小小安全帽,生命保护伞
橡胶/SBS复合改性沥青工业生产及应用
胖胖损失了多少元
爆笑四格
玉米抽穗前倒伏怎么办?怎么减少损失?
危险
菜烧好了应该尽量马上吃
损失
“头”等大事莫松懈