基于自适应窗口的线结构光条中心提取方法

2020-11-13 03:30万卓仁赖磊捷
自动化仪表 2020年10期
关键词:极值高斯残差

万卓仁,赖磊捷

(上海工程技术大学机械与汽车工程学院,上海 201620)

0 引言

近年来,基于线结构光的三维视觉检测技术以高精度、非接触性和快速等优点,被广泛应用于缺陷检测、非接触检测等领域[1]。在线结构光视觉测量系统中,快速、准确地提取光条中心,是得到目标物体三维信息的关键步骤[2]。有学者提出以光条的高斯分布中心为结构光中心的方法,来确定光条中心位置。基于这一思想,发展了极值法、阈值法[3]、灰度重心法[4]、曲线拟合法[5]和Steger法[6]等方法。

本文提出了一种基于自适应窗口的灰度重心法,用于提取结构光光条中心。该方法融合了其曲线拟合法和灰度重心法的各种特点。首先,对数字图像进行预处理;其次,进行高斯曲线初步拟合,根据高斯曲线的特性自动选取阈值,能够自适应地确定窗口范围;最后,使用灰度重心法确定光条中心位置。

1 改进的灰度重心法

本文基于上述分析,提出了一种自适应选择光条宽度的线结构光光条中心提取算法。算法的详细步骤如下。

①利用八邻域差值滤波法对数字图像进行滤波。

②使用Otsu法进行图像分割。

③取部分样本数据进行高斯拟合,并记录高斯曲线的均值和标准差。

④根据光条每行或每列的均值和标准差,使用高斯曲线能量分布的3σ准则自适应选取窗口大小,并计算窗口内数据灰度重心。

1.1 八邻域差值滤波法

在实际工业环境下,高斯噪声和椒盐噪声对数字图像的影响是巨大的。因此,首先要对噪声进行处理。由于光源的不稳定性和被测物自身的反光,导致各位置光条中心的灰度都不相同,所以通过中值滤波的方式无法把握统一尺度[7]。

本文提出了自适应八邻域差值法,用于滤波处理。具体方法如下。

①运用3×3的八领域模板,如图1所示。

图1 八邻域模板Fig.1 Eight-neighborhood template

②在二维数字图像中滑动,使模板中心与图像中的像素点Pmn重合,模板中心外八邻域像素值分别记为P1,P2,…,P8。

③计算各个像素点与中心像素灰度值的差值V1=|P1-Pmn|V2=|P2-Pmn|,…,V8=|P8-Pmn|,并设定阈值T。

(1)

将以上八个差值与T相比,如果大于T则认为该像素点是噪声,应当剔除。通过该方法,可以有效剔除大部分噪声,完全剔除远离光条中心的噪声,且不影响光条的边缘,保留了图像的细节。

1.2 Otsu法分割图像

图像分割就是将一副图像分割成不同的部分(被测目标与背景),舍去背景部分,保留目标信息。该方法大大减少了计算时的数据量,提高了检测精度。在分割图像中,阈值分割较为常用,特别适合目标灰度值和背景灰度值有较大差异的图像。Otsu法[8]作为一种自适应的图像分割方法,被认定是最合理的图像阈值分割方法。因此,本文将Otsu法作为图像分割方法,在MATLAB中能通过函数直接实现。

1.3 自适应窗口的灰度重心法

理想情况下,由激光器发射的激光在被测物体表面形成的光条,在其法向方向的截面上光条的能量强度呈高斯分布[9],光条横截面的像素值近似服从高斯分布,所以可以用高斯曲线拟合的方法进行初步拟合。设高斯曲线表达式为:

(2)

式中:f(x)为灰度值函数;A为幅值;μ为均值,即条纹中心;σ为标准差。

对式(2)的等式两边同时取对数,得到:

(3)

此时,就可以把高斯拟合看作二次多项式拟合。

逐行扫描分割后的图像,在每一行中记录光条宽度以及边缘坐标。在光条总宽上等距取N个点进行初步拟合。这N个采样点可以记为]xi,f(xi)]。其中,xi为该行的第i个像素点的列坐标。利用最小二乘法进行多项式的拟合,就可以确定[μ,σ,A]的值。

服从高斯分布的概率密度函数为:

(4)

根据概率密度的特性,68.27%的高斯能量聚集在[μ-σ,μ+σ]的范围内,95.45%的高斯能量聚集在[μ-1.96σ,μ+1.96σ]的范围内,99.74%的高斯能量聚集在[μ-3σ,μ+3σ]的范围。只要将拟合得到的高斯曲线乘上系数A*,即可得到g(x)。

(5)

虽然每个点的灰度值大小发生变化,但是能量分布却不会发生变化,条纹中心的位置也不会发生变化,同样满足概率密度的分布。

王顺等根据各种情况下的高斯模型比较,提出以光条横截面所具有的能量和为光条中心点信度的评价依据是符合实际情况的[10]。因此,可以以激光的能量分布情况来确定条纹中心的位置。在高斯模型中,条纹中心落在[μ-3σ,μ+3σ]以外的概率小于0.3%。在实际应用中,常认为该事件是不会发生的,基本可以将这个区间看作是条纹中心取值区间。这就是高斯分布的“3σ原则”。因此,可以根据被测对象的特性来选取合适倍数的σ,作为灰度度心法的计算区间。本文根据3σ原则,自适应地确定区间长度,采用高斯拟合的方法求出每行3σ和μ的值,并使用[μ-3σ,]μ+3σ]作为该行灰度重心法的计算窗口,在此范围内使用灰度重心法。

(6)

