带式输送机上散状物料堆积视频实时检测

2022-11-09 04:46唐俊李敬兆石晴刘阳宋世现任成成
工矿自动化 2022年10期
关键词:边缘卷积损失

唐俊,李敬兆,石晴,刘阳,宋世现,任成成

(1.安徽理工大学 电气与信息工程学院,安徽 淮南 232001;2.淮北合众机械设备有限公司,安徽 淮北 235000)

0 引言

带式输送机是散状物料智能运输装载过程中的主要设备,在运输装载过程中,散状物料的堆积是造成带式输送机故障的主要原因。散装物料不断堆积,增加了输送带负荷,易造成输送带跑偏、撕裂,落料与输送带之间的摩擦易导致输送带划伤,严重时会引发输送带火灾等事故。因此,实时、精准检测带式输送机上散状物料堆积尤为重要[1]。

目前,常用的散装物料堆积检测方法有接触式检测和非接触式检测2 种。接触式散状物料堆积检测方法主要是利用红外对射传感器、三轴加速度计等实现散状物料堆积检测。该类检测方法存在以下缺点:①煤矿井下湿度大,传感器易短路,导致误触发散状物料堆积报警。② 传感器安装位置靠近输送带,容易产生机械摩擦,造成传感器损坏、引起火花等。以机器视觉为主的非接触式散状物料堆积检测方法克服了接触式检测方法的缺点。游磊等[2]提出了一种采用红外结构光技术快速重建煤流曲面实现堆煤检测的方法,但该方法成本高,实际应用规模小,在因粉尘造成图像模糊的场景下检测效果不理想。姜文涛等[3]提出将曲量场空间方法应用到煤矿输送带堆煤识别中,该方法在强噪声、图像边缘模糊等条件下对堆煤具有较好的识别效果,但其仅能对带式输送机末端落煤处进行堆煤检测。张涛等[4]通过激光雷达采集堆煤边缘并与正常堆煤边缘数据对比来触发堆煤报警,但该方法检测速度慢,无法实现实时检测。王瀚哲[5]通过对视频信号进行二值化处理并计算图像中黑色区域面积来进行堆煤检测,该方法检测精度较低,易导致误判、漏判现象。彭利泽[6]基于YOLOv4 算法实现堆煤检测,该方法虽然能够达到较高的平均精度均值,但是模型内存需求大,难以部署在嵌入式设备上实现堆煤检测。

针对非接触式散状物料堆积检测方法存在检测速度慢、在图像模糊场景下检测精度低、深度学习模型内存需求大等问题,本文提出了一种基于轻量化 Mask-RCNN(Mask Region-based Convolutional Neural Network,掩码-区域卷积神经网络)[7-8]的带式输送机上散状物料堆积视频实时检测方法。通过设计轻量化Mask-RCNN 减少模型内存需求,通过图像去雾预处理来提升因粉尘造成图像模糊场景下的检测效果,添加边缘损失函数来提高模型对边缘信息的敏感度。

1 散状物料堆积检测原理

散状物料堆积检测模型架构如图1 所示。具体步骤:①原始图像经过暗通道先验算法[9]去雾预处理后,输入到采用MobileNetV2+特征金字塔网络(Feature Pyramid Networks,FPN)轻量化的主干网络(Backbone)中进行特征提取,生成特征图。② 区域候选网络(Region Proposal Network,RPN)通过滑动窗口扫描特征图生成候选区域。③RoIAlign 层采用双线性插值算法改进RoIPooling 中的量化操作来处理浮点数,统一定义兴趣区域,固定特征图大小。④ 全卷积网络层(Fully Convolution Network,FCN)生成掩码,为了提升分割掩码精度,在掩码分支中加入边缘损失函数Ledge,融合目标分类、边界框回归、语义信息得到实例分割图像。⑤ 计算散状物料堆积掩码内的像素值,当超过预设阈值时判断为散状物料堆积。

图1 散状物料堆积检测模型架构Fig.1 Structure of detection model for bulk material accumulation

2 图像去雾预处理

