APP下载

基于YOLOv4-tiny的溜筒卸料煤尘检测方法

2021-07-19李海滨张文明李雅倩

光电工程 2021年6期
关键词:粉尘精度模块

李海滨,孙 远,张文明,李雅倩

基于YOLOv4-tiny的溜筒卸料煤尘检测方法

李海滨1,2,孙 远1*,张文明2,李雅倩2

1燕山大学电气工程学院,河北 秦皇岛 066004;2燕山大学工业计算机控制工程河北省重点实验室,河北 秦皇岛 066004

煤炭港在使用装船机的溜筒卸载煤的过程中会产生扬尘,港口为了除尘,需要先对粉尘进行检测。为解决粉尘检测问题,本文提出一种基于深度学习(YOLOv4-tiny)的溜筒卸料煤粉尘的检测方法。利用改进的YOLOv4-tiny算法对溜筒卸料粉尘数据集进行训练和测试,由于检测算法无法获知粉尘浓度,本文将粉尘分为四类分别进行检测,最后统计四类粉尘的检测框总面积,通过对这些数据做加权和计算近似判断粉尘浓度大小。实验结果表明,四类粉尘的检测精度(AP)分别为93.98%、93.57%、80.03%和57.43%,平均检测精度(mAP)为81.27%,接近YOLOv4的83.38%,而检测速度(FPS)为25.1,高于YOLOv4的13.4。该算法较好地平衡了粉尘检测的速率和精度,可用于实时的粉尘检测以提高抑制溜筒卸料产生的煤粉尘的效率。

煤粉尘检测;YOLOv4-tiny;深度学习;目标检测

1 引 言

近年来,随着大众环保观念的提高以及环保政策的收紧,如何有效减少或者快速抑制生产过程中产生的粉尘不仅成为了煤炭港口必须面对的问题,而且是煤炭港口清洁生产的首要任务[1]。港口的装船机通过溜筒卸载煤料到货船是整个生产环节的最后一环,各大煤炭港口在前面的生产环节里采用了诸如防风抑尘网、干式除尘系统、堆场洒水及单机洒水、干雾除尘、筒仓储煤、翻车机底层洒水抑尘等多种抑尘措施[1],这些措施虽然有效地减少了煤炭洒落到船舱时产生的扬尘,但是由于前期的抑尘措施并没有和卸料环节形成控制闭环,并不能自动抑制卸料环节时有出现的扬尘,所以单独处理卸料粉尘仍然是整个环保作业的重要一环。目前国内煤炭港口抑制此类扬尘的主要措施是洒水,由于卸料粉尘只是偶有出现,如果一直开启洒水除尘装置,会导致洒水过多,这无疑会减少货船的实际装煤量,影响到经济效益,如果采用专人观察,手动控制除尘装置,则存在效率低的问题,不利于无人化港口的建设。所以开发一种自动实时检测卸料煤粉尘的方法,当检测到粉尘时发送预警信号,通知抑尘作业环节采取相应措施是必要的。

目前常见的粉尘检测仪主要基于光散射、静电感应和滤膜称重三种原理。光散射法(包括红外线和激光散射)是指光照射到粉尘颗粒上产生的散射光会与粉尘浓度成一定函数关系,通过检测散射光强度得到粉尘浓度;而静电感应法是指通过静电感应探头检测粉尘粒子摩擦产生的静电量大小检测粉尘浓度;滤膜称重法则通过采样一定体积的含尘空气,把粉尘过滤到滤膜上,然后称量得到粉尘浓度。其中基于光散射原理和静电感应原理可实现粉尘浓度的在线检测,但是由于运煤船不是固定的,想要实现自动检测,粉尘检测仪则只能安装到装船机上,这限制了粉尘检测仪的使用。同时基于光散射原理的检测仪存在无法进行面域检测且校准难的问题,而基于静电感应原理的检测仪在港口户外环境易受干扰。综合以上因素,煤炭港口至今仍依赖现场工作人员充当粉尘报警器来获知开启洒水除尘装置的时机。

