王进峰 张兵宇 问丛川 闫立鑫 范珈诚 陈凯乐
(华北电力大学机械工程系,河北 保定 071003)
金属表面缺陷通常采用人工检测和物理量检测方法,这些传统检测方法效率低、实时性差。机器视觉是通过机器代替人眼进行判断,很大程度上克服人工检测的缺点[1],实现了实时检测、高精度检测、智能化检测和完全检测[2],在焊接熔池表面高度提取[3]、钢轨表面缺陷检测[4]以及LCD的Mura检测[5]等领域中得到了充分应用。
传统视觉检测原理是基于二维灰度图像检测技术,根据图像的几何形状和明暗分布来检测缺陷[6-7]。Woodham R J[8-9]提出了一种基于图像的三维重建方法—光度立体法,依据待测对象的表面梯度构建深度信息,用于识别缺陷。在缺陷处,物体表面会有明显的曲率变化,与深度信息相比,图像的表面曲率信息更能有效识别缺陷[10-11]。
经典光度立体法多采用3个光源,获得图像的表面梯度信息,但得到的梯度信息并不准确。本文提出了一种基于HALCON的四光源光度立体法,可以准确求解待测对象的表面梯度信息,进而得到平均曲率图像,根据图像曲率信息识别缺陷,并设计了验证性实验,证明了该方法的有效性。
经典光度立体法是由3个空间位置不同但光照强度相同的光源、相机和待测对象组成,如图1所示。利用相机拍摄待测对象在不同空间角度的光源照射下的一组图像,根据Lambertian反射模型计算得到待测对象的表面法向量和x、y方向上的梯度信息,重建三维表面。
根据Lambertian理想漫反射模型[12],漫反射光的光强公式为:
I=ρLN
(1)
式中:I为图像传感器亮度;ρ为待测对象的表面反射率;L=(Lx,Ly,Lz)光源的单位方向向量;N=(Nx,Ny,Nz)T为待测对象表面某点的单位法向量。
在不同光源下拍摄的3幅图像中某像素的亮度分别为I1、I2、I3,由式(1)表示得:
(2)
转换成矩阵形式为:
(3)
由于N和L是单位向量,求待测对象得表面反射率为:
ρ=‖L-1I‖
(4)
单位法向量为:
(5)
由此可求得待测对象的表面梯度,在x和y方向上的梯度分别为p和q:
(6)
(7)
因此,图像上每一个的像素点(x,y)都可以求出该点的方向梯度(p,q)。
不同空间角度光源照射下的4幅图像中某像素反射光亮度分别为:
(8)
转换成矩阵形式为:
(9)
公式(9)是超定线性方程组,由最小二乘法求解得ρ和N:
ρ=‖(LTL)-1(LTI)‖
(10)
(11)
则x和y方向上的梯度p和q分别为:
(12)
(13)
与三光源的光度立体法相比,四光源的光度立体法更能准确描述待测对象的表面梯度信息,图像每一个像素点(x,y)的方向梯度为(p,q)。
金属缺陷检测需要定位深度的局部变化,而表面梯度信息通常被用于重建待测对象的表面高度,并不能有效地识别缺陷,反之,表面曲率信息可以识别缺陷。对光度立体法得到的表面梯度信息进行进一步处理,以求得到待测表面的平均曲率。
表面梯度f(r,c)可表示为:
f(r,c)=(u(r,c),v(r,c))
(14)
式中:r为图像的行坐标;c为图像的列坐标;u(r,c)为待测表面在点(r,c)处的行梯度分量,值等于p;v(r,c)为待测表面在点(r,c)处的行梯度分量,值等于q;平均曲率H计算公式为:
(15)
二阶导数项可表示为:
(16)
二阶导数对图像噪声十分敏感,在计算平均曲率H前,先对图像用高斯滤波器平滑,二阶导数经高斯滤波后可表示为:
(17)
(18)
式中:G为高斯滤波器;σ决定平滑程度,σ值越大,图像的平滑程度越高。在HALCON的derivate_vector_field算子中,σ的可用区间为[0.01,50.0]。
得到图像的平均曲率后,进一步把平均曲率图像转化为灰度图像,在缺陷处,像素的灰度值与无缺陷处不同,只需要选择合适的阈值,就可以将缺陷从灰度图像中分割出来。基于四光源光度立体技术原理,编写HALCON程序,利用HALCON软件完成检测。
准备两组光滑金属试样,在表面通过布氏硬度计打大小不同、深浅不同的孔,如图2所示。
图3为图像采集装置,主要硬件有:MI-SU系列工业相机,型号为MI-SU500M;高分辨率远心镜头,型号为ESH012-300A;平行点光源,型号为FH-PL05W135,具体参数如表1所示。
表1 硬件参数
相比于近似点光源,内置同轴平行点光源提供了更加均匀的照明,同时避免物体的反光因此提高了机器视觉的准确性。因此,在使用内置同轴平行点光源的立体光源标定中,只需要确定每个光源空间位置的角度α和β,如图4所示。
确定内置同轴平行点光源空间位置的步骤如下:
(1)沿相机支架上下移动光源,调整合适位置来放置打孔金属试样,同时确定打孔金属试样放置在图形采集装置正下方位置,打孔面朝上。
(2)调节平行点光源与水平面的夹角。
(3)调整CCD相机位置,确保试样平面在相机镜头组的焦平面上。
(4)调节点光源直线照射位置为金属试样打孔面圆心。
(5)最后,逆时针依次开启光源并依次关闭前一光源,使用角度指针读取光源倾斜角度α和角度分度盘读取光源水平面角度β。
4组光源下采集的金属试样图像的对应光源角度参数如表2所示,4组光源下采集的金属试样图像如图5所示。因为金属试样a和b圆柱的高度和半径一致,所以两组金属试样的光源角度参数一致。
表2 光源角度参数
将4组光源的角度信息写成矩阵形式,HALCON程序会计算得到金属试样表面梯度图像。
根据金属试样表面梯度图像可以计算得到平均曲率图像,将各点曲率值转换为灰度值,依据灰度直方图,可以观察整个曲线变化图中最低波谷值取为灰度区间最低值,最高值设置为1 000。图7表示金属试样(b)在3个灰度区间的缺陷检测情况。
根据图7处理后的灰度直方图,取高斯平滑系数σ=3平滑图像,金属试样a和b由灰度直方图取灰度区间为(0.018 333,1 000)和(0.036 51,1 000)进行阈值分割,得到图8a和8b所示图像,可看出试样打孔区域都被标记。使用同样方法检测平整后未打孔的金属试样,可看出,金属试样无任何标记,如图8c所示。
四光源光度立体法可以准确构建图像的表面梯度信息,有效消除图像噪声,实际检测中精度高、速度快,图像采集装置结构简单、易于安装。利用HALCON软件可以快速调用原理算式复杂的机器视觉计算方法,简单易用。因此,提出一种基于四光源的光度立体法,利用HALCON软件去检测打孔金属试样。结果表明,该方法可以有效识别金属表面缺陷。