在煤炭、砂、水泥等散状物料的运输装载过程中,空气中的粉尘会引起图像模糊,从而影响网络的推理结果,本文采用暗通道先验算法对采集到的图像进行去雾预处理[10]。其流程如下:

(1)将雾霭形成模型定义为

式中:I(x)为实际拍摄到的雾霭图像,x为图像中像素点的位置;J(x)为 去雾图像;t(x)为透射率;A为大气光值。

(2)去雾操作:通过I(x) 得到J(x),在不添加任何限制的条件下将会得到无穷多个解,假定每个窗口内透射率t为常数,将式(1)进行变形得

式中:c为RGB 图像3 个颜色通道的任意一个通道,c∈{R,G,B};Ic(x)为I(x)的 任意一个颜色通道;Jc(x)为J(x)的 任意一个颜色通道;Ac为A的任意一个颜色通道。

(3)对式(2)取2 次最小值运算得

式中:Ω(x)为以像素x为中心的一个窗口;y为图像中 像素点位置;Ic(y) 为I(y)(I(y)为像 素点为y的雾霭图像)的任意一个颜色通道;为图像局部区域Ω(x)内的透射率。

(4)暗通道先验理论指出暗通道Jdark→0,Jc(x)是待求的无雾图像,所以其暗通道符合先验理论。

式中Jc(y) 为J(y)(J(y)为像素点为y的去雾图像)的任意一个颜色通道。(x)

(5)利用暗通道计算出透射率 。

(6)借助暗通道图,从有雾图像中估算A:首先选取暗通道图像亮度为前0.1%的像素,然后对应原始图像位置,寻找具有最高亮度点的值作为大气光值A。

(7)代回式(1)去雾。

式中t0为透射率阈值,t0=0.1。

当t0很小时,会导致J的值偏大,引起图像局部过曝,因此通常设置一个较小的阈值t0=0.1来限制。

暗通道先验去雾算法解决了由于粉尘导致的图像细节模糊、对比度低等问题,达到了图像增强的效果。经过图像去雾预处理,可提高图像的边缘特征,使模型的推理结果更为精准。

3 改进Mask-RCNN 模型

3.1 主干特征提取网络轻量化

传统的Mask-RCNN 的主干网络采用ResNet 网络进行特征提取[11],通过训练得到的模型内存需求大,无法满足在嵌入式平台上对散状物料堆积进行实时检测的需求,因此,本文采用MobileNetV2+FPN作为主干网络进行特征提取,实现轻量化Mask-RCNN,其网络结构如图2 所示。

图2 轻量化Mask-RCNN 网络结构Fig.2 Lightweight Mask-RCNN network structure

MobileNetV2 网络的优点是通过设计倒置残差结构和线性瓶颈模块使模型具有更高的准确率和更小内存需求[12]。在ResNet 的残差结构中,先使用1×1 卷积实现降维,再通过3×3 卷积提取特征,最后使用1×1 卷积实现升维[13]。而在MobileNetV2 的倒置残差结构中,先使用1×1 卷积实现升维,再通过3×3 逐通道卷积提取特征,最后使用1×1 卷积实现降维。当激活值非常大时,Float16 的低精度无法精确描述大范围的数值,从而造成精度损失,因此,将倒置残差结构中的1×1 升维卷积和3×3 逐通道卷积中的激活函数选择为ReLU6,即将ReLU 函数的输出限制为6,使其在Float16 的低精度嵌入式终端上也可以具有很好的数值分辨率。线性瓶颈结构是指将高维空间投影到低维空间,缩减通道数,如果输出较高的维度,则信息损失较小;如果输出较低的维度,则信息损失较大,所以,在变换过程中,需要将低维信息投影到高维空间,再经ReLU 激活函数重新投影回低维空间。在MobileNetV1 中逐通道卷积部分,由于ReLU 激活函数引起卷积核内数值大部分为零,从而导致卷积核失效,因此在输出维度较低时使用ReLU 激活函数会造成较大的信息损失,从而在投影卷积层选择线性激活函数[14]。