近几年,随着深度学习技术的兴起,计算机视觉技术尤其是目标检测技术得到很大的进步[2]。国内外在和粉尘检测比较接近的烟雾检测和火警预测等方面的研究方兴未艾,例如Frizzi等[3]和Tao等[4]分别将深度学习算法用于烟或火灾的检测取得了比传统方法更好的效果;Zhang等[5]使用双通道卷积网络分别用于提取通用特征和特定的详细的特征,将烟雾检测率提升到99.33%。但基于深度学习的粉尘检测相关的研究和应用很少。目前基于CNN的目标检测算法分为两个类型:一种是以Fast RCNN[6]、Faster RCNN[7]系列为代表的基于检测框和分类器的两阶段算法,两阶段算法精确度更高,但是由于较深的网络结构造成了对计算资源更多的占用,检测速度较慢,难以用于有实时性要求的场合。另一种是以YOLO[8](You Only Look Once)系列为代表的基于回归的一阶段算法,一阶段算法运算速度更快,实用性更强。YOLO系列的算法作为实用中最流行的目标检测算法之一,经过YOLOv2[9]、YOLOv3[10]两次大的改进之后,2020年推出的YOLOv4[11]在保持较高检测速度的基础上能取得不错的检测精度,而YOLOv4-tiny是YOLOv4[11]的简化版,检测精度较低但拥有更高的检测速度。鉴于粉尘检测与烟雾检测类似,本文的溜筒卸料粉尘的检测也可通过基于深度学习的目标检测技术实现,一来深度学习算法相较传统的机器视觉技术在性能和鲁棒性方面均有很大的提升,可以胜任粉尘检测任务;二来溜筒作业监控摄像头安装方便,除了能完成粉尘检测的任务,也能方便工作人员监控现场,干预除尘装置的运行。

由于溜筒卸料煤尘检测对实时性的要求较高,在煤尘检测中使用精度和速度比较均衡的YOLOv4算法仍存在较大的滞后性。本文通过对速度更快的YOLOv4-tiny网络的进行改进,以得到与YOLOv4精度相当但检测速度更快的模型,实现对粉尘的实时检测。改进措施包括提出SERes模块加强检测算法网络特征通道之间的信息交互;提出XRes模块增大算法网络的空间维度;添加SPP[12]模块和PRN[13]模块增强算法的特征融合能力。由于检测算法无法直接获知粉尘浓度,本文将粉尘分为四类分别进行检测,最后统计四类粉尘的各自的检测框面积,通过加权和计算近似判断粉尘浓度大小。实验结果表明,改进后的网络模型很好地满足了卸料煤粉尘的检测需求,在速度和精度上取得较好的平衡,为煤炭港实现自动除尘提供了助力。

2 YOLOv4-tiny网络

2.1 YOLOv4-tiny网络结构

YOLOv4-tiny是YOLOv4作者在其开源程序中提供的YOLOv4的简化版本,包括YOLOv4-tiny-2l和YOLOv4-tiny-3l两个版本。不过作者只提供了这两个版本的配置文件,没有做任何正式的阐述。研究两者的配置文件可发现YOLOv4-tiny-2l和YOLOv4-tiny-3l主要在检测层有所不同——YOLOv4-tiny-2l提供13×13和26×26两种尺度的输出结果,而YOLOv4-tiny-3l提供19×19、38×38和76×76三种尺度的输出结果。由于煤粉尘没有固定的形态且大小不一,为了更好地检测粉尘,这里选择能更好地将低层的特征和高层的特征融合起来进行多尺度图像预测的YOLOv4-tiny-3l进行改进,下文的YOLOv4-tiny统一指代YOLOv4-tiny-3l。

如图1所示,YOLOv4-tiny网络分为骨干网络(Backbone)、颈(Neck)和检测头三部分。相比YOLOv4,在Backbone部分,算上最大池化层,YOLOv4-tiny也仅仅只有28层,图2为Backbone网络结构图。网络中使用了来自CSPNet[14]的CSP结构,但相比原结构有所简化;在Neck部分,YOLOv4-tiny只采用了特征金字塔[15](FPN)结构,没有添加SPP[12]结构和PAN[16]结构;不过在YOLO检测头部分,YOLOv4-tiny与YOLOv4基本相同,均采用YOLOv3检测头。

2.2 YOLOv4-tiny检测原理

YOLO是一种端对端的卷积神经网络,核心思想是将目标检测问题处理为回归问题。首先将输入图片的尺寸调整为固定大小,然后将其划分为×的网格单位(grid cell),每个grid cell预测个边界框(bounding box),并在输出层回归得到bounding box的位置大小、置信度,以及类别。在YOLOv4-tiny中,输入图片被调整为608×608,然后融合FPN思想,进行多尺度检测,输出三个检测层,这三个检测层将图片分别划分为19×19,38×38和76×76。然后每个网格预测3个边界框,每个边界框包含(Objec)五个元素。其中,和指相应单元格的偏移量,和为边界框以整张图片为基准归一化后的宽度和高度。Object指边界框置信度得分,反映了一个框内包含有检测目标的可能性以及检测框的准确程度。置信度的计算式为

, (1)

其中:Object为框内有检测目标的概率,即有检测目标,则Object为1,没有则为0;IoU为预测框和真实物体边界框的交并比(intersection over union,IoU)。当得到框的置信度之后,使用非极大值抑制(non-maximum suppression,NMS)算法,留下置信得分较高的预测框。接下来可计算每个预测框的类别置信度得分Class,其计算方法为

图1 YOLOv4-tiny网络结构图

