APP下载

基于YOLOv5s改进的井下人员和安全帽检测算法研究

2023-03-15李熙尉孙志鹏陶虹京

2023年3期
关键词:安全帽注意力损失

李熙尉,孙志鹏,王 鹏,陶虹京

(山西大同大学 煤炭工程学院,山西 大同 037003)

智能采矿是我国煤炭行业的重要发展方向,计算机视觉技术在煤矿智能化建设中用途广泛,特别是对煤矿安全智能化发展的作用较为突出[1]。针对煤矿井下综采工作面的人员以及安全帽检测,可以为危险区域人员闯入以及不安全行为识别奠定基础,对煤矿安全生产具有重大意义。

目前井下人员以及安全帽检测常用的检测方法有两种,一种是基于深度学习,另一种是基于机器学习。基于深度学习的目标检测算法相较于后者具有检测速度快,有利于现场部署的优点。单阶段算法是深度学习领域内检测速度较快的一类,YOLO(You Only Look Once)系列算法是其中的代表算法。赵红成等[2]在YOLOv3基础上替换了Focal Loss损失函数,引入专注因子减轻损失,使用金字塔多池化结构提升特征融合能力,除此之外,还引入注意力机制,使得精确度提高但检测时间较原始模型增加了9 ms;李若熙等[3]改进了YOLOv4算法,通过引入信息熵的k-means聚类来确定目标检测中心点,检测率得到提升但检测时间延长;余益鸿等[4]通过加深CSP2层数、引入形变卷积、加深Retinex图像优化YOLOv5算法,提升了检测准确率,但未改善漏检问题。

为了更好地适应煤矿井下生产工作面人员和安全帽检测需求,本文基于YOLOv5s进行优化,引入CBAM(Convolutional Block Attention Module)注意力机制,替换CIOU(Complete Intersection Over Union)损失函数为αCIOU(Alpha-Complete Intersection Over Union),采用井下工作面监控视频中的图像构建数据集进行检测。实验表明,改进后的算法可以提升井下综采工作面人员和安全帽检测精度,降低漏检率。

1 相关网络模型

YOLOv5s算法结构由输入端、主干网络(Backbone)、Neck以及输出端(Prediction)四部分组成。输入端由Mosaic数据增强,自适应图片缩放以及自适应锚框计算三部分组成。Mosaic数据增强对输入图像进行剪裁拼接和随机排布。自适应锚框计算可以计算出最佳锚框值。自适应图片缩放将输入图片尺寸统一调整到同一尺寸。Backbone包含CBS模块、CSP(Cross Stage Partial)模块以及SPPF(Spatial Pyramid Pooling-Fast)三个部分。CBS模块由标准卷积块Conv,批量归一化Bn(Batch normalization)以及Silu激活函数三者组成。CSP模块将基础层映射分为两个部分,通过跨阶段层次再合并,减少计算量,提高检测准确率。SPPF在SPP(Spatial Pyramid Pooling)基础上优化,增大感受野,增强了神经网络的非线性表达能力。Neck网络中采用FPN+PAN结构,FPN(Feature Pyramid Network)自上而下传输强语义元素,PAN(Path Aggregation Network)自下而上传达强定位元素,双塔结构,两两结合,使得顶层也可以享受更多底层的位置信息,有利于物体的分类,减少参数的丢失,加强了网络特征的融合能力。输出端使用CIOU边界框损失函数,对应不同目标大小,输出3种不同尺度的目标预测。

2 改进YOLOv5s检测算法

本文改进模型在Backbone部分引入了CBAM注意力机制,并且替换了CIOU损失函数为αCIOU.本文提出的基于YOLOv5s改进的算法模型结构如图1所示。首先,将井下综采工作面监控视频采集到的图像输入检测模型中,然后在检测网络中进行训练,获取训练权重,最后对图像进行测试验证。

图1 CBAM-YOLOv5s模型结构

2.1 CBAM注意力机制

CBAM是基于一种卷积模块的注意力机制,它将通道注意力机制和空间注意力机制两者相结合,以达到提高物体分类能力和目标检测精准度的目的[5]。在通道注意力模块中,特征图从输入端输入,经过最大池化和平均池化得到两个结果,尺寸由H×W×C变为1×1×C,之后送入神经网络中,完成后将得到的两个结果相加,使用Sigmoid激活函数处理后,与原始输入特征图相乘,生成通道注意力模块特征图[6]。在空间注意力模块中,输入端输入通道注意力模块特征图,进行最大池化和平均池化,得到大小为H×W×1的两个结果,再对两个结果进行张量拼接操作和卷积操作,最后由Sigmoid激活函数激活并与上一步输入的特征图相乘,使得维度不变,得到最终的特征图。这样的机制可以识别物体更多的特征信息,且目标的检测准确率也有所提升[7]。CBAM结构图如图2所示。

图2 CBAM结构图

2.2 αCIOU损失函数

损失函数作为神经网络判断误检样本的依据,极大程度上影响着模型的收敛效果。YOLO系列算法损失函数由分类概率损失函数、边界框回归损失函数和置信度预测损失函数组成[8]。目前YOLOv5边界框回归损失函数采用CIOU函数,其计算公式为:

(1)

(2)

(3)

(4)

式中:P为预测框中心点位置;Pgt为真实框中心点位置;φ为用于平衡比例的参数;β为用来反映高宽比的一致性;γ为计算两个中心点间的欧式距离;D为同时包含真实框和预测框的最小闭包区域的对角线距离;w为预测框的宽度;wgt为真实框的宽度;h为预测框的宽度;hgt为真实框的高度[9]。