FPN 主要解决了目标检测在处理多尺度变化问题时存在的不足[15]。低层的特征语义信息匮乏,但是具有精准目标位置;高层的特征语义信息丰富,但是目标位置模糊。将网络的连接方式进行简单改动,保持原有模型计算量的同时,目标检测的精度得到了大幅提升,因此在自底向上的前向过程中,将特征图大小相同的层定义为一个Stage,输出每个Stage 最后一层所提取的特征,构造特征金字塔结构。为了利用底层定位细节信息,融合上采样的结果和自底向上生成尺寸相同的特征图实现自顶向下的上采样过程,再通过Conv3×3 对每个融合结果进行卷积,生成与自底向上的卷积结果一一对应的特征图,从而消除了上采样过程中产生的混叠效应。

3.2 边缘损失函数构造

在煤矿井下等一些干扰因素较多的工作场景中,图像对比度很低,对边缘的提取会产生较大的扰动。为了进一步提高分割掩码的精度,更精确地找到分割物体的边缘,本文提出在传统Mask-RCNN 的掩码分支中添加边缘损失的方法,使得模型在复杂环境下依旧可以找到散状物料堆积区域。首先构建目标掩码,将标注的图像转换为散状物料堆积的二值分割图;然后将掩码分支输出的预测掩码和目标掩码作为输入,分别与Scharr 算子进行卷积操作,Scharr 算子相较于Sobel 算子的运算准确度更高,效果更好,弥补了Sobel 算子对图像中较弱的边缘提取效果较差的缺点[16]。对卷积后的结果进行均方根误差计算得到边缘损失Ledge。最后得到改进后的损失函数L[17]。

Scharr 算子的卷积核为

式中:G1为 横轴方向上的滤波系数;G2为纵轴方向上的滤波系数。

边缘损失函数Ledge为

式中:u为标注的目标边缘;为预测的目标边缘。

改进后的损失函数L 为ˆu式中:Lcls为分类损失函数;Lbox为定位损失函数;Lmask为分割损失函数,表示平均二值交叉熵损失;pi为以候选区域i为目标的概率;为样本的正负,当样本为正时,=1,当样本为负时,=0;vi为正样本Anchor 到预测区域的4 个平移缩放参数;v*i为正样本Anchor 到真实样本的4 个平移缩放参数;{a,b,w,h}为Anchor 的中心坐标和宽、高;r为任意变量;zns为分辨率m×m区域内像素(n,s) 的标签;为zns相同位置上属于第k类的预测值。

4 实验结果与分析

散状物料堆积检测实验平台环境:操作系统为Windows 11,CPU 为Inter i7-11700F,GPU 为NVIDIA RTX 3060Ti,轻量化Mask-RCNN 使用Pytorch 进行模型搭建,初始学习率设置为0.001,Momentum 参数设置为0.09,权重衰减参数设置为10-4。

4.1 数据集

本文构建了带式输送机上散状物料堆积实例分割数据集。该数据集由1 095 张图像组成,设置煤、砂、堆煤、堆砂、带式输送机的标签分别为coal,sand,coal pile,sand pile,belt conveyor,再按照COCO2017 数据集格式,通过LabelImg 软件对该数据集中的图像进行标注。随机选取876 张图像作为数据集,219 张图像作为测试集。

4.2 评价指标

实例分割算法性能的评估指标有[18]精确率P、召回率R、平均精度PA、平均精度均值PmA。

式中:TP为模型预测和实际均为正样本数;FP为被模型预测为正类的负样本数;FN为被模型预测为负类的正样本数;Rg为 目标类别为g的召回率;Pg为目标类别为g的精确率。

4.3 实验结果分析

为了检验轻量化Mask-RCNN 对散状物料实例分割的效果,使用主干网络ResNet101 和MobileNetV2进行特征提取。

暗通道先验算法去雾预处理前后的对比如图3所示,可以看出经过暗通道先验算法预处理有效解决了粉尘引起图像的雾化问题,暗通道先验算法去雾预处理前后平均精度均值对比见表1。

图3 暗通道先验算法去雾预处理前后的图像对比Fig.3 Comparison of images before and after defogging preprocessing by the dark channel prior algorithm

表1 暗通道先验算法去雾预处理前后图像的 PmA对比Table 1 Comparison of PmA values of images before and after defogging preprocessing by dark channel prior algorithm %

