激光测距在表面缺陷检测中的应用
激光测距在表面缺陷检测中的应用
作者:廖延娜;范坤;
精密工件在工业设备中应用广泛,其质量的好坏关系到工业设备的安全运行。生产和运输过程中的诸多因素易使工件表面产生缺陷。缺陷的长度和深度达到一定值才会对工业设备运行产生危害。因此需要测量出缺陷长度和深度,作为分拣缺陷工件的依据。传统的检测方法是通过工人肉眼来检测工件表面是否有缺陷存在,再用游标卡尺测量缺陷的长度和深度。这种人工检测方法的缺点显而易见,对于较浅缺陷的深度无法有效测量,工作量大,效率低,易受检测人员主观因素影响,造成误检或漏检。如果操作不慎,还会对工件表面造成二次损害。目前,无损检测方法(超声检测、光电检测,机器视觉等)在缺陷检测中广泛应用。文献[4]提出利用分段线性灰度算法对表面微小缺陷进行增强,再结合最大熵来实现对表面缺陷的自动分割,最后采用投影原理和二维联合统计算法完成对缺陷的快速提取和区域归类。一种双图像传感器的表面全展开方法, 在此基础上搭建系统实现表面缺陷检测。上述缺陷检测方案虽能检测出表面缺陷,但却没有给出缺陷长度和深度。因此将激光测距仪应用于工件表面缺陷检测,计算出缺陷参考长度和深度值为分拣提供依据。缺陷参考长度是指缺陷外接矩形对角线的长度,参考深度是指缺陷区域距离差矩阵的最大值。
1激光测距
系统的硬件部分是由超高速激光轮廓仪、伺服电机、PLC、上位机组成。上位机向轮廓仪和PLC 发出指令。轮廓仪按照设定采样频率向待测工件表面发射平行激光束,下方的伺服电机在PLC 的控制下带动待测工件先水平转动 1 周, 轮廓仪将获得的 1 组距离数据传给上位机处理。左方的伺服电机将待测工件旋转固定角度继续重复上述步骤直至激光带覆盖整个待测工件表面。
2图像重建算法
为了检测待测工件表面缺陷并得到缺陷的参考长 度和深度值,需要将激光轮廓仪采集到的各组距离数分别重建成图像。
2.1一组距离数据
超高速激光轮廓仪内建 x 轴和 z 轴。 x 轴和轮廓仪基准轴线重合。 TL 到 TH 上均等分布着k 个采样点,轮廓仪发射 1 次平行激光束到待测工件表面将得到 p1, p2 , ⋯, pk 共 k 个距离数据。当下方伺服电机转动时,激光轮廓仪按照设定的采样频率继续发射平行激光束到待测工件表面,上位机得到光带扫过工件表面位置的距离数据。若工件赤道周长为 c 毫米,下方伺服电机转速为 r 毫米/秒,激光轮廓仪采样频率为 f 赫兹,则待测工件完成一周转动后,上位机得到 c r ⋅ f ⋅ k 个距离数据。
2.2图像重建
c r ⋅ f ⋅ k 个距离数据可看成一个 c r ⋅ f 列,k 行的矩阵,矩阵中的元素值对应着距离数据。假定重建图像宽长所占像素数与距离数据矩阵的行列数相同。图像重建算法如下:
若一组距离数据中某一列的 k 个距离数据为向量p ,如下:p =( p1, p2 , ⋯, pk )向量 p 表示待测工件表面上的一段圆弧,因此可通过最小二乘法拟合一个圆,得到拟合圆上对应点的标准距离向量 q 。q =(q1, q2 , ⋯, qk )向量 p 和 q 求差得到距离差向量 w 。
w =(w1, w2 , ⋯, wk )式中,wi = pi - qi ,(1 i k) 。向量 w 表示待测工件表面与标准工件表面之间的差距,即缺陷。设置上下门限 th 和 tl ,当 wi 大于 th ,则将 wi 设置为 d1 ;当 wi 大于 tl 小于 th ,则将 wi 设置为 d2 ;当 wi 小于 tl ,则将 wi 设置为d3 。一组数据中所有列按照上述算法可完成该组距离数据到图像的转变。
3缺陷检测
3.1图像预处理
重建图像的过程中难免引入噪声,因此首先对重建的图像进行平滑处理。邻域平均法即用一片图像区域的各个像素的均值来代替原图像中的各个像素值。设原始图像为 f (x, y) ,卷积核为 G(i, j) ,卷积核的大小为3×3,处理后的图像为 g(x, y) 。
3.2边缘检测及形态学梯度处理
去噪后的图像经过边缘检测可得到缺陷的边缘信息。Canny 算子检测边缘时具有低错误率,高定位性和最小响应等优点[7],但需要设置高低阈值且这两个阈值的设定直接影响重建图像缺陷部分边缘检测的效果。由于重建图像具有前景亮背景暗的特点,因此采用最大类间方差算法计算出前景和背景的分割阈值并将此阈值及其一半分别作为高,低门限值。
Canny 边缘检测算子检出的边缘是分立的,不连续的。为了准确提取缺陷区域的轮廓,需要对边缘进行形态学梯度处理。形态学梯度用来保留物体的边缘轮廓[9],它先分别对图像进行膨胀和腐蚀操作,最终的图像是膨胀图与腐蚀图之差,数学表达式为:g = ( f⊕b) - f - b式中:g 为形态学梯度处理后的图像;f 为原始图像;b 为结构元素(设计中采用 OpenCV 默认结构元素)。经过形态学梯度处理后的图像。
3.3缺陷参考长度和深度计算
为了计算缺陷的参考长度和深度,需在重建图像中提取缺陷轮廓并标定连通域[10]。通过OpenCV 中的find⁃ contours 函数对缺陷区域轮廓进行提取,drawcontours 函数把提取的轮廓用随机颜色的线绘制出来。 使用boundingRect 函数计算提取轮廓的外接矩形 ,rectangle函数将轮廓外接矩形绘制在重建图像中。
上述过程可得到缺陷区域外接矩形的像素位置信息。若重建图像缺陷区域外接矩形左上角和右下角像素坐标分别为 (x1, y1) ,(x2 , y2 ) 。根据坐标信息计算出外接矩形的长宽所占的像素个数。若长的方向上每个像素代表的实际长度为 l1 ,宽的方向上每个像素代表的实际长度为 l2 。 l1 由轮廓仪基准轴线上单位长度决定,l2由伺服电机转速和激光轮廓仪的采样频率决定。设定电机转速为 r 毫米/秒,超高速激光轮廓仪采样频率为 f 赫兹。参考深度的计算:首先在外接矩形所在列的距离差向量中找到每一列的最大值,再从这些最大值中找出最大值作为缺陷区域的参考深度。
4实验结果及分析
为了得到参考长度,深度和人工测量值的误差,准备 1 000 个工件,并在每个工件上制造 1 处缺陷并进行检测。实验中上位机处理器采用英特尔酷睿i5 双核,频率为2.5 GHz,内存8 GB。工件的直径 c =180 mm,激光轮廓仪型号为基恩士Lj⁃V7060,采样频率设定为1 000 Hz,单线采样点 k =800,TL =-8,TH =8。 th =1,tl =0,d1 = 255,d2 =255 wi ,d3 =0,l1 = 0.02 ,l2 = 0.06 。下方伺服电机转速 r =60 mm/s 时,经过统计 1 000 个工件中有998 个参考长度和实测值误差小于0.1 mm,其余2 个误差小于 0.2 mm。当下方伺服电机转速设置为 120 mm/s,180 mm/s 时参考长度和深度值保持稳定,误差情况基本不变。随机抽取的一个工件连通域标定图其 缺 陷 区 域 的 像 素 位 置 信 息 为 :x1 = 249 ,y1 = 1 753 ,x2 = 605 ,y2 = 1 850 。代入上述参数得出参考长度 l = 9.914 85 mm,参考深度 d = 0.294 35 mm。使用游标卡尺多次测量待检工件缺陷区域的长度,计算出长度平均值为 9.89 mm。人眼由于无法可靠判断缺陷区域何处深度最大,且缺陷较浅,故使用游标卡尺无法对深度进行有效测量。长度误差小于 0.1 mm,满足设计要求。
通过和上位机计算的缺陷区域长度比较,上位机计算的缺陷区域长度长一些。一方面游标卡尺测量工件表面缺陷长度时,表面上是有弧度的,因此人工测量的长度是偏小的;另一方面系统设计中对重建图像进行了形态学梯度处理使得缺陷部分有了轻微的扩展,上位机得到的长度长一些。伺服电机转速为 60 mm/s 下,一组距离数据重建图像和检出缺陷的平均时间为 80 ms,远小于得到每组数据电机转动时间,可满足检测时效要求。
5结论
激光测距应用于工件表面缺陷检测中可得到缺陷区域的参考长度和深度值。根据参考长度和深度来分拣缺陷工件可将对设备运行有危害的工件分离出去,同时保留有缺陷但参考长度和深度小于设定值的工件,避免了浪费。在实际分拣场景中具有一定的应用价值。
本文章转自爱学术(aixueshu.com),如有侵权,请联系删除