融合轻量级网络和双重注意力机制的煤块检测方法
2022-01-19叶鸥窦晓熠付燕邓军
叶鸥, 窦晓熠, 付燕, 邓军
(1.西安科技大学 计算机科学与技术学院, 陕西 西安 710054;2.西安科技大学 安全科学与工程学院, 陕西 西安 710054)
0 引言
随着煤矿井下带式输送机运输距离、运载量不断提高,带式输送机可能会出现运转停止或缓慢、空载等异常情况[1],若不及时发现,易造成安全事故和经济损失。通过对带式输送机上煤块进行目标跟踪检测,可有效反映带式输送机运行状态[2]。
目前带式输送机目标检测方法包括传统目标检测和深度学习目标检测2类。传统目标检测方法[3-6]在对输入图像进行预处理的基础上,先利用滑动窗口方式对图像进行候选区域筛选;之后采用SIFT (Scale-Invariant Feature Transform,尺度不变特征变换)、HOG (Histogram of Gradient,梯度直方图)和DPM (Deformable Parts Model,可变形组件模型)等图像特征描述子,对候选区域进行图像特征抽取[7];最后利用分类算法模型对提取的特征进行分类识别。然而,该方法需要人工设计特征,对应用环境要求较为苛刻,较难满足实际需求。深度学习目标检测方法识别率较高且鲁棒性强,在带式输送机目标检测方面得到快速推广。文献[8]提出了基于Faster-RCNN(Region Convolutional Neural Networks,区域卷积神经网络)的输送带异物识别方法,引入置信度惩罚函数筛选最佳候选框,可以获得较高的检测精度。文献[9]以SSD(Single Shot MultiBox Detector,单步多框检测器)模型为基础框架,通过替换损失函数及优化默认锚框比例等方式,提高煤矿输送带异物的检测精度。文献[10]在YOLOv3模型的基础上,采用Focal Loss函数替换交叉熵损失函数,并通过调节最佳超参数来解决带式输送机非煤异物样本不平衡性问题,提高了模型检测性能。文献[11]提出了一种改进YOLOv3模型,设计了DarkNet22-DS网络作为主干特征提取网络,融合BiFPN(Bidirectional Feature Pyramid Network,双向特征金字塔网络)模型,采用完全交并比作为目标框的回归损失函数,实现了带式输送机异物检测精度和时效性的提升。然而,由于煤矿井下图像质量较差,煤块间边缘特征不明显,导致煤块检测精度低,且现有识别模型参数规模大,导致运行速度慢[12-13]。本文提出了一种融合轻量级网络和双重注意力机制的改进YOLOv4模型,并将其应用于带式输送机煤块检测。在YOLOv4模型的基础上,引入MobileNet轻量级网络模型[14],改进 YOLOv4模型的主干网络结构,减少YOLOv4模型的参数量和计算量,并嵌入具有双重注意力机制的CBAM(Convolutional Block Attention Module,卷积块注意模块)[15],提高YOLOv4模型对目标特征的敏感度,实现煤矿井下带式输送机煤块的实时检测。
1 改进YOLOv4模型
改进YOLOv4模型融合了轻量级网络和双重注意力机制,其总体架构如图1所示。利用K-means聚类算法重新聚类先验框[16],根据给定的数据集样本,通过距离计算将相似样本的锚框归为一类,得到适应数据集的锚框,从而提高模型学习能力。引入MobileNet轻量级网络模型,替换YOLOv4模型的主干网络CSPDarknet53,可在不损失精度的前提下,有效减少模型参数量,提高模型检测速度。引入具有双重注意力机制的CBAM,通过关注通道和空间双重信息,扩大网络感知范围,使网络对待检测目标更敏感,以减少因图像质量较差导致的漏检和因煤块间边缘特征不明显导致的误检。
图1 融合轻量级网络和双重注意力机制的改进YOLOv4模型总体架构Fig.1 Improved YOLOv4 model overall framework integrating lightweight network and dual attention mechanism
1.1 K-means重新聚类
在利用YOLOv4模型进行目标检测的过程中,待检测物体预先生成的锚框尺寸较难完全适用于不同的检测对象,会影响网络训练及学习的泛化能力。首先在COCO公共数据集上通过K-means聚类分析得到9组初始化的锚框尺寸,分别为(12,16),(19,36),(40,28),(36,75),(76,55),(72,146),(142,110),(192,243),(459,401),用于检测不同尺寸的目标(25~100 mm中块煤,>100 mm大块煤)。由于物体属性不同,煤块尺寸与公共数据集上物体尺寸相差较大,不能直接使用初始化的锚框尺寸。所以,通过K-means算法重新聚类,K值(K=9)不变,通过在包含大量中块煤和大块煤的实验数据集上进行聚类分析,所得锚框尺寸分别为(11,12),(14,16),(19,16),(22,23),(27,38),(30,27),(36,51),(42,31),(72,62)。
1.2 YOLOv4模型主干网络改进
YOLOv4模型的主干网络采用CSPDarknet53[17],使用SPP(Spatial Pyramid Pooling,空间金字塔池)和PANet模块进行特征融合,可有效提取视频图像特征信息。但是,由于该网络具有大量参数,使得模型检测精度和速度不理想。为了满足煤块检测的速度要求,引入MobileNet轻量级网络模型,替换YOLOv4模型的主干网络,如图2所示。传统标准卷积和深度可分离卷积如图3所示。改进YOLOv4模型的主干网络采用深度可分离卷积层,将传统标准卷积层分成深度卷积和点卷积2种卷积方式,通过深度卷积和点卷积提取特征,并输出3个尺寸的特征图用于检测不同尺度大小的煤块。
图2 改进YOLOv4模型主干网络结构Fig.2 Improved YOLOv4 model backbone network structure
(a) 传统标准卷积
(b) 深度可分离卷积图3 传统标准卷积和深度可分离卷积Fig.3 Traditional standard convolution and depth separable convolution
假设卷积核大小为S×S,个数为R,输入特征图大小为FR×FR,输入输出的特征图通道数分别为U和Y,且输入输出的特征图尺寸相同,则传统标准卷积的计算量为
Z1=S×S×FR×FR×U×Y
(1)
当使用深度可分离卷积层时,点卷积的计算量为
Z2=FR×FR×1×1×U×Y
(2)
深度卷积计算量为
Z3=S×S×FR×FR×U
(3)
因此深度可分离卷积计算量为
Z4=S×S×FR×FR×U+FR×FR×1×1×U×Y
(4)
深度可分离卷积计算量与传统标准卷积计算量之比为
(5)
当输入图像大小为416×416时,输出的13×13×1 024尺寸特征图感受野较大,可用于检测较大煤块;输出的26×26×512尺寸特征图感受野适中,可用于检测中等大小的煤块;输出的52×52×256特征图感受野较小,可用于检测较小煤块。在不损失精度的同时,卷积计算量小,参数少,提高了检测速度。
1.3 具有双重注意力机制的CBAM
Wc(GD)=σ(g(y(GD))+g(x(GD)))
(6)
(7)
(8)
(9)
式中:g(·)为池化操作后的向量通过MLP的输出;y(·)为平均池化函数;x(·)为最大池化函数;fd×d为尺寸为d×d的卷积层操作。
图4 具有双重注意力机制的CBAM结构Fig.4 CBAM structure with dual attention mechanism
1.4 损失函数
融合轻量级网络和双重注意力机制的改进YOLOv4模型的损失函数L由边界框位置损失LCIOU、置信度损失Lconf和分类损失Lcls3个部分构成。
L=LCIOU+Lconf+Lcls
(10)
(11)
(12)
(13)
(14)
(15)
2 实验结果与分析
2.1 实验环境及数据选择
实验运行环境为Ubuntu18.04,CPU为2.50 GHz的E5-2678,内存为62 GB,GPU为NVIDIA GeForce RTX 2080 Ti,利用Cuda10.0和Cudnn7.5.1的驱动程序支持GPU加速,显存为11 GB,python版本为3.5.6。实验中使用Keras2.2和Tensorflow1.13.1深度学习框架。
本文以煤矿井下带式输送机上中块煤和大块煤为研究对象,实验数据集来源于真实煤矿井下作业监控视频片段,涵盖了不同尺寸大小的煤块。共采集4 500张图像,图像大小为227×227,其中测试集450张图像,训练集和验证集共4 050张图像。
2.2 模型训练
利用LabelImg对所选数据集中待检测目标信息进行标注,用于模型训练。参数设置:模型训练时动量系数为0.9,学习率为0.001,批尺寸为16,训练迭代次数为100。
模型的损失函数曲线如图5所示。可看出在迭代过程中,训练集和验证集的损失值呈明显下降趋势,并且在70次迭代后收敛过程平稳,说明融合轻量级网络和双重注意力机制的改进YOLOv4模型未出现过拟合现象。
图5 损失函数曲线Fig.5 Loss function curve
2.3 检测结果
融合轻量级网络和双重注意力机制的改进YOLOv4模型对不同尺寸煤块进行检测的结果如图6所示。可看出模型根据不同尺寸的目标识别框可识别尺寸不同的大块煤和中块煤。
图6 不同尺寸煤块检测结果Fig.6 Test results of coal blocks of different sizes
在YOLOv4模型基础上进行不同改进做对比实验,结果见表1。可看出YOLOv4模型的权重文件大小为244.9 MB,精确率为90.58%,召回率为33.47%,平均精度均值为64.31,漏检率为49%;YOLOv4_M模型采用MobileNet轻量化网络模型替换YOLOv4模型的主干网络,相较于YOLOv4模型其权重文件减少了36.6%,表明YOLOv4_M模型更加轻便; YOLOv4_MA模型在YOLOv4_M模型基础上嵌入具有双重注意力机制的CBAM,相较于YOLOv4模型,其权重文件减小了36.46%,精确率提高了2.16%,召回率提高了20.4%,平均精度均值提高了14.37%,漏检率降低了16%,表明YOLOv4_MA模型可提高煤块检测精度。
表1 不同模型性能对比Table 1 Performance comparison of different models
YOLOv4模型和YOLOv4_MA模型检测速度对比见表2。与YOLOv4模型相比,YOLOv4_MA模型检测速度提升了19帧/s,在处理单张图像时耗时减少了1.31 s,表明YOLOv4_MA模型可有效提高检测速度。
表2 不同模型检测速度对比Table 2 Detection speed comparison of different models
YOLOv4和YOLOv4_MA模型对带式输送机上煤块检测结果如图7所示。可看出在煤块分布不均匀的情况下,YOLOv4_MA模型可准确检测到距离较近的不同大小煤块,减少了煤块漏检情况。
图7 不同模型下带式输送机煤块检测结果Fig.7 Coal block test results of belt conveyor under different models
3 结论
(1) 提出了一种融合轻量级网络和双重注意力机制的改进YOLOv4模型。基于K-means聚类算法重新聚类先验框,提高了模型检测精度;将YOLOv4模型的主干网络替换为MobileNet轻量级网络模型,在不损失精度的同时,提高了模型检测速度;嵌入具有通道和空间双重注意力机制的CBMA,在不影响检测速度的前提下,提高了对不同尺度煤块的感知能力,减少了漏检、误检情况。
(2) 相较于YOLOv4模型,改进YOLOv4模型权重文件减小了36.46%,精确率提高了2.16%,召回率提高了20.4%,平均精度均值提高了14.37%,漏检率降低了16%,检测速度提升了19帧/s,处理单张图像耗时减少了1.31 s,表明改进YOLOv4模型可提高煤块检测精度和检测速度。