图2 YOLOv4-tiny backbone结构图

为了更好地预测边界框,YOLOv4-tiny通过K-means聚类算法生成9个anchor box(锚框),作为检测时的建议框。另外YOLOv4-tiny的损失函数由边界框回归损失、置信度损失和分类损失三部分组成,其中边界框回归损失函数采用CIoU函数,后两者采用与YOLOv3相同的交叉熵函数。

3 改进方法

YOLOv4-tiny简单的网络模型不足以学习到足够多的粉尘特征,而且粉尘与一般的实体检测物不同,没有固定的形态和体积大小,增大了检测难度。同时由于不同工况下粉尘的分布不同,不同工况出现的机率也不同,导致不同场景下的粉尘在数据集中出现的概率不同,这带来了比较严重的数据不均衡。为了克服数据不均衡,减少粉尘检测中出现的误检和漏检,提高检测精度,本文在添加有mosaic[11]等数据增强技术的YOLOv4-tiny的基础上在其Backbone和Neck上增加自定义的SERes和XRes模块以及现有的SPP和PRN模块,分别从特征通道、网络空间维度和特征融合三个角度进行改进。

3.1 粉尘检测网络的整体结构

如图3所示,粉尘检测网络的整体结构是通过消融实验,在原YOLOv4-tiny网络的基础上不断改进得到的。在网络的Backbone部分,使用SERes模块取代YOLOv4-tiny中由Res残差组件和route层组成的CSP结构;使用步长为2的3×3卷积取代原结构中的第二个Max pool层,然后在其后面添加XRes模块;接着在Neck部分添加SPP模块;最后将PRN结构组合到FPN结构上。综合这些模块,粉尘检测网络在保证实时性的情况下实现了网络性能的明显提升。

在实现对装船机卸载煤料产生的煤粉尘进行实时检测的基础上,为了获取更多关于粉尘的信息,帮助除尘装置获知溜筒卸料粉尘的相对大小,本文中将溜筒卸料粉尘分成4种类别进行区分检测,故改进后的网络最后输出的通道数为27(计算公式为“网格预测边界框数×(类别数+每个边框包含的元素数)”,即3×(4+5)),并提供19×19、38×38和76×76三种尺度的输出结果。

图3 改进的YOLOv4-tiny算法结构图

3.2 Backbone部分

检测网络的Backbone部分负责从训练集中学习检测目标的特征,通常网络深度越深宽度越大,网络学习特征的能力越强,但同时也会增加计算量。为了均衡速度和精度,本文使用了下面两个组件。

3.2.1 XRes模块

Xception[17]是对Inception-v3[18-19]模块的原理进行进一步推进而改进出的卷积结构,它首先对1×1卷积结果的每个通道(channel)分别进行3×3卷积操作,然后将结果通过route层进行拼接。这样可以对通道相关性与空间相关性做最大程度的分离,从而在保持原网络深度的同时,减少网络的计算量。本文中将Xception基本模块添加残差边之后得到的网络结构称为XRes模块,并将其添加到YOLOv4-tiny的Backbone网络中,能在不大幅度增加算法计算量的情况下增加网络的空间维度,从而提高模型的特征学习能力。XRes模块结构如图4所示,图中Dwise指使用深度卷积对每个channel分别进行3×3卷积操作。

3.2.2 SERes模块

SERes模块是由SENet[20]论文中提出的轻量级SE模块嵌入到ResNet[21]论文提出的残差模块中形成的,在本文中用于取代YOLOv4-tiny中原有的三个CSP结构(见图1中的Res层和route层),它能增强网络特征通道之间的信息交互,当搭配本文提到的其它组件使用时可明显提高粉尘检测精度。结构如图5所示,其中第一个CBS层是普通的1×1卷积层用于调整网络的通道数;第二个CBS层是3×3的Dwise卷积层将网络通道相关性与空间相关性分离;接下来的全局平均池化(Avg pool)层将网络层空间大小降为1×1,即一个实数,这个实数具有全局感受野,完成Squeeze操作;接着第一个全连接(FC)层把网络层通道降到指定大小,第二个FC层再恢复网络层的通道数,得到和通道数相同的权重数,每个权重用于给对应的一个通道进行加权,完成Excitation操作。该操作使用两个FC层可以更好地拟合通道间复杂的相关性,同时减少参数计算量;然后通过scale channels层将得到的权值与第二个CBS卷积层进行逐通道乘法运算,恢复网络层的空间大小;最后经过CBL层后与最初输入进行route融合,得到最终的特征图。在SERes模块中第一个FC层搭配有Swish激活函数,且通道数是第二个FC层的通道数的1/16。整个网络中添加的三个残差组件中的第一个FC层的通道数分别为8、16和32。

图4 XRes模块

3.3 Neck部分

