APP下载

传送带偏移检测技术研究及FPGA实现

2022-09-29王成辰王小丫郭乃宏王如刚

计算机测量与控制 2022年9期
关键词:传送带以太网边缘

王成辰,王小丫,郭乃宏,周 锋,王如刚

(1. 盐城工学院 信息工程学院, 江苏 盐城 224051;2. 盐城雄鹰精密机械有限公司,江苏 盐城 224006)

0 引言

直线传送带具有传输距离长,连续输送能力高,可重构性强等优点,因此在工业生产中应用十分广泛。但由于传送带大部分以摩擦力带动运输,很容易发生打滑以及偏移的问题,传送带的偏移会加速托辊和带的磨损[1],降低运输效率,严重时会引发安全事故[2],所以对传送带实时偏移检测具有重大现实意义。针对传送带不同种类和应用场景,目前国内外对于传送带不良现象的检测方法最主要是机器视觉检测、超声波检测、电磁检测以及X射线检测法等[3]。超声波检测是装置接收超声波发射系统发射的超声波,在对其进行滤波去噪等处理后,根据前后的波形对比判断传送带的情况[4],该方法对环境要求较高,不易得到稳定的回波。电磁检测和X射线检测各是通过电磁感应效应和X射线的穿透性的原理完成检测功能,电磁检测对周围电磁波很敏感,应用于工业上需要各种措施保证抗干扰能力,X射线因其辐射性对操作人员健康造成影响,需要额外的保护装置,所以实质上这两种方法的应用都会大大增加装置的成本[5]。随着机器视觉技术的发展,利用机器视觉对传送带检测的方法越来越普遍和高效,基于视觉技术对物品轮廓和表面的检测早有研究,现如今大量机器视觉检测系统应用于各种产品材料表面检测包括:半导体器件、机械零件、钢架结构、纺织品、建筑表面、焊缝等[6]。随着成像的清晰度越来越高,图像处理算法的不断开发,机器视觉技术正在成为主流的检测技术。

国内实现传送带检测的方法主要集中在工人的定期检测以及机器视觉检测等方法上,其中人工检测及纠正的方法通过工人定期检测配合装置物理限制的方法对传送带进行检测和纠正。2018年,王来平等研究人员采用机器视觉技术设计了一种传送带跑偏自动纠正系统,提高了跑偏纠正精度同时也使得工作效率大大提高[7]。2020年,杨林顺等研究人员,提出了一种基于导向滤波和最大类间方差法的改进型Canny算子边缘检测方法,并利用Hough变换提取到边缘直线特征并进行分析处理,最终实现了对输送带跑偏故障的在线检测和分级故障报警[8]。基于机器视觉的检测系统主要是通过分析图像传感器采集到的实时图像来判定是否发生偏移。机器视觉在偏移检测系统中的使用,提高了检测系统的精度和稳定性[9],从现有研究成果可以看出,研究人员做了较多有益的工作,且基于机器视觉的检测方法相比于人工检测的方法具有更高的精度和效率[10-12]。为了进一步解决送料传送带在运行过程中发生的横向偏移和纵向偏移所导致的材料传送带运输位置精度问题,本文在现有的机器视觉检测的基础上,设计一种基于改进的Hough直线检测算法的机器视觉传送带偏移检测系统,本系统将采用FPGA作为处理单元,对CMOS图像传感器拍摄的实际传送带图像进行滤波,边缘检测,二值化等图像的预处理,利用以太网传输方式把预处理后的图像信息传送给上位机,在上位机中进行Hough直线检测算法处理,获得传送带的偏移状态。

1 传送带偏移检测算法分析

