APP下载

高斯加权的二维灰度重心法提取光条中心

2020-12-28严婷婷

计算机工程与设计 2020年12期
关键词:条纹高斯灰度

严婷婷,李 锋,王 琦

(江苏科技大学 电子信息学院,江苏 镇江 212003)

0 引 言

线结构光视觉测量系统[1]具有主动可控、精度高、低成本以及能够快速获取物体的三维信息的优点,具有广泛的应用前景,已被应用于道路障碍物探测与识别[2]、路面缺陷检测[3]等。其中线结构光光条中心提取是线结构光视觉系统测量过程中关键的步骤。

传统的结构光条纹中心的提取方法可以分为基于光条形态特征和基于光条灰度分布特征两个方向。基于结构光条形态特征的提取方法,其主要思想是利用光条图像的形态学特征、光条曲线自身几何特征进行光条中心提取。代表的方法有几何中心法[4]、阈值法[5]等。几何中心法确定光条中心速度快,但是当激光条纹图像中条纹出现缺失时,该方法提取的光条中心精度差,无法获取准确的中心位置;阈值法易受外界噪声的影响,提取效果较差,其改进方法如多阈值法[6]、自适应阈值法[7]等,一定程度上改善了传统阈值法提取的光条精度,但仍未能满足高精度要求。

基于结构光条灰度分布特征的提取方法,其主要原理是利用光条曲线截面内灰度值呈高斯分布这一特性,实现光条中心提取。代表的方法有极值法、灰度邻域属性法、灰度重心法[8,9]、方向模板法[10]、Steger方法[11,12]等。极值法选择每个光条截面上灰度值最大的像素点作为中心点,算法简单,计算效率高,但是精度低,对噪声点敏感;灰度属性邻域法具有一定的精度、抗噪性和鲁棒性;灰度重心法处理速率快,易受环境噪声影响,因此有学者提出了自适应二维灰度重心法[13],该方法在一定程度上改善了灰度重心法的易受环境噪声影响的缺陷;方向模板法具有抑制白噪声和小断线修补的能力,但处理速度慢;Steger方法精度高,但运算量很大,很难实现结构光条纹实时性提取。线结构光光条中心提取的现有算法已经达到了亚像素的精度,但仍存在无法兼顾精度与实时性[14,15]的问题。为了解决上述问题,本文结合高斯拟合法[16]和灰度重心法,提出一种高斯加权的二维灰度重心法。

1 激光条纹中心提取

要得到准确的光条中心,首先对光条图像进行中值滤波;然后通过阈值法减少复杂背景灰度值的干扰,从而减少后续图像数据的计算量;其次采用灰度邻域属性法进行光条中心的粗提取,并求出条纹各列的法向宽度值;最后利用高斯加权的二维灰度重心法提取激光条纹中心。该算法的流程如图1所示。

图1 算法流程

1.1 图像预处理

在实际测量中,由于外界因素的干扰,在摄像机拍摄得到的图像中掺入各种各样的噪声信号,这些噪声会给后续的图像处理,特别是对光条中心提取带来比较大的影响。采集到的光条纹受噪声影响,总是存在不光滑、亮度不均匀等问题,因此在提取光条中心之前需要将这些光条纹图像做去噪声处理。常用的去噪方法有均值滤波、自适应维纳滤波、中值滤波等,而中值滤波可以做到既去除噪声又能保护图像的边缘,所以本文采用中值滤波来实现噪声去除。

通过统计滤波后图像的灰度直方图,由式(1)得到阈值

(1)

式中:Ia为灰度直方图最大的灰度值,Ib为灰度直方图最高波峰的灰度值。

由于激光条纹图像中的条纹及背景灰度强度各异,本文采用阈值法处理滤波后的图像,这样可以减少复杂背景灰度值的干扰,同时减少图像数据计算量,提高接下来激光条纹图像处理的速度和准确度。

1.2 条纹中心粗提取