当所有行全部执行结束后,即可得到提取出的光条中心。

2 试验与分析

为验证光条提取算法有效性,本文搭建了基于单线结构光的视觉测量系统。系统使用大恒图像的MER-130-30UM型数字相机,其分辨率为1 280×1 024;镜头使用大恒新纪元科技股份有限公司的GCO-260611物方远心测微镜头。试验中,利用线型激光器向被测对象发射激光,摄像机拍摄被测对象,并用本文提出的算法对光条图像进行处理。其中,摄像机、激光器以及被测工件这三者之间的位置满足三角法测量系统的位置分布要求[11]。

图2是摄像机采集到的原始激光图像,即线结构光照射到一个圆台表面形成的曲线图像。

图2 原始激光图像Fig.2 Original laser image

对图2进行自适应八邻域差值滤波,并采用Otsu法分割后,得到预处理后图像,如图3所示。

图3 预处理后图像Fig.3 Pre-processed image

光条中心图像如图4所示。图4(a)为通过自适应窗口的灰度重心法求出的光条中心,图4(b)为图4(a)的局部放大。

图4 光条中心图像Fig.4 Image of light stripes center

以上提取出的光条中心曲线是在噪声很小、光照理想的情况下得到的。实际工业环境却较为恶劣,所以需要通过加噪声,改变外部光照条件来模拟实际的环境。图5是摄像机在同一个位置、不同光照强度和噪声下采集的激光条纹图像。图5(a)~图5(c)分别是在不同光照下得到的图像,图5(d)是在图5(b)的基础上人为加入了椒盐噪声以及高斯噪声后,得到的中等光照图像。

图5 不同外部条件下的线结构光条纹图像Fig.5 Images of line structured light stripes under different external conditions

分别采用传统的灰度重心法、梅俊华等人提出的融合极值法的灰度重心法、基于自适应窗口的灰度重心法提取激光条纹中心。对比每种方法的第400、450行提取结果,如表1所示。

由于在实际测量中,光条真实中心无法测量,因此常用残差v代替真差,然后按照Bessel公式计算标准误差的值:

(7)

表1 不同条件下提取光条中心的对比Tab.1 Comparison of strip centers extgracted by different methods

由表1可知,对比图序号图5(b)和图5(d),可验证噪声对光条中心提取的影响:人为加入噪声后对于传统的灰度重心法平均残差为1.96 pixels,对于融合极值法的灰度重心法平均残差为0.33 pixels,对于自适应窗口的灰度重心法平均残差几乎为0。由此可以说明工业噪声对于传统方法的影响较大,不能满足实际工业需求。而融合极值法的灰度重心法和基于自适应窗口的灰度重心法的抗噪声能力高于传统的灰度重心法。

对比图5(a)~图5(c),可验证光照强度对光条中心提取的影响。图5光照强度由强变弱:传统灰度重心法在较强光、中等光、弱光下的平均残差分别为2.36 pixels、0.55 pixels、0.10 pixels;融合极值法的灰度重心法在3种光强下的平均残差分别为1.51 pixels、0.09 pixels、1.57 pixels;本文算法在3种光强下的平均残差分别为0.62 pixels、0.64 pixels、0.14 pixels。在实际应用中多采用弱光条件。 因此,基于自适应窗口的灰度重心法鲁棒性和精确度优于其他两种算法。

对比以上四种条件下的标准误差,基于自适应窗口的灰度重心法(0.54)比传统的灰度重心法(2.01)和融合极值法的灰度重心法(1.27)效果更好。综上所述,基于自适应窗口的灰度重心法具有很好的鲁棒性和精确度。

同时,在光照和噪声一致的环境下,对比近些年来最新提出的光条中心提取算法(融合极值法的灰度重心法、刘剑等提出的基于海森矩阵和区域增长的提取方法[12]、甘宏等提出的双阈值自适应分割方法和本文提取方法)的标准误差和运行时间。同一条件下,不同方法标准方差和运行时间的对比如表2所示。

表2 同一条件下不同方法标准方差和运行时间的对比Tab.2 Comparison of standard variance and running time of different methods under the same condition

由表2可知,随着标准误差的减小,运行时间不断增大。融合极值法的灰度重心法运行时间最快(0.43 s),但是标准误差(1.27)较大,精度不能满足检测需求。基于海森矩阵和区域增长的提取方法和双阈值自适应分割方法精度比较高。但这两种方法运行时间已经不能满足实时性的要求。本文所提出改进的算法在计算速度和预测精度之间达到了平衡,比较适合实际的工业环境。

3 结论

线结构光光条中心提取是视觉测量的主要步骤,直接决定了整个视觉测量系统的优劣。本文提出一种自适应窗口线结构光光条中心高精度算法。该方法将高斯曲线特性和传统的灰度重心法相结合,通过自适应窗口灰度重心法提取得到的光条中心位置的最大残差、标准误差和运行时间均优于传统方法下得到的光条中心的最大残差、标准误差和运行时间。试验结果表明,通过分析高斯曲线能量分布自适应地调整窗口大小,再进行灰度重心的计算,能很好地消除实际工业环境中噪声和外部光照强度改变带来的影响,使精度与运行时间达到一定的平衡。这对于线结构光在工业领域应用意义更加突出。

猜你喜欢
极值高斯残差
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
极值(最值)中的分类讨论
极值点带你去“漂移”
极值点偏移拦路,三法可取
基于残差学习的自适应无人机目标跟踪算法
极值点偏移问题的解法
基于深度卷积的残差三生网络研究与应用
数学王子高斯
天才数学家——高斯