胶质传送带依靠的是带与滚筒之间的摩擦力实现物料的运输,经过一段时间的使用,各部件之间的配合不足和零件磨损将会导致传送带出现偏移等现象,图1为传送带倾斜偏移示意图。其中力F为传送带受到的牵引力,牵引力F分解为托辊转动的力F1和横向分力F2,横向力F2给托辊横向窜动的趋势,所以传送带会受到一个与之相反的横向力,从而导致传送带朝另一侧跑偏。导致传送带跑偏的原因主要包括:传送带本身存在质量问题,即传送带平整度和带的张紧度不一致会导致两边所受的牵引力不同,从而使传送带向牵引力较弱的一侧偏移;当滚筒质量存在问题时,滚筒的中心与转轴的中心线未重合,此时滚筒的倾斜将导致滚筒两边的张紧程度不一致,在传动带横向方向每段收到的牵引力大小向滚筒偏移中心递增;传送带在传送过程中会粘带一些杂物遗留在托辊上,导致传送带两边受力不一致,此外,若传送带输送的载荷较大也会造成传送带受力不均匀,导致传送带向一侧偏移。通过以上分析可以看出,传送带偏移的主要包含两个方面:一方面是传送带两边受到的牵引力大小不同,另一方面是滚筒倾斜对传送带产生的额外推力。因此,传送带跑偏原因综合为纵向倾斜偏移和横向的扭转跑偏。

图1 传送带的纵向倾斜偏移

针对这两种偏移的特性,传送带偏移检测技术如图2所示,为了减少数据运算量及其他图像元素的干扰,对待测传送带的二值图像数据进行感兴趣区域(ROI)划分,对划分后的区域数据分别建立X和Y坐标计数器,建立的两个坐标计数器分别对行列像素进行计数从而得到像素的坐标值,经过对X坐标计数器和感兴趣区域数据进行多次采样获得平均行坐标的边缘信息,并与传送带实时边缘位置进行对比分析,以便获取传送带的横向偏移信息;对从Y坐标计数器的值进行累加操作获得垂直投影信息,如果垂直投影后的位置发生变化,且与之前采样的位置不同,即可以判断为发生扭转或者横向偏移,垂直投影部分和边缘累加器的作用就是实时判断传送带横向位置。从Y坐标计数器输出的信号作为纵向偏移检测分量信息,先用Hough直线检测算法检测出传送带的边缘直线,根据检测结果判断是否需要进行拟合,获得拟合直线的倾角,并与设置的阈值进行比较判断出是否发生倾斜。

图2 偏移检测算法框图

传送带纵向偏移检测利用Hough变换加最小二乘法回归曲线的方式检测出传送带边缘直线,将计算出来的斜率与设定的倾斜角度相比较即可判断是否发生了偏移。标准Hough变换利用对偶性原理,采用直线的极坐标形式可以检测全部的直线,空间坐标方程转化为极坐标方程如式(1)所示。

y=kx+b⟹ρ=xcosθ+ysinθ

(1)

其中:ρ代表Hough中点到中心的距离,θ为点在Hough空间中投影出的线段与坐标轴的角度。

为了实现对传送带实时检测,采用改进的Hough变换算法(PHT),选取感兴趣区域(ROI)边缘点。改进的算法分为以下几个步骤:1) 建立ROI感兴趣区域,和设定一定范围的ρ和θ,特别检测指定区域规定角度范围内的直线;2) 随机选取一个边缘点,建立极坐标系统,获得边缘点的直线簇;3) 在边缘点处利用Hough变换,累加求和;4) 遍历Hough空间选取最大值的点,判断该点是否大于阈值。若该点大于阈值则进入下一步,否则返回第一步;5) 从Hough空间得到的最大点开始,沿着直线方位找到直线的起始点和终点;6) 计算出直线的长度,如果大于阈值则该直线可以输出。

二值图像经过Hough空间变换得到想要的边缘直线,由于可能因为外部的噪音、图像采集和边缘提取算法的原因,实际上传送带图像的二值化图像中的传送带边缘并不是平滑的直线,甚至会出现不连续的现象。所以,在Hough变换的直线提取之后在增加一个最小二乘法的直线拟合[13],进一步获得完整精确直线,计算最小二乘法拟合后直线的斜率并与设置好的角度阈值进行对比,进而判断是否发生纵向的跑偏。

图3 像素垂直投影

图4 Hough变换直线检测图

2 系统设计与实现

2.1 实验系统设计

