基于改进YOLOv4–Tiny的矿井电机车多目标实时检测

郭永存 杨豚 王爽

郭永存, 杨豚, 王爽. 基于改进YOLOv4–Tiny的矿井电机车多目标实时检测 [J]. 工程科学与技术, 2023, 55(5): 232-241. doi: 10.15961/j.jsuese.202200019
引用本文: 郭永存, 杨豚, 王爽. 基于改进YOLOv4–Tiny的矿井电机车多目标实时检测 [J]. 工程科学与技术, 2023, 55(5): 232-241. doi: 10.15961/j.jsuese.202200019
GUO Yongcun, YANG Tun, WANG Shuang. Multi-object Real-time Detection of Mine Electric Locomotive Based on Improved YOLOv4–Tiny [J]. Advanced Engineering Sciences, 2023, 55(5): 232-241. doi: 10.15961/j.jsuese.202200019
Citation: GUO Yongcun, YANG Tun, WANG Shuang. Multi-object Real-time Detection of Mine Electric Locomotive Based on Improved YOLOv4–Tiny [J]. Advanced Engineering Sciences, 2023, 55(5): 232-241. doi: 10.15961/j.jsuese.202200019

基于改进YOLOv4–Tiny的矿井电机车多目标实时检测

基金项目: 国家自然科学基金项目(51904007);安徽省科技重大专项资助项目(202003a05020021);安徽高校协同创新资助项目(GXXT–2020–60)
详细信息
    • 收稿日期:  2022-01-07
    • 网络出版时间:  2022-10-09 01:20:24
  • 作者简介:

    郭永存(1965—),男,教授,博士. 研究方向:煤矿机器人. E-mail:guoyc1965@126.com

    通信作者:

    杨豚, E-mail: yangtun0324@126.com

  • 中图分类号: TP391.4

