基于图像处理的带式输送机煤体积计量
2020-06-12王桂梅逯圣辉刘杰辉杨立洁
王桂梅, 逯圣辉, 刘杰辉, 杨立洁
(河北工程大学 机械与装备工程学院,河北 邯郸 056038)
1 引 言
带式输送机上煤流的体积是带式输送系统进行调速的重要依据,因此动态煤体积精准计量十分重要。目前皮带机上动态煤量计量的方法主要有电子皮带秤称重和料流传感器测高度的方法,电子皮带秤需要经常进行校准,且这2种方法在检测少量煤时误差较大,可见这2种方法具有一定的局限性[1]。而通过工业相机采集皮带上煤流图像来识别煤量,采集到的图像往往包含太多无用信息,因此需要图像预处理对图像进行简化以去除图像中的无用信息,常用的包括图像裁剪、灰度化和二值化等[2]。刘美[3]等在分析传统灰度化方法的基础上,提出了对比度增强的彩色图像灰度化算法;张海宁[4]提出基于多峰高斯分布的彩色图像灰度化算法,这2种算法能够保留图像更多的对比度信息。孙国栋等[5]利用可信度来指导二值化阈值的选取,形成一种基于反馈的二值化方法;冯炎[6]针对历史文档的处理提出一种基于对比度归一化的二值化算法。薛亚男[7]等针对ESPI图像的细化提出基于条纹中心法的细化算法;胡改玲等[8]根据骨架走向设置搜索区域,并通加权重心法计算光刀亚像素中心,虽然避免了对整幅图像的遍历,但其搜索区域仍然较大。孙卫红等[9]提出了一种依据裂缝末端斜率作为主发展方向进行局部扇形区域遍历的裂缝补全算法,但其研究对象是裂缝,其具有一定的延伸规律。煤体积计量实时性要求较高,并且断线不存在规律性,由此可见,上述研究中的细化和断线修补方法并不适用于带式输送机上煤流截面轮廓线的提取。
采用激光斜射法三角测距原理得到煤轮廓各点高度,然后通过积分运算得到某时刻轮廓面积进而得到一段时间内的体积,实现对皮带上煤体积的计量[10,11],该方法具有测量精度高、误差小的特点。该方法中煤轮廓的获取需要图像采集和处理图像2步,其中图像处理最为关键。本文根据煤流截面轮廓线所具有的特点,提出一种具有更小搜索区域的激光线细化算法,能够有效降低算法运行时间。考虑到单个截面的精度并不需要特别高精度,断线修补采用了能够加快算法运行的线性插值方法。实验表明本文所提激光线细化算法运行时间更短,且在图像噪声的抑制方面具有良好效果。
2 煤轮廓获取
2.1 图像预处理
图像预处理包括图像灰度化和二值化,为后续处理做准备。将彩色图像转化为灰度图像的过程称为图像的灰度化处理[12],图像经过灰度化处理后,仍然包括了大量无用信息;为了进一步去除无用信息的影响,采用二值化处理,即图像中像素非黑即白,不存在中间情况。本文采用能够提高图像亮度的最大值法对图像进行灰度化处理,采用Otsu阈值法进行二值化处理[13],结果如图1所示。
图1 图像预处理
2.2 激光线细化
本文提出的激光线细化方法首先确定一个种子像素点(激光线骨架起始点),然后利用激光线的连续性来控制目标像素的搜索方向和范围,在保证激光线连续的前提下对目标进行细化。本文方法避免了对图像的遍历,以种子像素为基点对目标像素进行搜索,减少了搜索时间,进而减少了算法运行时间。
假设图像P的坐标系原点位于图像左上角,x轴为水平向右,y轴为竖直向下,设图像P中的像素坐标为(x,y),图像x方向有M个像素点,y方向有N个像素点,P(i,j)表示图像P中坐标为(i,j)的像素点,其中1≤i≤M,1≤j≤N。
以从上到下、从左到右的方式对种子像素进行搜索,定义激光线的最左侧端点为种子像素,种子像素的确定过程包括如下3步:1)统计激光线起点所占像素数、判断激光线左侧起点所在列和种子像素筛选;2)二值化激光线所占像素(白色像素值定义为1,其它像素值为0),以此作为判断依据; 3)从左到右按列统计值为1的像素个数记为n,每统计一列对进行一次判断,当n≠0时,认定该列为激光线左侧起点所在列,否则继续判断下一列;然后采用式(1)对种子像素进行筛选,其含义为将起点所占像素的第k个像素作为种子像素。
(1)
图2 图像坐标及像素相对位置
(2)
将目标像素作为种子像素进行迭代直到找到所有目标像素的集合,达到细化激光线的效果。当出现nu=nd=0时,表明此处为断点,应立即终止迭代并重新寻找种子像素和目标像素。采用该方法对二值化后的图像进行细化,结果如图3所示。
图3 骨架提取处理后图像
2.3 断线修补
来自工作面的原煤形态多变,在出现大块煤炭或矸石时会导致激光线断裂,如图3所示。分析可知,除去激光线的首尾端点,断点总是成对出现,因此断线修补算法的思路为:首先遍历整个图像寻找断点;然后去除首尾2个端点,剩下的即为成对的端点;最后将每对断点进行连接便完成修补工作。
判断一个点是否为断点是以该点的8连通域(即8个相邻点)的情况来作为判断依据的,图4显示的8种情况表示该点为断点,即8邻域中有且仅有一个时判定为断点[11]。图4所示图像中0表示黑色, 1表示白色,因此判断依据可以变换为求某点8邻域的和,等于1时为断点,其它值则不是断点。
图4 断点的邻域情况
由于激光线端点符合断点的条件,因此在查询到断点后应将端点去掉以得到真正断点,然后2个为一组依次进行分组,得到的结果就是接下来要连接的部位。为了减少算法运行时间,本文采用线性插值对断线进行连接。图5所示是进行修补后的图像。
图5 断线修补后图像
3 体积计量模型
带式输送机上煤流体积计算公式可以表示为:
V=S·d
(3)
式中:V为体积;S为煤流截面积;d为截面的厚度。
设摄像机的帧率为f,即在1 s的时间里可以采集f次图像,也就是1 s可以获得f个被测物料截面的面积。假设输送设备以速度沿着与截面垂直的方向匀速运动,则相当于每个参与计算的截面的厚度为:
d=v/f
(4)
煤流截面积S通过图像进行计算,相机实时采集到的图像只能显示此时皮带机上原煤的上表面轮廓,为得到原煤的整体轮廓需要采集下表面轮廓,本文将空皮带的轮廓作为原煤的下表面轮廓。因此需要事先对空皮带进行图像采集和处理,作为组成煤截面的基准图像,图6是将有煤时的图像与基准图像进行叠加形成的煤截面。为统计图像上煤截面所占像素数O,将闭合区域进行填充,图7为填充后图像,然后统计图像中像素值为1的数量便得到O,则实际煤流截面积为:
S=k·O
(5)
式中k为标定系数,可通过实验获得。
图6 煤截面图像
图7 煤截面填充后图像
4 实验分析
本文通过在某煤矿井上带式输送机上进行实验,来验证煤体积计量算法的可行性和实时性。图像采集使用海康威视公司提供的MV-CA013-20GC型工业相机,其配备的MVS客户端能够对相机进行设置,其中最重要的是对曝光方式以及时间的设置,为保证高速运动煤流在抓拍时不产生拖影,曝光方式应为全局曝光,根据实际工况计算出曝光时间应为460 μs。工业相机、激光器以及计算机的基本参数如表1所示。此外设计了一套安装相机以及激光器的支架,其能够实现设备的高度和宽度的调节,以及激光器角度的调节。
表1 主要设备参数
实验首先进行了现场数据采集,包括带式输送机的空皮带图像以及载煤运行图像,实验共采集载煤运行图像3 000张。然后通过本文所提算法对图像进行相应处理得到煤流体积,算法通过Matlab实现,并通过GUIDE设计图形用户界面[14]。
接下来设置2组实验,实验1针对激光线细化算法的运行时间和效果,实验2针对整体煤量计量算法的运行时间。
实验1:采用3种激光线细化算法(本文算法、最大圆盘法[15]和Matlab算法[16])分别对3 000张图像进行细化处理,并记录其各自的运行时间tb、tz和tm,由于计算机性能的变化会影响算法运行时间,因此统计各算法运行12次的时间,结果如表2所示。
表2 3种细化算法运行时间
将12次运行时间中的最大值与最小值剔除后求平均值得到各算法的稳定运行时间,分别为Etb=10.26 s、Etz=16.39 s和Etm=20.124 s,由此可见本文所提算法在运行时间上具有较大的优势。另外,图8分别为本文算法、最大圆盘法和Matlab算法对同一张图像处理的结果(局部),可以看出本文算法得到的结果更加准确,其能够有效抑制由于环境光带来的噪点。
图8 3种细化算法结果
表3 煤量计量算法指标
5 结 论
本文采用激光斜射法三角测距原理来对带式输送机上煤流的体积进行计量,该方法属于非接触式测量,精度较高。针对本文图像处理对象的特点,提出一种具有更短运行时间的激光线细化算法,对其过程进行了详细介绍,实验表明本文算法具有良好效果。
开发了带式输送机煤体积计量算法,结果表明本文所提算法可行,可以满足实际工况要求。下一步需要对系统算法进行优化,以提高实时性和稳定性,并且可以将各设备进行集成设计,以提高系统鲁棒性以及减小设备体积;另外空皮带图像作为参考值存在一定的误差,因此在将来的研究及应用中可以考虑在皮带下方增加一台相机来实时采集皮带的下表面轮廓,以减小误差。