实验系统设计框图如图5所示,实验系统包含图像采集单元、图像处理单元、图像缓存单元、以太网传输单元、上位机处理及显示单元。系统采用的是Altera公司的Cyclone系列EP4CE10F17C8N芯片为核心设计的FPGA开发板,开发环境为Quartus II 13.1,使用硬件描述语言Verilog HDL。图像传感器选用的是Omni Vision公司生产的OV5 640图像传感器,该传感器可以调整输入分辨率以适应不同应用场景,最大可以通过数字视频接口输出30帧/秒的1 080p彩色高清视频,采集到的视频数据发送给数据转换模块,可使用IIC总线协议对其内部寄存器进行配置以改变采集图像的分辨率。从数据转换模块输出的信号进入图像处理单元,该单元包括灰度转换、中值滤波和Sobel边缘检测;为了解决图像数据在FPGA与SDRAM之间互相传输时产生的跨时钟问题,设计了读写FIFO模块,SDRAM读写控制器模块负责驱动SDRAM片外存储器,内部采用两个数据缓存BANK,数据的传送实行乒乓操作,数据进入SDRAM控住器,交替送往两个缓存BANK,各缓存单元对数据进行预处理,同样,输出数据时也是两个缓存部分交替进行。以太网传输单元主要由图像数据封装、UDP顶层模块构成。图像数据封装负责从SDRAM中的数据输出模块读取16位的图像数据,并转换成以太网发送模块方便调用的32位数据。UDP模块实现以太网通信的收发功能,该模块内部集成了以太网接收模块、以太网发送模块和CRC32校验模块,为了提高收发效率,把三个模块封装成一个UDP顶层模块。

图5 系统框图

2.2 系统的实现

在FPGA硬件平台上进行所设计的算法实现时,按照平台的资源合理规划图像传输通道和处理过程,设计的算法处理模块可以同时进行相应的处理。根据板卡资源设计系统的实现方式,得益于FPGA流水线操作和并行处理的特点,系统各部分并行进行高速的图像处理[14-15],由于Hough直线检测占用硬件资源很大,现有板卡资源无法完成,所以偏移算法部分使用以太网传输技术,将FPGA处理好的图像数据传送到PC机,使用MATLAB软件完成偏移算法的仿真。FPGA进行图像的灰度转化、滤波、边缘检测、二值化等处理。

1)图像数据格式转换:

摄像头采集到的数据为彩色RBG图像,如果直接使用彩色图像,会占用大量的硬件资源,所有首先对图像进行灰度处理。以下算法实现彩色图到灰度图的变换,将图像从24位真彩色图像(RGB888)转换成8位的灰度图像。为了避免实现浮点运算和资源消耗,采用的转换方法可以用式(2)表示为[16]:

(2)

其中:R、G、B分别表示为红、绿、蓝信号,Y、Cb、Cr分别表示为YUV中的亮度、色调以及饱和度,实现待测图像格式转换过程需要将式(1)中的Y、Cb、Cr右移8位,舍弃信号中的Cb、Cr分量,保留Y信号分量,得到8比特灰度图像。

2)灰度图像滤波处理:

为了有效地降低噪声,需要对图像进行滤波处理,该部分选取3×3的卷积核做中值滤波处理,在3×3窗口图像数据中获取中值[17]。在逻辑设计过程中,采用两个行缓存来暂存前两行数据,使用3×3窗口获取邻域中的9个像素,其排序比较算法的核心过程如图6所示:(1)对每行的3个像素进行排序,得到最大值(MAX)、中值(MID)、最小值(MID);(2)比较3行中每行的最大值,获取3个最大值中的最小值(MAX_MIN);(3)比较3行中每行的最小值,获取3个最小值中的最大值(MIN_MAX);(4)比较3行中每行的中值,获取3个中值中的中间值(MID_MID);(5)将(2) ~ (4)获取的值送入下一级的比较器,获取中值(mid_mid)。

图6 获取3×3窗口中值

3)边缘检测:

传统的Sobel算子仅对水平和垂直方向上的模板算子进行梯度计算,若待测图像的像素点在其他方向上的幅值比较高,而水平和垂直方向合成的梯度幅值比较低,那么此像素点将不会被判别为边缘点。因此,这将导致待测图像的边缘点检测不准确。为了提高待测图像边缘信息的准确度,在传统Sobel算子的基础上增加450和1350方向上算子[18]。图7为经过传送带图像经过边缘检测后的图像,可以看出,该方法可以准确地定位边缘点且图像信息较为完整和立体。