目标检测网络的Neck部分作为骨干网络和最后的输出层之间的连接处,负责将骨干网络学习到的特征进行融合,使提取网络特征得到更加充分的利用,为网络的输出做准备。为了对输出结果进行更好的预测,本文在FPN的基础上添加如下两种模块提升特征融合的效果。

3.3.1 空间金字塔池化模块(SPP)

在网络的Neck部分加入的SPP模块如图6所示。SPP模块的主要部分是三个平行的最大池化层,池化核尺寸大小分别为5×5、9×9、13×13,步长均为1。不同大小的池化层可以提取不同角度的特征,形成带有不同感受野的特征图,然后通过route层将前面获得的特征图进行通道维度上的拼接,进而提取到更多有用的多尺度信息。这样将较低层次的特征组合为较高层次的特征,通过融合,提高了语义信息,使得模型检测的准确率提高。

3.3.2 PRN模块

本文在FPN的基础上添加PRN模块,即将FPN的两个上采样层(upsample)分别与网络的第19层和38层通过route层进行拼接,接着连接一个3×3的卷积层,最后再与上采样层(upsample)进行直连(shortcut)。图7为PRN结构图,PRN将输入特征划分为两部分,一部分经过卷积,另一部分和上一部分卷积操作的结果进行特征融合从而得到包含较多语义信息的特征图。

图5 SERes模块

图6 SPP模块

图7 PRN模块

4 实验结果与分析

4.1 图片采集和数据集制作

本文从神华黄骅港安装在装船机上的摄像头监控系统中采集溜筒卸载煤料作业时产生的煤粉尘。图8为装船机上的溜筒,为了能得到最优的拍摄视角,监控摄像头安装在图中箭头指示的溜筒平台上,镜头垂直向下放置。针对港口复杂的工作环境,本文采用海康威视smart IPC H265 200万红外筒型网络摄像头。该摄像头最大可输出Full HD 1920×1080@30 fps实时图像,且支持透雾、电子防抖、背光补偿、自动电子快门等功能,采用防杂光玻璃,能排除杂光干扰保证画面效果。

由于粉尘检测算法只能检测有无粉尘,无法检测粉尘浓度,使对应的除尘操作难以精细化,限制了粉尘检测算法在除尘作业中发挥更大的作用。本文对现场采集的粉尘视频进行分析后,根据煤粉尘形态的不同,将粉尘分为四类。对这四类粉尘分开检测,分别统计四类粉尘检测框的总面积占图像面积的比值,然后根据事先分配的权重,对检测框的面积做加权求和计算,将计算出来的结果作为指代粉尘浓度的指标,为除尘装置量化除尘措施提供依据。

图8 溜筒

第一类为呈现亮白色的疑似粉尘,此类粉尘常被煤炭散发出的热气或海边雾气干扰。为降低误检率,本文将其与其它粉尘分开检测,当实际检测中发现此类粉尘的检测框数量大于指定数量(例如3个)或者这类粉尘检测框面积总和大于图片面积1/4时,发送警报由人工进行二次判断。未触发警报情况下此类粉尘分配20%的权重;

第二类为蓝色或灰黑色的粉尘,此类粉尘辨识度高,不易与热气或者大雾混淆,将其单独分为一类有助于提高粉尘检测的总体准确率,此类粉尘分配20%的权重;

第三类为除上述被挑选出来的两类粉尘之外所有相对聚集区域超过图片面积1/16的粉尘。此类粉尘浓度较大时会呈弥漫状,遍布整个摄像头视野,是实际作业中最主要的检测目标,分配50%的权重;

第四类为煤料从溜筒下落时扬起的小区域粉尘。这类粉尘浓度低,往往达不到启动除尘装置的阈值,在大部分情况下会被直接忽略。但为了使粉尘检测更加精细化,帮助现场工作人员更好地把握粉尘浓度的变化趋势,所以将其作为一类进行专门检测,分配10%的权重。

图9为四类粉尘的示意图,由于粉尘形态各异,边界不清晰,而粉尘检测不需要精准定位,所以标注时只需框住粉尘的核心区域;面对弥散开来的粉尘,只标注粉尘相对聚集的区域;且标注框的面积不超过图片的1/3,长宽比不大于3,这样便于K-means聚类算法生成合适的anchor boxes,提高检出率。标注好的图片经过专人统一修改规范之后,采用VOC2007的格式制作用于训练改进算法并验证改进效果的数据集,其中训练集6220张图片,验证集1556张图片。图10为测试数据集部分图片,包括了实际作业中最常出现了几类粉尘分布情况。

图9 粉尘示意图

图10 数据集部分图片

4.2 实验结果