Multi-object Real-time Detection of Mine Electric Locomotive Based on Improved YOLOv4–Tiny

  • 摘要: 为解决煤矿巷道环境恶劣及人工疲劳驾驶电机车导致煤矿井下有轨电机车事故频发的问题,提出一种基于改进YOLOv4–Tiny算法的YOLOv4–Tiny–4S矿井电机车多目标实时检测方法。首先,为了提高网络模型对于小目标的检测能力,将传统YOLOv4–Tiny的两尺度预测增加至4尺度预测,并且在网络模型的颈部引入空间金字塔池化(spatial pyramid pooling,SPP)模块,以丰富特征融合信息,增大网络模型的感受野。其次,以煤矿巷道中的行人、电机车、信号灯及碎石作为检测目标,创建矿井电机车多目标检测数据集,并分别采用K–means和K–means++聚类分析算法对数据集重新聚类;对比分析结果表明,K–means++算法具有更好的聚类效果。最后,通过对传统YOLOv4–Tiny算法的消融实验,进一步展示了不同改进措施对网络模型检测性能的影响;并在电机车运行的煤矿巷道场景中,对比分析了YOLOv4–Tiny–4S算法与其他几种算法的检测性能。实验结果表明:YOLOv4–Tiny–4S算法能够准确检测并识别出图像中的各类目标,其平均精度均值(mean average precision,mAP)为95.35%,对小目标“碎石”的平均精度(average precision,AP)为86.69%,相比传统YOLOv4–Tiny算法分别提高了12.38%和41.66%;改进后算法的平均检测速度达58.7 帧/s(frames per second,FPS),模型内存仅为26.3 Mb,YOLOv4–Tiny–4S算法的检测性能优于其他算法。本文提出的基于YOLOv4–Tiny–4S矿井电机车多目标实时检测方法可为实现矿井电机车的无人驾驶提供技术支撑。

     

    Abstract: Accidents of the rail electric locomotive in the underground are frequently occurring due to the poor coal mine roadway environment and fatigue-limited manual driving. To address this issue, an improved YOLOv4–Tiny framework, called YOLOv4–Tiny–4S, is proposed to achieve multi-object real-time detection for rail electric locomotive. A 4–scale prediction head is designed to enhance the detection ability of small objects based on the 2–scale prediction of YOLOv4–Tiny. Spatial pyramid pooling (SPP) is introduced into the neck network to extend the receptive field and enrich the fused features. In this work, the detection objects concern person, locomotive, stone and lamp in the coal mine roadway, and a new dataset is constructed to validate the proposed approach. The K–means and K–means++ algorithms are applied to re-cluster the samples, and K–means++ has a better performance in this dataset. The ablation studies over YOLOv4–Tiny are conducted to validate the technical improvements in this work. The result comparison over other baselines demonstrates that the proposed approach can detect and recognize the required objects in the underground rail electric locomotive with considerable high performance, achieving 95.35% mean average precision. Specifically, the average precision for small object “stone” reaches 86.69%, yielding 12.38% and 41.66% improvements over YOLOv4–Tiny. The average detection speed of the proposed approach is 58.7 frames per second (FPS), with only 26.3 Mb memory. The proposed multi-object real-time detection method is expected to provide technical support for the unmanned driving of mine electric locomotive.

     

  • 煤矿智能化运输是发展智能矿山的重要环节之一[1]。煤矿井下巷道有轨电机车作为煤矿辅助运输的主要设备之一,承担运送人员、材料、矸石及相关作业设备的任务[2]。截至目前,矿井有轨电机车仍然依靠人工驾驶[3];然而,恶劣的巷道环境及驾驶人员的不确定因素导致矿井电机车的运输事故频发[4]。发展矿井电机车的无人驾驶可减少煤矿井下作业人员数量,提高煤矿生产作业安全性,具有巨大的经济效益和社会效益。目前,国内少数煤矿通过远程监控和智能调度实现了电机车的无人驾驶,但机车本身并不具备自主感知和自主控制的能力,没有实现真正意义上的无人驾驶。

    多目标精准实时检测是实现矿井电机车无人驾驶的前提。随着深度学习在图像分类、目标检测等计算机视觉领域取得巨大进步[5-6],基于深度学习的目标检测技术被应用到越来越多的领域。王滢暄等[7]基于改进YOLOv4网络模型,通过丰富车辆目标数据集,提高了模型对车辆的检测精度;李海滨等[8]基于轻量化YOLOv4–Tiny网络模型对溜筒卸料煤粉尘进行实时检测,以提高除尘效率;魏建胜等[9]将双目相机抓取的图像送入YOLOv3网络模型中,保证农业机械的智能化自主导航;张斌等[10]基于YOLOv2算法对煤矿煤岩进行检测,以实现综采工作面的智能开采;陈伟华等[11]基于深度长短时记忆(long short–term memory,LSTM)神经网络预测采煤机的截割轨迹,以提高采煤机记忆截割精度;岳晓新等[12]通过改进YOLOv3算法,使模型对道路小目标的检测精度提高了2.36%。

    以RCNN[13]、Fast RCNN[14]、Mask RCNN[15]为代表的双阶段目标检测模型,虽然检测精度较高,但内存消耗大,对目标的检测速度慢,不能满足实时检测的需求。以YOLO(you only look once)系列[1619]、SSD(single shot detector)[20]为代表的单阶段目标检测模型,其检测速度快、内存小,可快速部署在移动端设备中使用[21],能够满足矿井电机车对周围目标实时检测的需求;但在结构复杂的单阶段目标检测模型中,随着网络层数的增加,过多的卷积操作过程易丢失图像中的小目标样本特征;而轻量化的单阶段目标检测模型网络架构较为简单,难以在网络模型训练过程中提取更深层次的语义信息,导致传统单阶段目标检测模型普遍存在检测精度低的问题。

    鉴于此,本文提出一种基于YOLOv4–Tiny–4S的矿井电机车多目标实时检测方法,对传统YOLOv4–Tiny算法的网络结构进行改进;然后,创建矿井电机车多目标检测数据集,并使用K–means++聚类分析获取数据集先验框大小,确定先验框参数;最后,对改进后的网络模型进行训练及测试。实验结果表明,改进后的网络模型在占用内存低、检测速度满足矿井电机车实时检测需求的情况下,提升了对多种目标的平均检测精度,尤其大幅提升了网络模型对小目标的检测精度。

    YOLOv4–Tiny算法是YOLOv4算法的轻量化版本,YOLOv4–Tiny算法以牺牲检测精度的代价来降低网络模型的参数量,进而提升检测速度,该算法占用的内存不足YOLOv4算法的1/10。YOLOv4–Tiny算法首先通过特征提取网络对输入图像进行特征提取,得到一定大小的特征图(feature map);随后,将特征图划分成S×S个网格单元(grid cells),其中,S指将特征图的宽与高平均分成S等份。YOLOv4–Tiny会在每个网格单元预测出3个边界框,每个预测边界框(Pre)包含4个坐标信息(xywh)、置信度(confidence)及类别信息(classes),单元网格参数信息如图1所示,其中,(1,1)和(13,13)为网格单元的索引号。本文以图像中的行人、电机车、碎石及信号灯作为检测目标,共有4种类别信息,则一个网格单元包含3×(4+1+4)=27个参数,一张特征图参数量为27S2。如:输入尺寸大小为416×416的图像,经特征提取后将特征图划分成13×13个网格单元,则该特征图的参数量为13×13×27=4563。

    图  1  网格单元参数信息
    Fig.  1  Parameter information of grid cells
    下载: 全尺寸图片

    对数据集图像中的目标进行手动标注时,如果标注框(ground truth,GT)中某个目标的中心坐标落在某个网格单元中,则由这个网格单元来预测该目标。图2为预测时先验框(anchor box)与预测边界框在特征图上的位置关系示意图,以网格单元(2,2)中的其中一个预测边界框为例(图2中蓝色矩形框为预测边界框),CxCy为该网格单元左上角相对于特征图左上角的坐标。网格单元中的一个预测边界框会预测5个偏移值,分别为txtytwtht0。其中,txty为坐标的偏移值,twth 为尺度缩放,t0为置信度。采用Sigmoid函数将txty的数值压缩到[0,1]区间内,用σ(tx)、σ(ty) 表示当前预测边界框的中心点相对于对应网格单元左上角位置的相对偏移值,这样可有效确保目标的中心位置始终处于执行预测的网格单元中,而不会偏移到其他网格单元。在网络模型中,通过聚类得到网格单元对应的先验框大小,先验框如图2红色虚线框所示,先验框的宽和高用pwph表示。

    图  2  先验框与预测边界框示意图
    Fig.  2  Schematic diagram of anchor box and prediction box
    下载: 全尺寸图片

    通过已知预测边界框的偏移值及先验框的宽和高,可得到预测边界框的实际宽高bwbhbxby为预测边界框的中心相对于特征图左上角的实际坐标,各参数的计算如式(1)~(5)所示:

    $$ {b_x} = \sigma ({t_x}) + {C_x} $$ (1)
    $$ {b_y} = \sigma ({t_y}) + {C_y} $$ (2)
    $$ {b_w} = {p_w}{{{\rm{e}}} ^{{t_w}}} $$ (3)
    $$ {b_h} = {p_h}{{{\rm{e}}} ^{{t_h}}} $$ (4)
    $$ \sigma (x) = \frac{1}{{1 + {{{\rm{e}}} ^{ - x}}}} $$ (5)

    损失函数(loss function)是指模型的预测值与真实值之间的差距,损失函数的值越小,模型的预测精度越高,鲁棒性越好。YOLOv4–Tiny的损失包括3部分,分别为定位损失(localization loss)、置信度损失(confidence loss)及分类损失(classification loss)。

    在目标检测领域中,通常使用交并比(intersection over union,IoU)损失函数(LIoU)来体现预测边界框(Pre)和标注框(GT)之间的重合度,具体包括GIoU、DIoU和CIoU损失函数,IoU损失函数的值越小,表明预测边界框与真实框的重叠程度越高,检测性能越好,其计算公式如式(6)所示:

    $$ {{{{L}}} _{{\rm{IoU}}}} = 1 - P_{{\rm{IoU}}} $$ (6)

    式中,PIoU为目标的预测边界框与真实框之间重叠部分的面积(area of overlap)与两个框总面积(area of union)的比值,如图3所示。YOLOv4–Tiny网络模型在定位损失中使用了CIoU(Complete–IoU)损失函数(LCIoU),CIoU同时考虑了预测边界框与真实框的重叠面积、中心点距离、长宽比及惩罚项,使得目标框的回归更加稳定、收敛更快、效果更好,记为PCIoU。CIoU损失函数的计算如式(7)~(10)所示:

    图  3  IoU示意图
    Fig.  3  Schematic diagram of IoU
    下载: 全尺寸图片
    $$ {{{{L}}} _{{\rm{CIoU}}}} = 1 -P_ {{\rm{CIoU}}} $$ (7)
    $$ {\qquad P_{{\rm{CIoU}}} = P_{{\rm{IoU}}} - \left(\frac{{{\rho ^2}(b,{b^{{\text{gt}}}})}}{{{c^2}}} + \alpha \nu \right) }$$ (8)
    $${\qquad \nu = \frac{4}{{{{\text{π}} ^2}}}{\left(\arctan \;\frac{{{w^{{\text{gt}}}}}}{{{h^{{\text{gt}}}}}} - \arctan \;\frac{w}{h}\right)^2} }$$ (9)
    $$ \alpha = \frac{\nu }{{(1 - P_{{\rm{IoU}}} ) + \nu }} $$ (10)

    式(7)~(10)中:bbgt分别为预测边界框和真实框的中心,ρ2(b,bgt)为预测边界框和真实框中心距离的平方;c为两个框最小闭包区域的对角线长度;α为权重函数;ν用来度量长宽比的相似性;wh为预测边界框的宽、高;wgthgt为真实框的宽、高。

    YOLOv4–Tiny最终的损失L为3部分损失之和,计算公式如式(11)所示:

    $$ \begin{aligned}[b] {{L}} =& {\lambda _{{\text{IoU}}}}\mathop \sum \limits_{i = 0}^{{S^2}} \mathop \sum \limits_{j = 0}^B I_{ij}^{{\text{obj}}}{{{{L}}} _{{\rm{CIoU}}}} + {\lambda _{{\text{cls}}}}\mathop \sum \limits_{i = 0}^{{S^2}} \mathop \sum \limits_{j = 0}^B I_{ij}^{{\text{obj}}}{\lambda _{{c}}}{({C_i} - {{\hat C}_i})^2} + \\& {\lambda _{{\text{cls}}}}\mathop \sum \limits_{i = 0}^{{S^2}} \mathop \sum \limits_{j = 0}^B I_{ij}^{{\text{noobj}}}{\lambda _{{c}}}{({C_i} - {{\hat C}_i})^2} - \\& \mathop \sum \limits_{i = 0}^{{S^2}} \mathop \sum \limits_{j = 0}^B I_{ij}^{{\text{obj}}}\mathop \sum \limits_{c \in classes} {\lambda _{{c}}}[{{\hat p}_i}(c)\ln ({p_i}(c)) + \\& (1 - {{\hat p}_i}(c))\ln (1 - {p_i}(c))]\\[-13pt] \end{aligned} $$ (11)

    式中:λIoU为定位损失的权重参数,λcls为置信度损失及分类损失的权重参数,λc为对类别c的权重参数,可通过调整λIoUλclsλc的取值表征各损失在总损失中的重要程度;S为特征图划分系数;B为预测的边界框;I为示性函数,obj和noobj表示有、无目标, $I_{ij}^{{\text{obj}}} $ 表示特征图中第i个网格的第j个预测边界框预测某一目标, $I_{ij}^{{\text{noobj}}} $ 表示第i个网格的第j个预测边界框不负责该目标;Ci $ {\hat C_i} $ 分别为在第i个网格中预测边界框和真实框的置信度;pi(c)、 $ {\hat p_i}(c) $ 分别为在第i个网格中预测目标、真实目标的条件类别概率。

    图4为YOLOv4–Tiny网络模型结构示意图,YOLOv4–Tiny网络模型结构由3部分组成,分别为骨干网络(Backbone)、颈部(Neck)及头部(Head)。YOLOv4–Tiny骨干网络采用CSPNet[22](cross stage partial network)中经过简化后的CSP结构,用于提取输入图像特征;网络模型颈部使用特征金字塔[23](feature pyramid networks,FPN)结构进行特征融合;网络模型头部仍采用YOLOv3检测头。图4中的CBL为由卷积层(Conv)、批标准化层(batch normalization,BN)、Leaky Relu(L–R)激活函数组成的卷积块。

    图  4  YOLOv4–Tiny网络结构
    Fig.  4  YOLOv4–Tiny network structure
    下载: 全尺寸图片

    传统YOLOv4–Tiny网络模型是从13×13、26×26两个尺度输出预测结果。为进一步提升网络模型的预测能力,本文将传统网络模型的两尺度预测增加至4尺度预测,并且在网络模型颈部引入空间特征金字塔池化(spatial pyramid pooling,SPP)模块[24]图5为SPP模块结构示意图。SPP模块将输入特征图分别使用5×5、9×9、13×13不同大小的池化核进行步长为1的最大池化操作;随后,将池化后的特征图与原输入特征图进行拼接,输入大小为13×13×512的特征图,经SPP模块后输出大小为13×13×2048的特征图。SPP模块可实现从多尺度特征中提取出固定大小的特征向量,解决输入图像大小不一的问题,这不仅可以增加训练图像尺寸的多样性,使网络更容易收敛,同时可显著增大网络模型感受野,降低过拟合,提高算法鲁棒性。改进后的网络模型(YOLOv4–Tiny–4S)结构如图6所示。改进后的网络模型层数由YOLOv4–Tiny的38层增至58层;输入尺寸大小为416×416的图像,经YOLOv4–Tiny–4S网络模型,最终输出13×13、26×26、52×52、104×104共4个尺度的预测结果。

    图  5  SPP结构
    Fig.  5  SPP structure
    下载: 全尺寸图片
    图  6  YOLOv4–Tiny–4S网络结构
    Fig.  6  YOLOv4–Tiny–4S network structure
    下载: 全尺寸图片

    实验所需电机车图像采集于安徽省淮北市濉溪县袁店一矿,使用煤矿专用防爆拍摄设备在煤矿井下约750 m深处的巷道进行拍摄,选取不同角度、位置、光线强度及图像分辨率对煤巷电机车运行巷道场景进行拍摄,获得图像及视频若干。经过后期处理,最终得到包含行人、电机车、碎石、信号灯共4类检测目标的图像2 000张,部分数据集图像如图7所示。

    图  7  部分数据集图像
    Fig.  7  Partial data set images
    下载: 全尺寸图片

    采用LabelImg图像标注工具对电机车数据集图像中包含的所有检测目标进行手工标注,使用最小外接矩形将图像中的检测目标逐一框选出来,并分别用“person”“locomotive”“stone”与“lamp”作为行人、电机车、碎石及信号灯4类检测目标的标签,最后将标注完成的2 000张图像按4:1的比例随机划分为训练集与测试集,并且从额外拍摄的图像中选取若干未经任何处理的图像与视频作为验证集,用以测试模型的检测性能。

    YOLOv4–Tiny网络模型原始先验框参数是在PASCAL VOC公共数据集( http://host.robots.ox.ac.uk/pascal/VOC/)上通过聚类得出,而PASCAL VOC公共数据集中包含20个不同类别信息,直接采用原始先验框参数进行网络模型的训练会对矿井电机车周围目标的检测精度产生一定影响,因此,需要对矿井电机车数据集进行聚类分析,重新计算先验框参数。传统YOLOv4–Tiny算法使用的K–means聚类分析算法在初始阶段一次性从数据集中随机选取K个样本作为初始聚类中心C={C1, C2,···, CK},这种初始聚类中心的选取方式往往会导致聚类结果不理想,进而影响最终的检测精度;K–means++算法对K–means随机初始化聚类中心的方法进行优化,其在初始阶段首先从数据集中随机选取一个样本作为初始聚类中心C1,随后距离当前聚类中心C1越远的点会有更高的概率被选为第2个聚类中心C2,以此类推,直到选取第K个聚类中心CK为止。

    本文分别采用K–means和K–means++聚类分析算法对电机车数据集重新聚类获得先验框参数;随后,训练网络模型,并将测试结果与直接采用PASCAL VOC公共数据集原始先验框训练的网络模型进行对比,不同模型的平均精度均值(mean average precision,mAP)见表1。由表1可知:相比直接采用PASCAL VOC公共数据集原始先验框,采用K–means算法重新聚类使网络模型的mAP由82.97%提高至83.18%;而采用K–means++算法重新聚类可使网络模型的mAP提高至83.90%。综上,对数据集重新聚类提高了网络模型的检测精度,且K–means++算法的聚类效果更加优越。因此,本文摒弃传统K–means算法,采用聚类效果更好的K–means++算法作为网络模型的聚类分析方法。

    表  1  基于不同先验框的检测结果
    Table  1  Detection results based on different anchors
    先验框参数获取方法 mAP/%
    PASCAL VOC原始先验框 82.97
    K–means聚类 83.18
    K–means++聚类 83.90

    实验所有算法的训练及测试均在同一台计算机设备的Ubuntu18.04系统进行,并基于图形处理器(graphics processing unit,GPU)进行数据集的训练及测试,网络模型训练环境具体配置见表2

    表  2  网络训练环境
    Table  2  Network training environment
    配置参数 内容
    中央处理器CPU AMD Ryzen7 5800X 8–core@3.8 GHz
    图形处理器GPU NVIDIA GeForce RTX 3060 12G
    加速环境 CUDA 11.0、CUDNN 8.0
    语言环境 Python 3.6

    网络模型训练之前,优化模型配置文件中的相关参数,以获取最优训练模型。表3为优化后的模型训练参数,输入图像尺寸设为416×416。引入动量(momentum)调整梯度下降达到最优值的速度;引入权重衰减正则项(decay)防止过拟合。采用steps更新策略用以更新学习率,steps和scales参数用来设置学习率的变化,即当迭代次数达到8 000次时,学习率衰减10倍;迭代次数达到9 000次时,学习率会在前一个学习率的基础上再衰减10倍。

    表  3  网络训练参数
    Table  3  Network training parameters
    参数 数值
    输入图像尺寸 416×416
    一批训练样本数batch 32
    一次送入训练器样本数subdivisions 8
    动量momentum 0.9
    权重衰减正则项decay 0.0005
    学习率learning rate 0.001
    迭代次数iterations 10000
    steps 8000、9000
    scales 0.1,0.1
    饱和度saturation 1.5
    曝光度exposure 1.5
    色调hue 0.1

    在目标检测领域中,通常采用精确率(precision)、召回率(recall)、平均精度(average precision, AP)、平均精度均值mAP作为网络性能的评价指标[25]。精确率也称查准率,用来评估模型对目标的预测是否准确,记为 $S_{\rm{PRE}} $ ;召回率又称查全率,用来评估模型对目标的寻找是否全面,记为 $S_{\rm{REC}} $ ;平均精度是指模型对某个单一目标的平均精度,记为 $ S_{{\rm{AP}}} $ ;平均精度均值对模型所有目标的AP取平均值,记为 $ S_{{\rm{mAP}}} $ 。各个参数的计算如式(12)~(14)所示:

    $$ S_{\rm{PRE}} = \frac{{{{TP}}}}{{{{TP}} + {{FP}}}} $$ (12)
    $$ S_{\rm{REC}} = \frac{{{{TP}}}}{{{{TP}} + {{FN}}}} $$ (13)
    $$ S_{{\rm{mAP}}} = \frac{{\displaystyle \sum\limits_{i = 1}^n S_\text{AP}^i }}{n} $$ (14)

    式中,TP为模型正确检测的正类样本数,FP为模型错误检测的正类样本数,FN为模型错误检测的负类样本数,n为检测的目标种类数。

    由于煤矿井下巷道环境较为恶劣,实时获取的图像存在亮度不足、清晰度差等问题。为了进一步说明改进后算法的检测效果,将改进后的YOLOv4–Tiny–4S算法与YOLOv4、YOLOv4–Tiny及YOLOv3算法的检测结果做对比,图8为采用4种算法分别建立的模型对3个不同场景的检测结果。如图8所示:YOLOv4、YOLOv4–Tiny及YOLOv3算法不同程度出现了错检、漏检、预测边界框不准确、目标置信度得分低的问题;而YOLOv4–Tiny–4S算法能够准确检测出各类目标并进行分类,且未出现漏检、错检现象,并且检测出的目标均保持较高的置信度得分,算法的鲁棒性更好。因此,改进后的算法更能满足矿井电机车对周围目标精准识别的需求。

    图  8  不同算法检测结果对比
    Fig.  8  Comparison of detection results of different algorithms
    下载: 全尺寸图片

    为了直观验证不同改进措施对网络模型检测性能的影响,基于传统YOLOv4–Tiny算法进行消融实验,即在不改变其他训练环境的情况下,将3种改进措施进行排列组合式结合,分别对网络模型进行改进并训练。表4为不同方法分别检测4种目标时的AP及mAP。由表4可知:没有任何改进措施时,YOLOv4–Tiny算法的mAP值为82.97%,单独使用K–means++聚类分析算法、单独引入SPP模块及单独将网络模型增至4尺度输出后的mAP值分别为83.90%、87.49%和91.57%,分别比YOLOv4–Tiny算法高0.93%、4.52%和8.60%;SPP模块分别与4尺度输出网络模型及K–means++聚类分析算法结合使用时,网络模型的mAP值分别为94.15%和89.35%,分别高于YOLOv4–Tiny算法11.18%和6.38%;4尺度输出网络模型与K–means++聚类分析算法结合时,网络模型的mAP值为92.19%,高于YOLOv4–Tiny算法9.22%;将3种改进措施同时使用时,网络模型的mAP值为95.35%,高于YOLOv4–Tiny算法12.38%。由表4可知:网络模型增加至4尺度预测的改进措施可显著提升网络模型的mAP值;引入SPP模块可显著提升网络模型对于小目标“碎石”的AP值;采用K–means++聚类分析算法可小幅度提升网络模型的mAP值。

    表  4  YOLOv4–Tiny算法消融实验
    Table  4  Ablation Experiment of YOLOv4–Tiny algorithm
    方法 AP/% mAP/%
    行人 电机车 信号灯 碎石
    传统YOLOv4–Tiny算法 97.90 94.87 94.05 45.03 82.97
    4尺度 97.98 96.03 97.32 74.95 91.57
    SPP 98.02 95.21 94.15 62.58 87.49
    K–means++ 97.95 94.92 93.98 48.73 83.90
    4尺度+SPP 98.00 97.75 98.18 82.66 94.15
    4尺度+K–means++ 97.67 97.35 98.08 75.66 92.19
    SPP+K–means++ 98.09 96.02 94.38 68.92 89.35
    4尺度+SPP+K–means++ 98.29 98.28 98.14 86.69 95.35

    为验证本文方法具有更好的检测性能,在保持训练环境不变的情况下,基于同一电机车数据集对YOLOv4、YOLOv4–Tiny、3尺度预测的YOLOv4–Tiny–3L、YOLOv3及YOLOv3–Tiny算法进行训练及测试。改进后的YOLOv4–Tiny–4S算法与YOLOv4、YOLOv4–Tiny、YOLOv4–Tiny–3L、YOLOv3及YOLOv3–Tiny算法的检测性能参数对比见表5。由表5可知:YOLOv4–Tiny–4S算法的mAP值达95.35%,均高于表5中其他算法;相较于传统YOLOv4–Tiny算法,改进后YOLOv4–Tiny–4S算法内存由23.5 Mb增加至26.3 Mb,但其平均检测速度仅降低了0.1 FPS,为58.7 FPS,仍然远远满足实时检测的需求;相较于其他3类检测目标(行人、电机车、信号灯),表5中所有算法对于小目标“碎石”的平均精度(Stone AP)最低,而通过本文改进方法,该值高至86.69%,相比传统YOLOv4–Tiny算法提高了41.66%,有效提升了网络模型对于小目标的检测能力。表5中各算法的mAP值及Stone AP值对比如图9所示。

    表  5  不同算法检测性能参数对比
    Table  5  Comparison of detection performance parameters of different algorithms
    算法 AP/% mAP/% 平均检测速度/FPS 占用内存/Mb
    行人 电机车 信号灯 碎石
    YOLOv4 98.21 98.06 98.81 73.53 92.15 52.2 256.1
    YOLOv4–Tiny 97.90 94.87 94.05 45.03 82.97 58.8 23.5
    YOLOv4–Tiny–3L 97.83 97.03 98.38 67.11 90.09 57.9 24.5
    YOLOv4–Tiny–4S 98.29 98.28 98.14 86.69 95.35 58.7 26.3
    YOLOv3 98.50 98.91 98.52 69.19 91.28 50.1 246.4
    YOLOv3–Tiny 97.25 96.88 96.56 40.27 82.74 56.9 34.7
    图  9  不同算法检测精度对比
    Fig.  9  Comparison of detection accuracy of different algorithms
    下载: 全尺寸图片

    针对目前煤矿巷道环境恶劣及人工疲劳驾驶电机车导致煤矿井下有轨电机车事故频发的问题,对传统深度学习目标检测算法YOLOv4–Tiny进行改进,提出一种基于YOLOv4–Tiny–4S的矿井电机车多目标实时检测方法。实验结果表明,改进后的算法对矿井电机车周围多种目标的检测精度得到进一步提升。

    1)YOLOv4–Tiny–4S算法的mAP值相比传统YOLOv4–Tiny算法增加了12.38%,达95.35%;由于改进措施增加了网络模型层数,模型内存同比增加2.8 Mb,使得平均检测速度同比降低0.1 FPS,为58.7 FPS,但仍然完全满足实时检测的需求。

    2)相比传统YOLOv4–Tiny算法,YOLOv4–Tiny–4S算法对小目标“碎石”的AP值提高了41.66%,达86.69%,改进后的网络模型对于小目标的检测能力大幅提高。

    3)将网络模型由传统两尺度预测增加至4尺度预测可明显提升网络模型的mAP值,引入SPP模块可显著增加网络模型对于小目标的检测能力,采用K–means++先验框聚类分析算法替代传统K–means聚类分析算法可使网络模型的mAP值增加1%~2%。3种改进措施在不影响网络模型检测速度的情况下均能够不同程度地提高网络模型的检测精度,实现了矿井电机车对多种目标的精准实时检测,为实现矿井电机车的无人驾驶提供技术支撑。

  • 图  1   网格单元参数信息

    Fig.  1   Parameter information of grid cells

    下载: 全尺寸图片

    图  2   先验框与预测边界框示意图

    Fig.  2   Schematic diagram of anchor box and prediction box

    下载: 全尺寸图片

    图  3   IoU示意图

    Fig.  3   Schematic diagram of IoU

    下载: 全尺寸图片

    图  4   YOLOv4–Tiny网络结构

    Fig.  4   YOLOv4–Tiny network structure

    下载: 全尺寸图片

    图  5   SPP结构

    Fig.  5   SPP structure

    下载: 全尺寸图片

    图  6   YOLOv4–Tiny–4S网络结构

    Fig.  6   YOLOv4–Tiny–4S network structure

    下载: 全尺寸图片

    图  7   部分数据集图像

    Fig.  7   Partial data set images

    下载: 全尺寸图片

    图  8   不同算法检测结果对比

    Fig.  8   Comparison of detection results of different algorithms

    下载: 全尺寸图片

    图  9   不同算法检测精度对比

    Fig.  9   Comparison of detection accuracy of different algorithms

    下载: 全尺寸图片

    表  1   基于不同先验框的检测结果

    Table  1   Detection results based on different anchors

    先验框参数获取方法 mAP/%
    PASCAL VOC原始先验框 82.97
    K–means聚类 83.18
    K–means++聚类 83.90

    表  2   网络训练环境

    Table  2   Network training environment

    配置参数 内容
    中央处理器CPU AMD Ryzen7 5800X 8–core@3.8 GHz
    图形处理器GPU NVIDIA GeForce RTX 3060 12G
    加速环境 CUDA 11.0、CUDNN 8.0
    语言环境 Python 3.6

    表  3   网络训练参数

    Table  3   Network training parameters

    参数 数值
    输入图像尺寸 416×416
    一批训练样本数batch 32
    一次送入训练器样本数subdivisions 8
    动量momentum 0.9
    权重衰减正则项decay 0.0005
    学习率learning rate 0.001
    迭代次数iterations 10000
    steps 8000、9000
    scales 0.1,0.1
    饱和度saturation 1.5
    曝光度exposure 1.5
    色调hue 0.1

    表  4   YOLOv4–Tiny算法消融实验

    Table  4   Ablation Experiment of YOLOv4–Tiny algorithm

    方法 AP/% mAP/%
    行人 电机车 信号灯 碎石
    传统YOLOv4–Tiny算法 97.90 94.87 94.05 45.03 82.97
    4尺度 97.98 96.03 97.32 74.95 91.57
    SPP 98.02 95.21 94.15 62.58 87.49
    K–means++ 97.95 94.92 93.98 48.73 83.90
    4尺度+SPP 98.00 97.75 98.18 82.66 94.15
    4尺度+K–means++ 97.67 97.35 98.08 75.66 92.19
    SPP+K–means++ 98.09 96.02 94.38 68.92 89.35
    4尺度+SPP+K–means++ 98.29 98.28 98.14 86.69 95.35

    表  5   不同算法检测性能参数对比

    Table  5   Comparison of detection performance parameters of different algorithms

    算法 AP/% mAP/% 平均检测速度/FPS 占用内存/Mb
    行人 电机车 信号灯 碎石
    YOLOv4 98.21 98.06 98.81 73.53 92.15 52.2 256.1
    YOLOv4–Tiny 97.90 94.87 94.05 45.03 82.97 58.8 23.5
    YOLOv4–Tiny–3L 97.83 97.03 98.38 67.11 90.09 57.9 24.5
    YOLOv4–Tiny–4S 98.29 98.28 98.14 86.69 95.35 58.7 26.3
    YOLOv3 98.50 98.91 98.52 69.19 91.28 50.1 246.4
    YOLOv3–Tiny 97.25 96.88 96.56 40.27 82.74 56.9 34.7
  • [1] 于骞翔,张元生.井下电机车轨道障碍物图像处理方法的智能识别技术[J].金属矿山,2021(8):150–157.

    Yu Qianxiang,Zhang Yuansheng.Track obstacle intelligent recognition technology of mine electric locomotive based on image processing[J].Metal Mine,2021(8):150–157
    [2] 韩江洪,卫星,陆阳,等.煤矿井下机车无人驾驶系统关键技术[J].煤炭学报,2020,45(6):2104–2115.

    Han Jianghong,Wei Xing,Lu Yang,et al.Driverless technology of underground locomotive in coal mine[J].Journal of China Coal Society,2020,45(6):2104–2115
    [3] 陈杨阳,霍振龙,刘智伟,等.我国煤矿运输机器人发展趋势及关键技术[J].煤炭科学技术,2020,48(7):233–242.

    Chen Yangyang,Huo Zhenlong,Liu Zhiwei,et al.Development trend and key technology of coal mine transportation robot in China[J].Coal Science and Technology,2020,48(7):233–242
    [4] 陈相蒙,王恩标,王刚.煤矿电机车无人驾驶技术研究[J].煤炭科学技术,2020,48(增刊2):159–164.

    Chen Xiangmeng,Wang Enbiao,Wang Gang.Research on electric locomotive self-driving technology in coal mine[J].Coal Science and Technology,2020,48(Supp2):159–164
    [5] 李章维,胡安顺,王晓飞.基于视觉的目标检测方法综述[J].计算机工程与应用,2020,56(8):1–9.

    Li Zhangwei,Hu Anshun,Wang Xiaofei.Survey of vision based object detection methods[J].Computer Engineering and Applications,2020,56(8):1–9
    [6] 刘洪江,王懋,刘丽华,等.基于深度学习的小目标检测综述[J].计算机工程与科学,2021,43(8):1429–1442. doi: 10.3969/j.issn.1007-130X.2021.08.012

    Liu Hongjiang,Wang Mao,Liu Lihua,et al.A survey of small object detection based on deep learning[J].Computer Engineering and Science,2021,43(8):1429–1442 doi: 10.3969/j.issn.1007-130X.2021.08.012
    [7] 王滢暄,宋焕生,梁浩翔,等.基于改进的YOLOv4高速公路车辆目标检测研究[J].计算机工程与应用,2021,57(13):218–226. doi: 10.3778/j.issn.1002-8331.2012-0581

    Wang Yingxuan,Song Huansheng,Liang Haoxiang,et al.Highway vehicle object detection based on improved YOLOv4 method[J].Computer Engineering and Applications,2021,57(13):218–226 doi: 10.3778/j.issn.1002-8331.2012-0581
    [8] 李海滨,孙远,张文明,等.基于YOLOv4–tiny的溜筒卸料煤尘检测方法[J].光电工程,2021,48(6):73–86.

    Li Haibin,Sun Yuan,Zhang Wenming,et al.The detection method for coal dust caused by chute discharge based on YOLOv4–tiny[J].Opto-Electronic Engineering,2021,48(6):73–86
    [9] 魏建胜,潘树国,田光兆,等.农业车辆双目视觉障碍物感知系统设计与试验[J].农业工程学报,2021,37(9):55–63. doi: 10.11975/j.issn.1002-6819.2021.09.007

    Wei Jiansheng,Pan Shuguo,Tian Guangzhao,et al.Design and experiments of the binocular visual obstacle perception system for agricultural vehicles[J].Transactions of the Chinese Society of Agricultural Engineering,2021,37(9):55–63 doi: 10.11975/j.issn.1002-6819.2021.09.007
    [10] 张斌,苏学贵,段振雄,等.YOLOv2在煤岩智能识别与定位中的应用研究[J].采矿与岩层控制工程学报,2020,2(2):94–101.

    Zhang Bin,Su Xuegui,Duan Zhenxiong,et al.Application of YOLOv2 in intelligent recognition and location of coal and rock[J].Journal of Mining and Strata Control Engineering,2020,2(2):94–101
    [11] 陈伟华,南鹏飞,闫孝姮,等.基于深度学习的采煤机截割轨迹预测及模型优化[J].煤炭学报,2020,45(12):4209–4215.

    Chen Weihua,Nan Pengfei,Yan Xiaoheng,et al.Prediction and model optimization of shearer memory cutting trajectory based on deep learning[J].Journal of China Coal Society,2020,45(12):4209–4215
    [12] 岳晓新,贾君霞,陈喜东,等.改进YOLO V3的道路小目标检测[J].计算机工程与应用,2020,56(21):218–223. doi: 10.3778/j.issn.1002-8331.2005-0340

    Yue Xiaoxin,Jia Junxia,Chen Xidong,et al.Road small target detection algorithm based on improved YOLO V3[J].Computer Engineering and Applications,2020,56(21):218–223 doi: 10.3778/j.issn.1002-8331.2005-0340
    [13] Girshick R,Donahue J,Darrell T,et al.Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of the 2014 IEEE Conference on Computer Vision and Pattern Recognition.Columbus:IEEE,2014:580–587.
    [14] Girshick R.Fast R–CNN[C]//Proceedings of the 2015 IEEE International Conference on Computer Vision.Santiago:IEEE,2015:1440–1448.
    [15] He Kaiming,Gkioxari G,Dollár P,et al.Mask R–CNN[C]// Proceedings of the 2017 IEEE International Conference on Computer Vision.Venice:IEEE,2017:2980–2988.
    [16] Redmon J,Divvala S,Girshick R,et al.You only look once:Unified,real-time object detection[C]//Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition.Las Vegas:IEEE,2016:779–788.
    [17] Redmon J,Farhadi A.YOLO9000:Better,faster,stronger[C]// Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition.Honolulu:IEEE,2017:6517–6525.
    [18] Redmon J,Farhadi A.YOLOv3:An Incremental improvement[C]//IEEE Conference on Computer Vision and Pattern Recognition.Salt Lake City:IEEE,2018:1–6.
    [19] Bochkovskiy A,Wang C Y,Liao H Y M.YOLOv4:Optimal speed and accuracy of object detection[C]//IEEE Conference on Computer Vision and Pattern Recognition.Seattle:IEEE,2020:1–17.
    [20] Liu Wei,Anguelov D,Erhan D,et al.SSD:Single shot multibox detector[C]//European Conference on Computer Vision.Amsterdam:Springer,2016:21–37.
    [21] 许德刚,王露,李凡.深度学习的典型目标检测算法研究综述[J].计算机工程与应用,2021,57(8):10–25. doi: 10.3778/j.issn.1002-8331.2012-0449

    Xu Degang,Wang Lu,Li Fan.Review of typical object detection algorithms for deep learning[J].Computer Engineering and Applications,2021,57(8):10–25 doi: 10.3778/j.issn.1002-8331.2012-0449
    [22] Wang C Y,Mark Liao H Y,Wu Y H,et al.CSPNet:A new backbone that can enhance learning capability of CNN[C]//Proceedings of the 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops.Seattle:IEEE,2020:1571–1580.
    [23] Lin T Y,Dollár P,Girshick R,et al.Feature pyramid networks for object detection[C]//Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition.Honolulu:IEEE,2017:936–944.
    [24] He Kaiming,Zhang Xiangyu,Ren Shaoqing,et al.Spatial pyramid pooling in deep convolutional networks for visual recognition[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2015,37(9):1904–1916. doi: 10.1109/TPAMI.2015.2389824
    [25] 刘颖,刘红燕,范九伦,等.基于深度学习的小目标检测研究与应用综述[J].电子学报,2020,48(3):590–601. doi: 10.3969/j.issn.0372-2112.2020.03.024

    Liu Ying,Liu Hongyan,Fan Jiulun,et al.A survey of research and application of small object detection based on deep learning[J].Acta Electronica Sinica,2020,48(3):590–601 doi: 10.3969/j.issn.0372-2112.2020.03.024
图(9)  /  表(5)

本文结构

    /

    返回文章
    返回