图7 Sobel边缘检测后图像

4)感兴趣区域建立:

感兴趣区域的建立是为了对采集到图像进行分割提取,将图像中背景和其他干扰因素去除,重点突出算法检测区域的图像。建立感兴趣区域(ROI),有助于突出检测区域,加快图像处理的速度和准确度。跑偏算法的检测重点是在传送带的两个边缘处,实际加工场景的图像中不可能只有传送带,所以对于跑偏算法中的感兴趣区域设定范围以出传送带的边界为ROI区域的中心区域,ROI区域的左右边界取传送带边缘周围辐射的一点区域,具体选择范围根据需要检测的精度和摄像头的分辨率决定。传送带的胶带是一个整体,如果发生跑偏的现象会反应在整条带上,所以为了进行一步减少检测范围,可以只将传送带的一段作为检测对象。本文中的跑偏检测系统设计成固定的摄像头的图像采集,传送带装置是固定不动的,设定感兴趣区域也只需对图片进行区域划分和提取即可。考虑到相机畸变效果会使得摄像头中的景物的边缘扭曲而影响检测算法的判断,所以将摄像机头的中心对准传送带的一条边,并结合相机标定的参数,纠正图像的畸变状况。如图8是感兴趣区域的提取示意图,xm,xn代表的是ROI区域的行像素边界,ym,yn则是ROI区域的纵像素边界,图中的较小阴影区域就是具体的感兴趣区域,显然只要以区域四角的坐标提取出相应的图像区域,就可以完成图像的感兴趣区域设定。

图8 感兴趣区域划分

5)以太网传输:

以本文中采用的以太网协议是UDP协议,UDP协议是一种不可靠的传输方式,只是负责数据的传输,而不需要确定数据的接受方的接受情况[19]。但对于本次实验的情况,检测系统可以允许一定的数据丢包和误码,使用UDP传输协议是较为适合本次实验的以太网传输操作的。

UDP协议是一种局域网络传输协议,将流量打包进行数据传输。打包的数据前8个byte用来存放UDP的报头,其余byte位用来传输数据。协议中设置校验值对数据进行对比校验确定传输正确。校验值在数据发送方进行计算得出,同样数据接收方也需要进行再次计算获得。比较特殊的一点是,UDP协议虽然也存在错误检测功能,但是检测有误的数据会直接被舍去而不进行反馈和纠正。

发送模块的发送顺序是前导码+帧起始界定符→以太网帧头→IP首部→UDP首部→UDP数据(有效数据)→CRC校验。输入的有效数据为32位数据,MII接口为4位数据接口,因此发送模块实际上完成的是32位数据转4位数据的功能。

接收模块的解析顺序是:前导码+帧起始界定符→以太网帧头→IP首部→UDP首部→UDP数据(有效数据)→接收结束。MII接口数据为4位数据,先把4位数据转成8位数据,IP数据报一般以32 bit为单位,为了和IP数据报格式保持一致,所以要把8位数据转成32位数据,因此接收模块实际上是完成了4位数据转32位数据的功能。

CRC32校验在FPGA实现的原理是LFSR(Linear Feedback Shift Register,线性反馈移位寄存器)[20],各个寄存器储存上一次CRC32运算的结果,寄存器的输出即为CRC32的值。

3 结果与分析

为了分析系统的性能,对盐城雄鹰精密机械有限公司生产的智能裁断机中的传送带进行实时检测,图9为采集到的传送带实物图及FPGA处理后的边缘图像,从图9(a)中可以看出,传送带为履带式的直线传送带,从图9(b)可以看出,传送带的边缘信息非常清晰,可以作为偏移检测的二值图像进行偏移分析。

图9 采集到的传送带及FPGA处理后的边缘图像

横向的检测算法利用较为简单的垂直投影法间接计算出传送带的边缘位置,所以由于检测实验背景和摄像头精度的影响,计算出的数值会一定的数值误差。通过对一定帧数的图像进行测试,估算出垂直投影的最大精度值在+8个像素。图10为垂直投影法检测边缘位置分布情况,从图中可以看出,传送带边缘的位置在横向561像素左右,最大位置波动为第567和552像素位。