初始激光条纹中心通过灰度邻域属性法处理得到。灰度邻域属性法借助灰度邻域的特性,来清除孤点噪声。设摄像机采集的激光条纹图像的大小为M×N,某个像素的下标为(i,j):

(1)对于每一列上的每个点,由式(2)得到A(i,j)

(2)

(2)依(1)计算此列中所有像素点的灰度邻域属性A(i,j),若A(i,j0)=max[A(i,j),j=1,2,3,…],则将(i,j0)作为该列光条的中心点。

(3)按列扫描时,只要满足A(i,j)>ε,则该点为有效点,否则就不是有效点,然后计算出该列满足A(i,j)>ε的像素个数作为该列的宽度值。此处取A(i,j)>ε能够滤除孤立噪声点的干扰。

(4)如果该列激光条纹断裂,那么令该列条纹宽度Wi等于上一列的条纹宽度Wi-1。

(5)对其它列重复(1)到(4),直到求出所有列的中心点和条纹宽度。

(6)根据每一列的宽度值W,求取光条ROI区域,提高改进的灰度重心法的运算速度。

经过条纹中心的粗提取,得到了初始激光条纹中心、激光条纹宽度以及光条ROI区域,这为后续条纹中心的精确提取提供准备,大大减少了后续提取光条中心的计算量。

1.3 条纹中心的精确提取

理想的激光条纹在法线方向上灰度应满足正态高斯分布,而实际中采集的光条灰度分布并不满足。高斯拟合法可改善这种情况,但其精度不满足要求,拟合过程较为复杂。而传统的灰度重心法,其计算公式如式(3)所示,它在行坐标方向上光条选定的区域内用灰度重心表示该横截面中光条的中心位置,如图2(a)中的虚线框所示。当前存在的问题是根据采集的激光条纹图像进行光条中心线提取,它按照竖直方向计算,但在实际情况下光条的法线方向并不是竖直方向。并且由于复杂的背景下噪声的随机性和较难消除性,在进行提取时通常因为激光条纹截面像素点参与计算数量不同、干扰点灰度值有较大随机性,导致得到的中心点会出现沿坐标轴方向的偏移误差。用传统的灰度重心法方法会产生较大的误差,如图2(a)所示,上面黑点表示理想的光条中心,下面黑点表示传统的灰度重心法提取的中心点,出现了较大偏差。同时也会出现较为明显的间断现象,如图2(b)所示

图2 灰度重心法提取的光条中心

(3)

式中:I(i,j)表示(i,j)处的灰度值,I0表示条纹中心的坐标,S表示灰度重心提取的区域。

因此本文根据二维灰度重心能抑制光条走向干扰的特性,结合高斯拟合法和灰度重心法,提出一种改进的光条中心提取算法,即高斯加权的二维灰度重心法。以初始条纹中心点为灰度重心提取区域的中心,提取区域的边长为每列宽度的两倍,进行灰度重心计算获取高精度的光条中心结果。由于背景噪声等干扰因素,光条在竖直方向上灰度分布不符合光条截面模型,从而造成误差。本文方法以初始条纹中心的周围几行和几列的灰度值求取光条局部区域质心位置,并在列的方向上进行了高斯加权。这样既减少了不必要的误差,又避免了高斯拟合法的复杂拟合过程,同时也减少了计算量,提高了激光条纹中心提取精度。其计算公式为

(4)

(5)

其中,S为灰度重心提取的区域,区域大小为2W×2W,I(i,j)为(i,j)处的灰度值,(i0,j0)为初始条纹中心,(x0,y0)为提取出的重心坐标,δ为1。图3为修正后的光条图,如该图3(a)部分所示,此时提取的光条中心更接近理想情况;同时如该图3(b)部分所示,本文方法可实现对细小缺口的填补。

图3 本文方法提取的光条中心

2 实验与分析

2.1 实 验

为了验证本文改进算法的可行性,采用FU650L200-BD22一字线激光器和Manta G-125B工业相机采集如图4所示的分别在亮环境和暗环境下大小为1292×964的激光条纹图像。采用的GPU类型为Intel(R) Core(TM) i5-4200U,具有4个处理核心,内存为4 G。