本实验使用Intel(R) Core(TM) i7-5930K CPU @ 3.50 GHz处理器,在Ubuntu16.04操作系统下进行,为了提高运算速度,缩短训练时长,使用NVIDIA GeForce RTX 1080显卡一张,在CUDA10.1.243、CUDNN7.6.4运算平台上进行计算。在本实验中使用的深度学习框架为Darknet,结合OpenCV库完成程序的编写及应用。

4.2.1 网络的训练

首先从网上下载YOLOv4-tiny作者提供的预训练权重,然后基于改进后的网络对粉尘数据集进行不断调参和迭代训练,最后得到粉尘检测效果相对最佳的权重参数。实验中梯度优化采用基于动量(momentum)的随机梯度下降(SGD)算法,部分训练参数的设置如表1所示。

迭代训练时,图像输入尺寸设置为608×608,每次迭代的批量大小为64,subdivisions设为8,经过30000次左右迭代后网络收敛。当迭代次数小于burn_in(设置为1000)时,学习率从0开始随着迭代次数的增加逐渐变大,直到迭代次数达到burn_in完成学习率预热(warmup)后,使用初始学习率0.00261。学习率在迭代次数为总迭代次数的80%和90%时采用step调整策略进行调整,比例为0.1。另外饱和度、曝光量、色调和数据增强参数(mosaic)可以用来生成更多的训练样本,其中mosaic方法是YOLOv4中提出的一种数据增强方式,这种方法将4张图片拼接成一张图片,丰富了检测场景,可以有效解决数据不均衡的问题[11]。而权重衰退(decay)和参数抖动因子(jitter)可以抑制过拟合,前者作为正则项,通过使权重值变小实现效果,后者通过随机调整输入图片的宽高比的范围增加噪声来实现抑制过拟合的效果。

表1 网络参数表

在训练过程中,保存了Darknet框架提供的训练日志且每1000次迭代保存一次训练权重。根据训练日志和训练权重可绘制平均损失(loss)和平均精度(mAP)随着迭代次数的增加其变化曲线。

4.2.2 消融实验

为了测试SERes模块、XRes模块、SPP模块、特征融合PRN模块以及YOLOv4算法中使用的SAM空间注意力模块[11]等能在多大程度上影响到粉尘检测的效果,本文设置几组消融实验。消融实验均在相同的粉尘训练集上训练,相同的测试集上测试。激活函数、非极大值抑制(NMS)和回归框损失函数统一采用leaky激活函数、greedynms和CIOU损失函数,并选择mAP值和每秒帧率(FPS)值作为测试指标。

计算mAP之前需要介绍几个常见的模型评价术语,且假设分类目标只有两类——正例(positive)和负例(negative):

TP(True positives,简写为TP):按照Pascal VOC2007的计算标准,当粉尘的预测框与真实框的交并比(IOU)大于等于50%时,视为匹配正确,检测出来的粉尘是正确的;

FP(False positives,简写为FP):如果IOU值小于0.5,或者检测到同一个真实框(GT)的多余检测框(意思是同一区域检测出了多个框,置信度最高的检测框为TP,剩下的为FP,即使剩下的检测框IOU大于0.5),视为匹配错误;

FN(False negatives,简写为FN):指没有检测到的真实框的数量;

TN(True negatives,简写为TN):指被正确检测为负例的数量;

精确率(Precision/re)

召回率(Recall/)

平均精确度(Average precision,AP)。

精确率和召回率在实际中是相互制约的,单独比较会有失平衡。AP值作为综合评价指数,定义为P-R曲线的积分面积。P-R曲线即以precision和recall作为纵、横轴坐标的二维曲线。

mAP(Mean average precision)即平均AP值,是对多个验证集个体求平均AP值,作为目标检测(object dection)中衡量检测精度的指标。除了检测准确度,目标检测算法的另外一个重要性能指标是速度,评估速度的常用指标是每秒帧率(frame per second,FPS),即每秒内可以处理的图片数量。

消融实验结果见表2,综合表2的前六行可以发现各模块对算法模型的mAP和FPS两个指标均有不同程度的影响,其中SPP模块和特征融合PRN模块对算法精度mAP有较明显的提升,SERes可小幅提高FPS。当模块进行组合时,能从表中倒数第二行发现当集合SPP、PRN、SERes和XRes四种模块时,模型精度达到81.27,虽然其FPS值明显小于改进之前的模型,但仍然有25.1,满足粉尘实时检测的要求。

为了进一步验证本文改进后的网络检测性能的好坏,以mAP以及FPS(每秒识别帧数)作为检测效果评价指标,进行了如表3所示的粉尘检测性能对比实验。其中YOLOv4-tiny指的是原版模型,未添加消融实验中提及的任何模块,YOLOv4-tiny-spp模型在YOLOv4-tiny模型基础上添加SPP模块,两个模型的参数与本文改进的YOLOv4-tiny-new模型完全一致,这三者统一采用Darknet深度学习框架,训练批次统一为30000。而SSD模型选择是PadlePadle框架,训练批次为60000。Faster RCNN模型选择的是Pytorch深度学习框架,训练批次为30。