从表1 可看出,在煤矿井下复杂环境中,经过暗通道先验算法对图像去雾预处理后,主干网络使用ResNet101 和MobileNetV2 的PmA均大幅提升。

对219 张图像使用不同主干网络进行实例分割,结果见表2,其中AP50表示预测框与真实框的交并比(Intersection of Union,IoU)为0.50 的平均精度,AP75 表示IoU 为0.75 时的平均精度。以ResNet101为主干网络所提取的特征,其平均精度PA在不同的IoU 下几乎持平于MobileNetV2 的结果。而以ResNet101 为主干网络的平均检测时间为2.48 s,模型内存为276 MB,以MobileNetV2 为主干网络的平均检测时间为0.56 s,模型内存为54 MB,由此可以看出轻量化Mask-RCNN 训练得到的模型更加灵活,检测效率更高,便于移植在嵌入式平台上。

表2 不同主干网络上改进前后实例分割结果对比Table 2 Comparison of instance segmentation results before and after improvement on different Backbones

通过本文改进的损失函数曲线判断当前迭代轮次内的模型训练状态,如图4 所示,网络训练到250 次时,各损失函数曲线的波动较小,说明网络达到较好的稳定性。Sobel 算子与Scharr 算子对堆煤边缘提取对比如图5 所示,其中Scharr 算子对边缘信息的敏感度更强。

图4 损失函数曲线Fig.4 Loss function curves

图5 Sobel 算子与Scharr 算子的堆煤边缘提取结果Fig.5 Edge extraction results of coal pile of Sobel operator and Scharr operator

从本文构建的散状物料实例分割测试集中随机选取2 张原始图像,边缘损失函数添加前后散装物料堆积检测结果如图6 所示,采用不同主干网络进行特征提取后的散状物料堆积检测对比如图7所示。

图6 是否添加边缘损失函数散装物料堆积检测对比Fig.6 Comparison of bulk material accumulation detection whether to add edge loss function

图7 不同主干网络散装物料堆积检测对比Fig.7 Comparison of bulk material accumulation detection in different backbone networks

从图6 可看出,未添加边缘损失函数的散状物料堆积检测结果中误将带式输送机托辊分割为散状物料堆积,存在误检现象。将图像输入到添加边缘损失函数训练得到的模型中,仅分割出带式输送机上的煤,符合真实情况。因此,添加边缘损失函数能更为精准地分割带式输送机上散状物料堆积。

从图7 可看出,在使用不同主干网络进行特征提取时均可以检测到散装物料堆积,而以ResNet50为主干网络的模型未能很好地将散装物料堆积的边角进行分割;以ResNet101 为主干网络的模型将颜色相近的草地分割为散装物料堆积,因此,在使用ResNet50 和ResNet101 作为主干网络时可能会增加误检、漏检发生的概率。以MobileNetV2 为主干网络的模型可分割出散装物料堆积区域,在减少模型内存需求的同时分割结果更贴合实际场景。

5 结语

针对现有带式输送机上煤炭、砂、水泥等非接触式散状物料堆积检测方法易受环境中粉尘影响导致误检和漏检现象、深度学习模型内存需求大、检测精度低等问题,提出了一种基于轻量化Mask-RCNN的带式输送机上散装物料堆积视频实时检测方法。通过暗通道先验去雾算法对图像进行预处理,提升了模型推理结果的准确率;使用MobileNetV2+FPN轻量化主干网络,使得模型大小降低到以ResNet101为主干网络的模型的1/5;结合Scharr 算子构造了边缘损失函数,提高了模型对边缘信息的敏感度。带式输送机散状物料堆积实例分割数据集上的实验表明,该方法在经过去雾预处理后的平均精度均值提高了8%,达到了87.3%;模型内存为54 MB;平均检测时间缩短为以ResNet101 为主干网络的模型的1/2,检测精度可达91.8%。

猜你喜欢
边缘卷积损失
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
两败俱伤
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
一张图看懂边缘计算
菜烧好了应该尽量马上吃
损失
那些损失上百万的演员
在边缘寻找自我