图10 垂直投影法检测边缘位置分布

纵向跑偏算法的精度基本可以控制在0.5°以内,在对实际运行正常的传送带边缘直线角度检测中,纵向跑偏检测精度受检测环境影响较横向跑偏检测要小。图11是对传送带边缘倾角采集的数据分布,红色点是因为检测场景变化而浮动较大的图像帧数,黑色点是检测平稳的帧数,可以看出纵向倾角采集实验中,倾角的变化差值最大是0.245°,所以根据采集到的倾角进行纵向跑偏检测精度估算,其最大精度为0.245°。

图11 传送带边缘倾角采集

经过以太网传送到上位机的图像如图12所示,为了验证本次实验偏移检测的实际效果,没有将摄像头放在两根传送带的正中央,而是为了模拟传送带发生偏移的情况,将摄像头的位置略微靠右,以造成传送带左侧偏移的效果。

图12 检测出的传送带边缘

根据摄像头拍摄的图像设定偏移算法的区域为两个,左侧传送带边缘感兴趣区域为X∈(0.2x,0.45x)和Y∈(0.3y,0.7y),右侧传送带边缘感兴趣区域为X∈(0.76x,0.9x)和Y∈(0.3y,0.7y)。其中x和y分别代表图像总的行列像素值,X和Y表示感兴趣区域的像素坐标值,为了进一步避免环境的干扰,本次实验特别设定了检测直线的角度范围以及检测出的直线长度。经过上述检测约束,成功地检测出想要的传动带边缘直线,如图8所示。FPGA处理图像输出30 fps,以太网传输模块每671 ms传输一次处理好的图片数据到上位机进行跑偏检测。图13显示传送带左侧为偏移情况,将检测的直线标红,右侧的传送带在设定范围,显示为绿色。本实验将横向偏移检测阈值定为±20个像素值,设定的左侧传送带非跑偏横坐标位置在100像素,如果横向坐标投影值xi减100的绝对值大于20,则左侧传送带发生横向偏移。同理将右侧传送带非跑偏横坐标位置的坐标值设为560,如果横向坐标投影值xj减560的绝对值大于20,则右侧传送带发生横向偏移。纵向偏移检测的倾斜角度阈值设定为±4°,检测的传送带边缘直线倾斜角度大于±4°就可判定传送带发生纵向偏移。表1为设计的FPGA逻辑资源使用情况。整个设计占用了较少的FPGA资源,消耗逻辑资源3 633个,存储器单元215 040个。

图13 传送带偏移情况

表1 FPGA逻辑资源使用情况

4 结束语

对传送带实际偏移的情况进行分析,将偏移情况总结为横向偏移和纵向偏移,分别设计两种偏移检测的算法对偏移情况进行实时判断。本系统采用FPGA作为处理单元,对图像传感器拍摄的实际传送带图像进行滤波、边缘检测、二值化等图像的预处理,利用以太网传输方式把预处理后的图像信息传递给上位机,在上位机中进行Hough直线检测算法处理,获得传送带的偏移状态。横向偏移检测利用感兴趣区域中的像素垂直投影来判定传送带的边缘位置,并与标定后采集的非跑偏传送带边缘位置进行比较,从而判断是否发生横向偏移。纵向偏移检测借助Hough变换的直线检测算法,将计算出的直线斜率与提前设置好的阈值进行比较,就可判断是否发生纵向偏移。通过实验,系统能够实时地检测出精度最高,倾斜角大于0.245度的倾斜偏移和横向8个像素的偏移,FPGA图像输出最大帧率为30 fps,可以实现传送带偏移的实时检测。

猜你喜欢

传送带以太网边缘
举一反三培养学生灵活思维能力
网络智能平台和云服务为以太网注入新动力
传送带模型中摩擦力的判断
三大因素驱动创新提速以太网快步迈入“灵活”时代
三大因素驱动创新提速 以太网快步迈入“灵活”时代
一张图看懂边缘计算
例说传送带问题的分类解析
基于ENC28J60的嵌入式以太网/CAN网关设计
在边缘寻找自我
走在边缘