从实验结果可以看出YOLOv4模型的mAP值最高,达到83.27%。本文基于YOLOv4-tiny改进的网络模型YOLOv4-tiny-new的mAP值为81.27%,虽然检测精度低于YOLOv4,但检测速度为25.1,高于YOLOv4的13.4,很好地兼顾了粉尘检测的精度和速度,可以方便地实现溜筒卸料粉尘的实时检测。SSD的FPS值最高,但检测精度明显低于本文改进的算法。值得注意的是,Faster RCNN模型在实验中表现欠佳,可能是因为Faster RCNN模型不擅长处理没有清晰的边界,且形态大小不一的溜筒卸料粉尘。图11为各模型粉尘检测精度mAP值随迭代次数的折线图,其中SSD折线对应的横坐标名称为“iteration´2000”,Faster RCNN对应的横坐标名称为“iteration”其它的为“iteration´1000”。

4.3 实验分析

从表2消融实验中可以发现,在原YOLOv4-tiny的基础上继续添加SERes模块、XRes模块、SPP模块和PRN模块,虽然不能在每一类粉尘检测中得到最高的AP值,但是可以在保证实时性的前提下得到最高的平均精度(mAP)。其中由于第一类和第二类粉尘是从粉尘数据集中专门挑出的特殊情况,它们特征明显,检测难度较低,故其精度达到93.98%和93.57%;第三类是溜筒卸料粉尘中最常见的类型,80.08%的检测精度可以很好地胜任绝大部分场景下此类粉尘的预警任务;第四类粉尘由于是微小粉尘,小目标检测一直是目标检测算法的难点,不过此类粉尘对粉尘最终的浓度判定影响不大,本文将其检测精度提高到57.43%。值得注意的是,SAM空间注意力模块在实验中表现不佳,对提高粉尘检测性能没有明显的效果。XRes模块单独使用时,对检测效果影响不大,但当其与其它模块搭配时,对粉尘检测精度有一定的增益。图12是利用Darknet网络框架训练本文改进网络训练过程中生成的平均损失变化曲线,可以看出,网络损失在迭代30000次时收敛。

表2 消融实验

表3 对比实验

为了直观体现改进后的算法的检测效果相比未改进前的区别,选取了一些检测图片进行对比分析。从图13中可以发现,原版的YOLOv4-tiny算法存在较明显的漏检现象,SSD算法容易将同一区域同时识别为多种粉尘,而Faster RCNN算法存在将非粉尘区域检测误认为粉尘的现象。YOLOv4算法的检测结果虽然较本文改进的算法更加全面,但本文算法也很好地对有粉尘的区域进行了准确的识别,可以胜任生产作业中的煤粉尘预警工作,而且检测速度快于YOLOv4,更适合用于有实时性要求的场合。

图11 粉尘检测mAP值折线图

图12 损失曲线图

图13 粉尘检测效果对比图

5 结束语

本文首次提出了一种基于深度学习的溜筒卸料粉尘检测方法。实验结果证明,SPP模块、特征融合PRN模块在粉尘检测中能发挥作用。除此之外,本文参考SENet网络和Xception网络提出的SERes模块和XRes模块也能在不同程度上提高网络模型的检测性能。这些模块有效地解决了YOLOv4-tiny网络模型检测速度快但准确率低的问题,在保证实时性的前提下,有效地提高了网络对煤粉尘的识别能力。

改进后的YOLOv4-tiny网络模型相比原网络模型,mAP值提高了3个百分点,达到81.27%,其中速度(FPS)为25.1,很好地满足了工业现场对粉尘检测的实时性与准确性的要求,解决了在煤炭港口溜筒卸料粉尘识别预警过程中,需要专人长期检查作业现场带来的工作效率低下的问题,很好地推动了煤炭港口的无人化建设。

由于基于深度学习的粉尘检测算法只能检测有无粉尘,无法有效判断粉尘浓度,本文对粉尘进行了细分,将疑似干扰物和特征最明显的粉尘作专门检测,同时为了加强算法对小目标粉尘的检测能力,也将小目标粉尘单列出来。最后综合四类粉尘的各自检测框的总面积作加权和计算,将计算结果作为粉尘浓度的指代,为港口除尘装置量化除尘措施提供依据。