图4 部分激光条纹

首先对图像进行预处理,减少复杂背景的干扰,然后用灰度邻域属性法对图像进行处理,得到每列的初始激光条纹中心和条纹宽度,并根据宽度得到ROI区域。其中在亮环境下得到的激光条纹图像扫描后得到的部分激光条纹如图4所示,由于复杂背景的影响,导致图中激光条纹宽度不均匀。采集的图像如图5所示复杂的背景导致同一幅图像中光条亮度差异大。最后用高斯加权的二维灰度重心法处理条纹图像,根据激光条纹宽度,选择不同大小的窗口,遍历条纹图像,得到条纹中心。

图5 不同环境下采集的激光条纹图像

2.2 对比分析

为了验证本文方法的性能,用本文方法与传统的灰度重心法、方向模板法以及自适应二维灰度重心法进行了实验对比。图6给出了在亮环境下各算法提取结果,并在表1中对其提取效果和运行时间做了对比分析。

图6 亮环境下各算法提取结果

表1 亮环境下各算法提取结果

在暗环境下,各算法提取结果如图7所示,由于在暗环境下采集的图像,减少了复杂的背景对光条的影响。各算法提取的结果变好,总体上与亮环境下各算法提取效果类似。

图7 暗环境下各算法提取结果

本文选取450个数据点进行曲线拟合,并通过对相关系数R2、和方差SSE以及残差均值的比较,衡量各激光条纹中心提取方法的效果。R2越接近于1,光条提取稳定性越高;SSE越接近于0,曲线拟合程度越好;残差均值越小,光条中心提取精度越高。在暗、亮环境下各算法提取的光条中心拟合结果分别见表2、表3。

表2 暗环境下各算法提取的光条中心拟合结果

表3 亮环境下各算法提取的光条中心拟合结果

由表2可知,暗环境下,灰度重心法、方向模板法拟合的相关系数较低,自适应二维灰度重心法和本文方法拟合的相关系数较高。相比于自适应二维灰度重心法,本文方法SSE拟合误差减少33%。说明在暗环境下本文方法的拟合程度较好。

由表3可知,亮环境下,灰度重心法、方向模板法受光照影响,拟合得到的相关系数降低,特别是灰度重心法,相关系数下降明显,拟合结果偏差较大。受灰度分布的影响,自适应二维灰度重心法拟合得到的相关系数有所降低,相比于自适应二维灰度重心法,本文方法SSE拟合误差减少35%,说明在亮环境下本文方法的拟合程度较好。

不同背景环境下各算法的残差均值分别为:0.76 pixels、0.62 pixels、0.45 pixels、0.26 pixels。通过对比可知,本文方法在不同背景环境下均有较高的精度。

3 结束语

由于复杂的背景环境,导致激光投射面反射率不一致,激光条纹会出现明显的不均匀现象,因此本文提出了一种高斯加权的二维灰度重心法。该方法将初始条纹中心点作为灰度重心提取区域的中心,提取区域的边长值为每列宽度值的两倍,进行灰度重心计算,并在列的方向上进行了高斯加权,从而减少条纹中心点在竖直方向上的偏移误差,减少了复杂背景下的灰度值干扰,提高了激光条纹中心提取精度。实验结果表明,无论在亮环境或暗环境下,本文方法提取的光条中心的精度和实时性均优于传统的灰度重心法、方向模板法和自适应二维灰度重心法,且具有较强的稳定性和鲁棒性。

猜你喜欢

条纹高斯灰度
采用改进导重法的拓扑结构灰度单元过滤技术
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
数学王子高斯
谁是穷横条纹衣服的人
天才数学家——高斯
别急!丢了条纹的斑马(上)
别急!丢了条纹的斑马(下)
基于最大加权投影求解的彩色图像灰度化对比度保留算法
从自卑到自信 瑞恩·高斯林
基于像素重排比对的灰度图彩色化算法研究