HTML
-
实验在CPU为Inetel-5500U、RAM为8G的计算机上利用MATLAB2019a软件编程实现,使用Allied Vision Technologies公司生产的Mako G-192C相机。为了验证本文中所提方法的有效性与准确性,将实验结果与传统灰度重心法和基于Hessian矩阵的Steger法得到的实验结果进行主观评价与客观评价,其中,图像大小为378pixel×300pixel,滤波器模板大小均为5×5,Steger法的高斯核参量设置为σ=15/$\sqrt 3 $。
-
不同方法提取的条纹中心线如图 8所示。图 8a~图 8d分别为原始条纹的灰度图像、灰度重心法提取结果、Steger法提取结果、本文中的方法提取结果。为便于观察条纹中心提取效果,图 8e~图 8h依次为其局部放大图像。由图 8可知,灰度重心法提取的条纹中心波动较为明显,Steger法提取的条纹中心存在大量光条外点,需要后期通过曲线拟合方法进行消除,增大了计算量,但相比灰度重心法,Steger法提取到的条纹中心较为平整,但这两种方法与理想的条纹中心均存在着一定偏离。本文中方法提取结果波动性最小,且不存在光条外点,更加接近于理想的条纹中心。
为进一步验证所提算法的有效性,分别对存在条纹分叉以及散斑噪声干扰的图像提取中心坐标。图 9为条纹分叉情况下提取的条纹中心。灰度重心法提取结果波动明显,Steger法提取结果存在较大的误差,而所提方法提取结果较为平滑。图 10是存在散斑噪声干扰情况下提取的条纹中心。由于图像灰度分布不均,灰度重心法提取结果上下波动最为剧烈,Steger法提取结果则存在大量的光条外点,而所提方法由于去除了噪声干扰,提取结果较为平滑。
-
由图 1b可知,噪声干扰严重影响条纹图像x轴的灰度值分布,降低条纹中心坐标的提取精度。存在条纹分叉的图像在交叉处也会降低提取中心坐标的准确性。
为进一步评价所提算法的准确性,利用提取到的条纹中心点x坐标到条纹中心真值x坐标的标准误差表示算法提取中心点的准确度。由于条纹中心真值无法测得,导致真差未知,通常使用残差$\left( {{x_i} - \bar x} \right)$来代替真差,根据贝塞尔公式,条纹中心点x坐标标准误差可以表示为:
式中,n为提取的中心点个数;x表示中心点的x坐标平均值。表 1为提取到的3种条纹图像中心x坐标的标准误差。理想情况、分叉情况以及散斑噪声干扰下的图像标准误差依次对应表 1中的s1, s2和s3,理想情况为不存在条纹分叉以及噪声干扰较小的图像。表中加粗字体表示最优值。
method gray centroid
method/pixelSteger method/
pixelthe proposed
method/pixels1 87.3528 81.0810 80.9546 s2 2.2628 4.1015 2.0966 s3 7.0723 2.7891 2.5715 Table 1. The standard error of extraction methods of light strip center line
从表 1可知,对比其它两种方法,本文中所提方法由于去除了条纹图像中大量噪声,将条纹中心的初始点进行区域生长运算,提高了条纹中心坐标的提取精度,标准误差最小,准确度相对较高。
线结构光条纹中心坐标提取作为实现3-D视觉检测系统的关键技术之一,需要满足工业环境下实时性要求,因此, 条纹中心提取算法的运行时间是检测算法实用性的一项重要指标。采用5张线结构光条纹图像分别使用上述提取方法,每张图片运行10次,3种方法提取条纹图像中心坐标的平均运行时间如表 2所示。
method gray centroid
method/sSteger
method /sthe proposed
method/s1 0.3147 1.7305 0.4128 2 0.4297 1.7528 0.4981 3 0.3571 1.6675 0.4219 4 0.4188 1.6504 0.3636 5 0.3357 1.7095 0.3837 Table 2. Average running time of extraction methods of light strip center line
从表 2可知,本文中的方法平均运行时间较快,与灰度重心法相差不大,但优于Steger法运行时间。本文中使用主成分分析求解协方差矩阵代替Hessian矩阵的求解过程,无需进行大量高斯卷积运算,在保证提取精度的条件下,计算复杂度相对较小。