本文研究的溜筒卸料粉尘检测算法还存在许多不足:一方面粉尘的检测精度需要进一步提升,本文第三类粉尘其实存在多种分布情况,这是其精度相比前两类低的主要原因,可以考虑从提高算法性能和进一步细化粉尘分类这两个角度提高检测效果。而针对第四类小目标粉尘,需要进一步优化算法。另一方面,根据粉尘检测框的面积大小进行加权计算,根据计算结果判断粉尘浓度的方法存在很大的不确定性。这种方法主要依据粉尘扩散的面积,不同类型粉尘的加权系数只能依据经验选择,往往不够可靠。下一步需要研究找到与粉尘浓度相关性更高的物理量用于判断粉尘浓度。在未来的研究工作中,我们将进一步结合港口现场的作业环境,对多种复杂场景进行研究,将深度学习与粉尘检测更好地结合。

[1] Wang D C. Study about dust controlling techniques in Huanghua port[J]., 2017, 15(5): 89–92.

汪大春. 黄骅港粉尘治理技术研究[J]. 神华科技, 2017, 15(5): 89‒92.

[2] Yao Z Y. Research on the application of object detection technology based on deep learning algorithm[D]. Beijing: Beijing University of Posts and Telecommunications, 2019.

姚筑宇. 基于深度学习的目标检测研究与应用[D]. 北京: 北京邮电大学, 2019.

[3] Frizzi S, Kaabi R, Bouchouicha M,. Convolutional neural network for video fire and smoke detection[C]//, Florence, 2016: 877–882.

[4] Tao C Y, Zhang J, Wang P. Smoke detection based on deep convolutional neural networks[C]//, Wuhan, 2016: 150–153.

[5] Zhang F, Qin W, Liu Y B,. A Dual-Channel convolution neural network for image smoke detection[J]., 2020, 79(45): 34587–34603.

[6] Girshick R. Fast R-CNN[C]//, Santiago, 2015: 1440–1448.

[7] Ren S Q, He K M, Girshick R,. Faster R-CNN: towards real-time object detection with region proposal networks[J]., 2017, 39(6): 1137–1149.

[8] Redmon J, Divvala S, Girshick R,. You only look once: unified, real-time object detection[C]//, Las Vegas, 2016: 779–788.

[9] Redmon J, Farhadi A. YOLO9000: Better, faster, stronger[C]//, Honolulu, 2017: 6517–6525.

[10] Redmon J, Farhadi A. YOLOv3: An Incremental improvement[Z]. arXiv: 1804.02767, 2018.

[11] Bochkovskiy A, Wang C Y, Liao H Y M. YOLOv4: optimal speed and accuracy of object detection[Z]. arXiv: 2004.10934, 2020.

[12] He K M, Zhang X Y, Ren S Q,. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]., 2015, 37(9): 1904‒1916.

[13] Wang C Y, Liao H Y M, Chen P Y,. Enriching variety of layer-wise learning information by gradient combination[C]//, Seoul, 2019: 2477–2484.

[14] Wang C Y, Liao H Y M, Wu Y H,. CSPNet: a new backbone that can enhance learning capability of CNN[C]//, Seattle, 2020: 1571–1580.

[15] Lin T Y, Dollár P, Girshick R,. Feature pyramid networks for object detection[C]//, Honolulu, 2017: 936–944.

[16] Liu S, Qi L, Qin H F,. Path aggregation network for instance segmentation[C]//, Salt Lake City, 2018: 8759‒8768.

[17] Chollet F. Xception: deep learning with depthwise separable convolutions[C]//, Honolulu, 2017: 1800‒1807.

[18] Szegedy C, Liu W, Jia Y Q,. Going deeper with convolutions[C]//, Boston, 2015: 1‒9.

[19] Szegedy C, Vanhoucke V, Ioffe S,. Rethinking the inception architecture for computer vision[C]//, Las Vegas, 2016: 2818‒2826.

[20] Hu J, Shen L, Sun G. Squeeze-and-Excitation networks[C]//, Salt Lake City, 2018: 7132‒7141.

[21] He K M, Zhang X Y, Ren S Q,. Deep residual learning for image recognition[C]//, Las Vegas, 2016: 770‒778.

The detection method for coal dust caused by chute discharge based on YOLOv4-tiny

Li Haibin1,2, Sun Yuan1*, Zhang Wenming2, Li Yaqian2

1School of Electrical Engineering, Yanshan University, Qinhuangdao, Hebei 066004, China;2Key Laboratory of Industrial Computer Control Engineering of Hebei Province, Yanshan University, Qinhuangdao, Hebei 066004, China

Dust detection

