基于深度学习的带式输送机非煤异物识别方法
2021-07-02胡璟皓高妍张红娟靳宝全
胡璟皓,高妍,张红娟,靳宝全
(1.太原理工大学 电气与动力工程学院, 山西 太原 030024;2.太原理工大学 新型传感器与智能控制教育部与山西省重点实验室, 山西 太原 030024)
0 引言
带式输送机作为煤矿井下运输的关键设备,在煤矿运输中起着举足轻重的作用。随着煤矿生产效率的提升,对带式输送机可靠性方面的要求不断提高[1-3]。由于井下环境复杂,在煤矿生产运输过程中,断裂的锚杆、角铁等非煤异物易导致输送带纵向撕裂、断带等事故,影响煤矿安全生产[4-5]。快速准确地识别输送带中非煤异物并提前预警,对煤矿安全运输具有重要意义。
目前,图像识别法因其安装维护简单、成本低,成为非煤异物检测研究热点[6]。何敏等[7]引入支持向量机,结合图像样本分析与特征提取对煤矸石进行识别。程健等[8]利用高斯混合模型分离煤流视频背景,结合粒子群算法优化模型,实现煤流中矸石等异物的检测。陈立等[9]利用小波分析对采集到的煤与矸石图像进行降噪,并通过构造小波矩对煤和矸石进行特征提取,以此识别煤与矸石。薛光辉等[10]采用灰度-梯度共生矩阵提取煤矸图像纹理特征,利用随机森林算法对纹理特征排序,以提高模型识别效果。Y. Pu等[11]基于VGG16卷积神经网络进行煤矸识别。然而,现阶段研究主要是针对煤矸进行识别,缺乏对多类别非煤异物的识别,且现有识别模型缺乏对异物的精确定位,运行速度慢,无法实现实时检测。
针对上述问题,本文提出一种基于深度学习的带式输送机非煤异物识别方法。该方法以目标检测算法YOLOv3为基础框架,构建异物图像数据集,搭建异物检测模型,并对模型进行改进,采用焦点损失(Focal Loss)函数替代交叉熵损失函数,依据井下环境设计数据增强手段,对非煤异物图像进行训练与测试,实现了对非煤异物的多目标、快速、精准识别与定位。
1 YOLOv3模型改进
1.1 YOLOv3模型
1.1.1 模型结构
YOLOv3模型结构[12]如图1所示。模型采用Darknet-53全卷积网络作为特征提取骨干。Darknet-53中若干个残差层串行连接,每一个残差层由1×1卷积核与3×3卷积核交叉组成,利用卷积代替池化进行下采样,使模型能够接收任意大小图像输入。整体骨干共包含53层卷积层,以更好地控制模型拟合,增强模型学习能力。模型后端设计借鉴特征金字塔网络(Feature Pyramid Net, FPN)思想[13],利用上采样方法融合构造13×13、26×26、52×52共3个尺度的特征图,对目标位置和类别进行预测,并获得对应的预测张量。这种结构使得模型感受野范围扩大,提高了模型对不同尺寸目标的识别能力。
图1 YOLOv3模型结构Fig.1 Structure of YOLOv3 model
1.1.2 预测过程
YOLOv3算法是一种基于回归的预测方法[14-15],其预测过程如图2所示。算法将输入图像分割成S×S个网格,预测目标的中心落在某个网格中,则由该网格负责预测该目标。利用卷积神经网络直接回归预测目标的相对位置与类别,构建预测边界框。通过置信度阈值和非极大值抑制算法对所有边界框进行筛选,将置信度最高的边界框作为输出结果。
图2 YOLOv3算法预测过程Fig.2 Prediction process of YOLOv3 algorithm
YOLOv3引入了锚框机制来预测目标的相对位置,使定位预测更加精确,如图3所示。锚框是一类由数据集实际边界框通过聚类得到的先验边框,每个网格都会设定固定数量的锚框。目标定位信息包括xb,yb,wb和hb4个值,(xb,yb)为边界框中心点相对坐标,wb,hb分别为边界框的相对宽度和高度。
xb=σ(xt)+xg
(1)
yb=σ(yt)+yg
(2)
wb=waexp(wt)
(3)
hb=haexp(ht)
(4)
式中:σ(·)为sigmoid激活函数;(xt,yt)为边界框中心点实际坐标;(xg,yg)为网格左上角坐标;wt,ht分别为边界框实际宽度和高度;wa,ha分别为锚框宽度与高度。
图3 基于锚框的位置预测Fig.3 Position prediction based on anchor
YOLOv3将置信度f作为目标类别预测的标准,其反映了模型对预测边界框中是否存在目标的信心程度和预测边界框的定位准确度。
f=pcpiI
(5)
式中:pc为目标存在概率,若边界框中存在目标则为1,否则为0;pi为当前边界框中的目标属于第i种类别的概率;I为预测边界框与实际边界框的交并比(IoU),用来评判预测位置准确程度,值越大说明定位精度越高。
本文中所用锚框是在COCO通用数据集上利用K-means算法聚类所得,共有9种尺寸,与特征图对应关系见表1。
表1 锚框与特征图尺寸对应关系Table 1 Size correspondence between anchor and characteristic map
1.2 模型改进
本文所采用的图像数据集中,异物像素与背景像素比为1∶1 500,被检测异物相对于背景过小,易出现样本不平衡问题。为此,利用Focal Loss函数[16]替换原模型中的交叉熵损失函数,以改进YOLOv3网络模型。
交叉熵损失函数为
Lc(p)=-log2p
(6)
式中p为类别概率,范围为[0,1]。
Focal Loss函数在交叉熵损失函数基础上添加了2个超参数以平衡训练权重,公式为
LF(p)=-α(1-p)γlog2p
(7)
式中:α为权重参数;γ为焦点参数。
通过调节γ和α来平衡样本之间的比例,降低大量简单背景样本在训练中的占比,使模型在训练时更专注学习复杂目标样本特征,提高模型预测性能。
1.3 分类性能指标
二分类混淆矩阵见表2。利用混淆矩阵统计模型预测结果,计算精确率、召回率、准确率和F-1得分4个统计学性能指标,性能指标计算方法见表3。
表2 二分类混淆矩阵Table 2 Two-class confusion matrix
表3 混淆矩阵性能指标计算公式Table 3 Calculation formula of confusion matrix performance index
根据K-折交叉验证理论,将数据集平均划分为K折,将每个子集数据分别作为1次测试集,其余K-1折子集作为训练集,共得到K个模型。分别获取这K个模型的混淆矩阵,以评估模型在该数据集上的分类性能。
2 模型训练
2.1 数据集构建
本文中所使用的异物数据均来自实验室模拟煤矿井下带式输送机图像,考虑到煤矿井下环境复杂,采集图像时用了不同光照强度,在胶带不同方位拍摄图像,并在后期增加噪声以模拟井下粉尘影响,部分训练样本如图4所示。整个数据集有6 034张异物图像,分辨率为2 592×1 944,包含了锚杆、角铁、螺母3种单目标样本和多目标样本4类。
图4 部分训练样本Fig.4 Part of training samples
对所有异物图像进行标注,以获得模型训练与测试所需的先验标签,如图5所示。标注内容包含类别序号、(xa、ya)为预测边界框中心点相对坐标、预测框边界相对宽度wa、预测边界框相对高度ha。
图5 数据集标注Fig.5 Data set annotation
2.2 数据增强
利用旋转、镜像、亮度调节等图像处理方法对异物数据集进行数据增强,以扩大数据集规模,加强数据集多样性,如图6所示。
图6 数据增强Fig.6 Data enhancement
2.3 超参数设置与训练
本文中异物检测模型训练在Ubuntu16.04 + Intel i9-9900k + GeForce GTX 2080Ti(12G)计算机系统中完成,框架为Darknet。超参数设定:输入图像大小为416×416,批数量大小为64,分8组输入,采用动量梯度下降法进行迭代,训练迭代次数为12 000,学习率为0.001,动量参数为0.9,权重衰减系数为0.000 5,交并比阈值为0.75。
3 实验与结果分析
3.1 Focal Loss函数参数分析
使用网格搜索法[17]确定Focal Loss函数中超参数γ与α的取值:γ范围为[0,5],步长为0.5;α范围为[0,1],步长为0.05[16]。采用异物预测平均准确率作为得分评判标准,γ与α取不同值时的准确率如图7所示。其中,A点为准确率最高点,对应参数γ=2,α=0.75,准确率为90.5%;B点为交叉熵损失函数点,对应参数γ=0,α=1,准确率为85.5%。实验结果表明,Focal Loss函数在该异物数据集中表现优于交叉熵损失函数,在γ=2,α=0.75时准确率提升5%,故选取该组超参数为最优参数。
图7 γ与α取不同值时的准确率Fig.7 Accuracy when γ and α take different values
3.2 模型评估
设置α=0.75,γ=2,利用10折非煤异物数据集对模型进行10-折交叉验证测试,其中第1折(含604张图像)交叉验证的混淆矩阵见表4。
表4 第1折交叉验证混淆矩阵Table 4 Confusion matrix for the first fold cross-validation
从表4可看出,第1折共出现1 178个异物样本,其中锚杆出现412次,角铁出现358次,螺母出现388次。经计算可得:3种异物的预测精确率分别为88.3%,90.2%和93.0%,召回率分别为94.3%,93.6%和95.5%,F-1得分分别为91.2%,91.9%和94.2%,平均准确率为90.5%。
用10-折交叉验证对YOLOv3模型改进前后的异物检测精确率和召回率进行统计,结果如图8、图9所示。可看出利用Focal Loss函数改进模型后,精确率和召回率明显提升。经计算,锚杆、角铁、螺母的平均精确率分别提升了约4.7%,3.5%和6.8%,平均召回率分别提升了约6.6%,3.5%和6.0%。
图8 异物预测精确率Fig.8 Precision of foreign object forecast
图9 异物预测召回率Fig.9 Recall of foreign object forecast
3.3 预测结果
将测试集输入模型,模型会预测出图像中异物位置、种类和置信度。根据预测的位置,利用OpenCV在图像中绘制对应的矩形框,并在矩形框左上角显示异物种类,部分测试图像预测结果如图10所示。
异物置信度在命令行中显示,图10中各图像异物预测结果见表5。可看出异物预测类别与实际一致,且置信度在94%以上。
图10 部分测试图像结果Fig.10 Some forecast results on the test images
表5 异物预测结果Table 5 Forecast results of foreign objects
4 结论
(1) 利用Focal Loss函数代替交叉熵损失函数解决异物图像数据集中的样本不平衡问题,提高异物预测准确率,最佳超参数为γ=2,α=0.75。
(2) 利用6 034张异物图像对改进前后的YOLOv3模型进行10-折交叉验证测试,改进后的模型预测性能显著提升,锚杆、螺母、角铁3种异物预测的平均精确率分别提升了约4.7%,3.5%和6.8%,平均召回率分别提升了约6.6%,3.5%和6.0%。
(3) 改进YOLOv3模型在2080Ti平台下对每张图像中异物的预测类别与实际类别一致,且置信度在94%以上。