α-IOU基于IOU(Intersection Over Union)改进,通过调节可以提升不同水平的回归精度,使小数据集和噪声的鲁棒性加强[10]。Lα-IOU公式为:

Lα-IOU=1-IOUα

(5)

αCIOU将原CIOU中的IOU替换为α-IOU,其公式为:

(6)

3 实验及结果分析

3.1 数据采集和处理

本文数据来自某煤矿井下综采面的监控视频,在不同时间段收集500张井下工作人员图像,按照1∶2∶7的比例随机选取图像作为测试集、验证集以及训练集。不同图像内光照情况、煤尘以及目标数量均不同。

3.2 模型训练

本实验搭建在Pytorch1.10.0框架下,操作系统为Windows10,处理器为Inter(R)Xeon(R)Silver4210R,主频为2.40 GHz,GPU为NVIDIA RTX A4000。输入图像大小为640 mm×640 mm;输入通道数为3;批次样本数为12;动量因子设为0.93;迭代次数设置为500 次;权重衰减系数取0.0005;学习率初始取值0.01,完成一次循环后取值0.2.本文分类损失函数为Focal loss函数,采取α=0.25,γ=2进行人员和安全帽检测实验。

3.3 实验结果分析

本文采用均值平均准确率(mean Average Precision,mAP)、参数量以及计算量的指标对井下人员安全帽检测算法的有效性进行评价。YOLOv5s模型与本文改进模型分别在人员及安全帽数据集上训练500次,两种模型损失变化曲线如图3所示。

图3 损失值变化曲线

图3显示,在模型训练的初期,两条曲线损失是不稳定的,随着迭代次数的增加,损失值逐渐降低,并趋于稳定。训练开始时,YOLOv5s损失值曲线比本文改进模型损失值曲线收敛快;当迭代次数达到75次时,YOLOv5s损失值与本文改进模型损失值均降低至0.01以下,75次迭代之后,本文改进模型损失值基本都低于YOLOv5s.从图3可知,本文改进模型在训练中阶段损失的收敛性能优于YOLOv5s.

为了验证本文改进模型算法的优势,将其与采用CIOU损失函数的不同注意力模型,以及采用αCIOU损失函数的其他注意力模型进行客观指标对比,检测结果如表1所示。

表1 不同模型的检测结果

从表1的对比结果可以看出,损失函数为CIOU时,采用ECA(Efficient Channel Attention)模块,准确率与原始模型相同,mAP@0.5对比原始模型下降了0.9%,mAP@0.5∶0.95对比原始模型下降了1.5%;引入SE(Squeezeand-Excitation)模块时,准确率相比原始模型下降了3.4%,mAP@0.5对比原始模型下降了0.9%,mAP@0.5∶0.95对比原始模型下降了2.4%;采用CBAM模块时,准确率对比原始模型提高了0.1%,mAP@0.5相较原模型下降0.4%,mAP@0.5∶0.95相较原模型下降了1.8%.

损失函数采用αCIOU时,引入ECA模块、SE模块以及CBAM模块时准确率均得到提升,但对比mAP@0.5∶0.95对比YOLOv5s模型有不同程度的下降,其中引入CBAM下降最少,下降0.5%.除此之外,只有引入CBAM模块mAP@0.5提升0.1%,其他模型均出现不同程度下降。根据对比实验结果,本文选用YOLOv5s-αCIOU-CBAM模型作为最终优化模型。

为验证本文优化模型对人员和安全帽检测的有效性,设置相同的批处理大小和迭代次数并使用同一图像数据集在该模型上进行训练,在不同光照、粉尘条件下检测结果对比如图4所示。图4(a)为原图;图4(b)为YOLOv5s模型检测效果图;图4(c)为本文改进模型检测效果图。图4(b)中前两组场景环境光线较为明亮,安全帽的置信度比人员的置信度低。第三组场景有遮挡物不易于目标检测,安全帽置信度低于人员置信度且存在人员漏检现象。图4(c)中三组场景下人员和安全帽置信度均高于图4(b)中检测框置信度,不存在漏检现象。YOLOv5s虽然可以定位到人员和安全帽区域,但是检测精确度低于本文改进模型。从对比图中可以看出,本文改进模型相比于YOLOv5s模型的检测效果有显著提高。改进后模型基本满足在井下复杂环境对人员以及安全帽检测精度的要求,检测准确率高达97.6%,具有良好的实时性。

图4 检测结果对比图

4 结 语

1) 为了提高井下综采工作面人员以及安全帽的检测速度和精确度,改进了YOLOv5s网络模型,加入CBAM轻量化注意力机制,引入αCIOU损失函数,解决了井下综采工作面复杂环境中人员和安全帽检测准确率低、容易漏检的问题。

2) 通过对比实验证明,本文改进模型,对640 mm×480 mm图像检测准确度达到97.6%,优于YOLOv5s算法。

3) 本实验样本数量有限,后期进行样本扩充,本文优化后的算法准确率还会进一步提升。

猜你喜欢

安全帽注意力损失
小小安全帽,生命保护伞
让注意力“飞”回来
胖胖损失了多少元
爆笑四格
玉米抽穗前倒伏怎么办?怎么减少损失?
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
一般自由碰撞的最大动能损失
损失
肤色检测和Hu矩在安全帽识别中的应用