Overview:In recent years, with the improvement of the public's environmental protection concept and the tightening of environmental protection policies, how to effectively reduce or quickly suppress the dust generated in the production process has become a problem that coal ports must face. It is the last link of the whole production link that the ship loader unloads the coal to the cargo ship through the chute. In the front production link of the coal ports, various dust suppression measures are adopted, such as wind proof and dust suppression nets, dry dust removal systems, and so on. Although these measures effectively reduce the dust generation when the coal spills into the cabin, the dust suppression measures in the early stage do not form a closed-loop control with the unloading link, and cannot automatically suppress the dust from the unloading link. Thus, the separate treatment of the unloading dust is still an important part of the whole environmental protection operation. At present, the main measure to suppress this kind of dust in domestic coal ports is watering. As the discharge dust only occurs occasionally, if the sprinkler dust removal device is always turned on, it will lead to excessive watering, which will undoubtedly reduce the actual coal loading of cargo ships and affect the economic benefits. If the dust removal device is manually controlled by workers on site, it is not conducive to the construction of unmanned ports. Therefore, it is necessary to develop an automatic real-time detection method of coal dust discharge. When the dust is detected, an early warning signal is sent to inform the dust suppression operation to take corresponding measures. The improved deep convolution neural network (YOLOv4-tiny) is used to train and test on the data set of dust, and then to learn its internal feature representation. The improvement measures include: a SERes module is proposed to strengthen the information interaction between the detection algorithm network channels; a XRes module is proposed to increase the depth and width of the algorithm network; a SPP module and a PRN module are added to enhance the feature fusion ability of the algorithm. Because the detection algorithm cannot get the dust concentration, this paper divides the dust into four categories for detection, and finally counts the total area of the detection frame of the four categories of dust. After that, the dust concentration is approximately judged by weighting and calculating these data. The experimental results show that the detection accuracy (AP) of four types of dust is 93.98%, 93.57%, 80.03% and 57.43%, the average detection accuracy (mAP) is 81.27% (which is close to 83.38% of YOLOv4), and the detection speed (FPS) is 25.1 (which is higher than 13.4 of YOLOv4). The algorithm can balance the speed and accuracy of dust detection, and can be used for real-time dust detection to improve the efficiency of suppressing coal dust generated by chute discharge.

Li H B, Sun Y, Zhang W M,The detection method for coal dust caused by chute discharge based on YOLOv4-tiny[J]., 2021, 48(6): 210049; DOI:10.12086/oee.2021.210049

The detection method for coal dust caused by chute discharge based on YOLOv4-tiny

Li Haibin1,2, Sun Yuan1*, Zhang Wenming2, Li Yaqian2

1School of Electrical Engineering, Yanshan University, Qinhuangdao, Hebei 066004, China;2Key Laboratory of Industrial Computer Control Engineering of Hebei Province, Yanshan University, Qinhuangdao, Hebei 066004, China

The coal port will produce dust in the process of unloading coal by the chute of the ship loader. In order to solve the problem of dust detection, this paper proposes a method of coal dust detection based on deep learning (YOLOv4-tiny). The improved YOLOv4-tiny network is used to train and test the dust data set of chute discharge. Because the detection algorithm cannot get the dust concentration, this paper divides the dust into four categories for detection, and finally counts the area of detection frames of the four categories of dust. After that, the dust concentration is approximately judged through the weighted sum calculation of these data. The experimental results show that the detection accuracy (AP) of four types of dust is 93.98%, 93.57%, 80.03% and 57.43%, the average detection accuracy (mAP) is 81.27% (which is close to 83.38% of YOLOv4), and the detection speed (FPS) is 25.1 (which is higher than 13.4 of YOLOv4). The algorithm can balance the speed and accuracy of dust detection, and can be used for real-time dust detection to improve the efficiency of suppressing coal dust generated by chute discharge.

coal dust detection; YOLOv4-tiny; deep learning; object detection

李海滨,孙远,张文明,等. 基于YOLOv4-tiny的溜筒卸料煤尘检测方法[J]. 光电工程,2021,48(6): 210049

Li H B, Sun Y, Zhang W M,The detection method for coal dust caused by chute discharge based on YOLOv4-tiny[J]., 2021, 48(6): 210049

TP391.41

A

10.12086/oee.2021.210049

2021-02-09;

2021-05-15

河北省自然科学基金资助项目(F2019203195)

李海滨(1978-),男,博士,教授,主要从事基于深度学习的图像处理算法(目标检测、图像分割、目标跟踪、图像增强、三维重建等)及其在水下环境的应用。E-mail:hbli@ysu.edu.cn

孙远(1996-),男,硕士研究生,主要从事计算机视觉、目标检测方面的研究。E-mail:2786765531@qq.com

Natural Science Foundation of Hebei Province (F2019203195)

* E-mail: 2786765531@qq.com

猜你喜欢

粉尘精度模块
28通道收发处理模块设计
“选修3—3”模块的复习备考
高压粉尘防爆电机过厚粉尘层的形成与分析
粉尘大战
基于DSPIC33F微处理器的采集精度的提高
光散射法粉尘仪在超低排放的应用
粉尘剂防治蔬菜病虫害
GPS/GLONASS/BDS组合PPP精度分析
改进的Goldschmidt双精度浮点除法器
巧用磨耗提高机械加工精度