激光与光电子学进展, 2020, 57 (10): 101504, 网络出版: 2020-05-08   

基于二次平滑算法的线结构光中心线提取方法 下载: 923次

Method for Extracting the Centerline of Line Structured Light Based on Quadratic Smoothing Algorithm
作者单位
西南交通大学机械工程学院, 四川 成都 610031
摘要
针对线结构光自身分布不均匀且易受环境影响的问题,提出了一种基于二次平滑算法的线结构光中心线提取方法。首先对采集的图像进行感兴趣区域裁剪以减少激光条纹中心线提取的计算量;然后用灰度重心法提取激光条纹中心线的初始值,用均值法平滑激光条纹中心线初始位置的大凸起与毛刺;最后通过Savitzky-Golay滤波算法二次平滑激光条纹中心线的小凸起和毛刺。实验结果表明,与灰度重心法相比,该方法提取分辨率为1280 pixel×720 pixel的图像激光条纹中心线用时略快0.10 s,精度提高了19.15%~44.87%,且受光强变化的影响较小,满足实时性强、精度高、稳定性好的要求。
Abstract
In order to solve the problem that the distribution of line structured light is not uniform and it is easy to be affected by the environment, a method for extracting the centerline of line structured light based on quadratic smoothing algorithm is proposed. First, the region of interest of the collected image is cropped to reduce the calculation amount of the laser stripe centerline extracting. Then the gray center of gravity method is used to extract the initial value of the laser stripe centerline, and mean value method is used to smooth the big bulge and burr at the initial position of the laser stripe centerline. Finally, Savitzky-Golay filtering algorithm is used to smooth the small bulge and burr of the laser stripe centerline twice. Experiment results show that, compared with the gray center of gravity method, it is slightly faster than about 0.10 s when using this method to extract the centerline of the laser fringe of the image with a resolution of 1280 pixel×720 pixel, and the accuracy is improved by 19.15% to 44.87%. The impact from the change of light intensity is small. Therefore, the method meets the requirements of good real-time, high precision, and good stability.

1 引言

随着科技的发展与进步,以数字图像处理为基础的线结构光非接触测量应运而生,成为三维测量研究的热点。该方法测量速度快、结果精准,且易于实现[1-2],因此被广泛应用于考古学、机器人学、医学、**、汽车、工业等多个领域[3-6]

利用数字图像处理技术从光条图像中提取激光条纹中心线的像素坐标是线结构光三维测量的关键,其精度直接影响了最终测量结果[7-9]。目前,提取线结构光中心线的方法主要包括:1)基于几何中心的提取方法,如细化法、边缘法、阈值法,此类方法速度快,但精度低,只能达到像素级别;2)基于灰度特征的提取方法,如灰度重心法、方向模板法、Hessian矩阵法,此类方法精度高,但速度慢[10]。为了同时提高算法的提取效率和精度,且满足稳定性好的条件,众多学者对其进行了深入研究。文献[ 11]先用二维高斯卷积得到条纹图像的梯度分布,再用极值法获取激光条纹中心线的初始位置,利用主成分分析确定这些点的法线方向,最后将条纹的灰度分布函数在法线方向进行二阶泰勒展开获得激光条纹中心线的精确位置。该方法计算复杂,难以保证实时性的要求。文献[ 12]采用改进的灰度-重力法计算了图像中所有列的激光条纹中心线点,提取精度有明显提高,但耗时为原算法的15倍。文献[ 13]提出了一种基于改进灰度重心法的光带中心提取算法,与原算法相比在精度上略有提高。本文在灰度重心法的基础上提出了基于二次平滑算法的线结构光中心线提取方法,减小了激光光强分布不均对提取精度的影响,提高了激光条纹中心线的提取精度,且满足实时性强的要求。

2 提取激光条纹中心线

改进灰度重心法的主要思想:先对采集的图像进行感兴趣区域(ROI)裁剪以减少激光条纹中心线提取的计算量;然后用灰度重心法获取激光条纹中心线初始值,再用均值法平滑初始中心的大凸起和毛刺;最后用Savitzky-Golay滤波算法消除初次平滑后的小凸起和毛刺得到最终的激光条纹中心线。

2.1 ROI裁剪

由于提取激光条纹中心线的初始位置是逐行逐列处理图像上每个像素[13],速度较慢。为了减少算法的计算量,提高计算速度,预处理后再裁剪图像中的ROI。具体步骤:

1) 将相机采集的分辨率为1280 pixel×720 pixel的图像切分为100个128 pixel×72 pixel的小图像;

2) 因预处理后图像的条纹处灰度值为255,其他地方的灰度值为0。定义W,V,S,Q四个一维数组,对第一行10个图像从左到右逐个处理,判断每个图像中的像素最大灰度值是否为255。若是,则将这个图像的第1列在原图中的列数储存在数组W中,第128列在原图中的列数储存在数组V中,第1行在原图中的行数储存在数组S中,第72行在原图中的行数储存在数组Q中;相反,则处理下一个图像。按相同的方法依次处理其余图像;

3) 令数组WS中的最小值为ws,数组VQ中的最大值为vq,以w,v,s,q为ROI边界裁剪图像。

裁剪前后的图像如图1所示,可以发现裁剪后图像的尺寸相对小了许多,从而缩短了算法的计算量。

图 1. 裁剪前后图像。(a)裁剪前图像;(b)裁剪后图像

Fig. 1. Image before and after cropping. (a) Image before cropping; (b) image after cropping

下载图片 查看所有图片

2.2 灰度重心法

灰度重心法[14]将每一行激光条纹截面的灰度值质心作为激光条纹中心线。具体步骤:

1) 先求出图像上第一行激光条纹光强灰度值最大点Gmax;

2) 再确定阈值L=Gmax-g(一般取10~20),然后在Gmax两侧找出灰度值大于L的像素点,将其灰度值储存在数组I中,位置储存在数组H中;

3) 最终该行激光条纹中心点的纵坐标可表示为

Y=i=1rIiHii=1rIi,(1)

式中,r为数组HI的元素个数;

4) 重复以上步骤,直至处理完整个图像。

灰度重心法是对极值法的改进,很大程度上减小了激光条纹灰度值分布不均匀造成的提取误差,且提取速度快。但精度仍会受到激光条纹光强的影响,稳定性不高,特别是激光条纹光强饱和时,提取结果会有大的凸起和毛刺,与实际激光条纹中心线偏差较大[15],如图2所示。

图 2. 灰度重心法提取结果

Fig. 2. Result of the gray center of gravity method

下载图片 查看所有图片

2.3 初次平滑

针对灰度重心法提取激光条纹中心线带有凸起和毛刺的问题,用均值法对其进行初次平滑。设该行激光条纹中心线初始位置为(ai,bi),具体步骤:

1) 令激光条纹中心线新的位置为(ci,li),在[1,j-10]的范围内(j为数组a的长度)。

ci+5=ai+ai+5+ai+103,(2)li+5=bi+bi+5+bi+103(3)

2)补偿第一步平滑的缺陷,在[1,5]∪[j-4,j]的范围内

ci=ai,(4)li=bi(5)

经初次平滑后的激光条纹中心线如图3所示,可以明显看出,初次平滑消除了激光条纹中心线的大凸起和毛刺,与实际的激光条纹中心线更接近。

图 3. 初次平滑前后结果对比

Fig. 3. Comparison of results before and after primary smoothing

下载图片 查看所有图片

2.4 二次平滑

1964年提出的Savitzky-Golay滤波算法[16]主要思想是对原始数据中某一连续2M+1个数据点(窗口宽度),选用某一拟合阶次N进行最小二乘拟合,取拟合曲线在窗口中心点处的值为滤波后的值,然后移动窗口,重复上述操作,对所有数据进行处理[17]。为使激光条纹中心线提取的精度更高,实验用Savitzky-Golay滤波算法对初次平滑后的条纹做二次平滑。具体步骤:

1) 设原始数据为x(n),则拟合后的数据p(n)可表示为

p(n)=k=0Ndknk,(6)

式中,k为多项式的阶数,dk为多项式系数;

2) 拟合数据的均方误差θN可表示为

θN=n=-MMp(n)-x(n)2=n=-MMk=0Ndknk-x(n)2(7)

3) 令

θNdk=0,k=0,1,,N,(8)

由微积分原理可解出多项式系数dk;

4) 将dk代入(6)式中,取数据中心点(横坐标为0处)的值作为滤波后的值,即p(0)=d0。然后以大小为2M+1的滑动窗口,重复上述过程。

二次平滑后的结果与初次平滑后的结果如图4所示,可以看出相比初次平滑,二次平滑后的曲线更加平滑,这表明二次平滑后的结果更加精准。

图 4. 两次平滑结果对比

Fig. 4. Comparison of two smoothing results

下载图片 查看所有图片

3 实验结果与分析

首先建立三维测量系统,标定好系统的相关参数,取直径为59 mm和深度为45.7 mm的标准块放在运动平面上,然后拍摄投影在标准块上的激光条纹,采用本方法提取激光条纹中心线,最后根据相关数学模型计算其直径和深度。实验器材:分辨率为1280 pixel×720 pixel的CMOS相机、功率为5 mW、波长为650 nm的一字激光器。拍摄的激光条纹及中心线提取结果如图5所示。

图 5. 标准块上激光条纹中心线的提取结果。(a)圆柱标准块;(b)深度标准块

Fig. 5. Center line of the upper laser stripe on the standard block and its extraction results. (a) Cylinder standard block; (b) depth standard block

下载图片 查看所有图片

通过数学模型将标准块上的激光条纹中心线像素坐标转化为三维坐标,并与实际值比较,得到本方法的测量误差,如图6所示。可以看出,灰度重心法计算出的标准块直径和深度的误差范围分别为-0.5~1.3 mm和-0.3~1.2 mm,而本方法计算出的标准块直径和深度的误差范围分别为-0.2~0.3 mm和-0.3~0.4 mm,这证明了本方法提取的激光条纹中心线精度较高。

图 6. 标准块误差。(a)直径误差;(b)深度误差

Fig. 6. Error of standard block. (a) Diameter error; (b) depth error

下载图片 查看所有图片

本方法不仅可用于工件直径和深度的测量,还可用于工厂钢板长度的在线测量[18]、机器人自动焊缝跟踪[19]、列车钢轨磨损测量[20]、焊缝宽度检测[21]等方面。为进一步验证本方法的准确性、实时性及稳定性,以上述四个应用方面涉及到的直线、断线、曲线、折线激光条纹为研究对象,分别采用灰度重心法和本方法提取了四种线型的激光条纹中心线,结果如图7所示。可以看出,相比灰度重心法,本方法提取激光条纹中心线时受激光光强分布不均匀的影响较小,且提取结果中没有凸起和毛刺,提取精度较高。

图 7. 四种典型线型。(a)直线;(b)断线;(c)曲线;(d)折线

Fig. 7. Four typical line types. (a) Straight line; (b) bolt; (c) curve; (d) broken line

下载图片 查看所有图片

3.1 准确度分析

用灰度重心法和本方法提取图7中四种线型的激光条纹中心线像素坐标,并分别与Hessian矩阵法提取的激光条纹中心线像素坐标作差,求其标准误差,结果如表1所示。标准误差越小,表示激光条纹中心线提取的精度越高[22]。可以看出,两种方法对不同线型提取激光条纹中心线的准确度各不相同,但趋势一致,其中提取直线激光条纹中心线的精度最高,提取折线激光条纹中心线的精度最低;相比灰度重心法,本方法提取激光条纹中心线的精度提高了19.15%~44.87%。

表 1. 激光条纹中心线提取误差

Table 1. Center error of laser stripe extraction

Line typeStraight lineBoltCurveBroken line
Gray center of gravity method /pixel0.44970.57640.78810.8642
Our method /pixel0.31710.38490.47450.4764
Relative error reduction /%29.4919.1539.7944.87

查看所有表

3.2 运行时间分析

由于提取激光条纹中心线要求同时兼备高精度和实时性的特点,因此对图7中两种方法提取激光条纹中心线的时间进行比较。为减小误差,在同一台计算机上分别采用两种方法对同一组图像进行10次激光条纹中心线提取,取运行时间的均值作为消耗时间,结果如表2所示。可以看出,两种方法对不同线型提取激光条纹中心线的时间各不相同,但趋势一致。其中提取直线激光条纹中心线耗时最短,提取曲线激光条纹中心线耗时最长;整体上本方法略快于灰度重心法,能满足实时性要求。

表 2. 运行时间

Table 2. Operation timeunit: s

Line typeStraight lineBoltCurveBroken line
Gray center of gravity method0.10500.11960.12070.1202
Our method0.08130.10210.11780.1100

查看所有表

3.3 稳定性分析

为比较两种方法的稳定性,用相机在同一位置、不同光照条件下采集了四幅激光条纹图像,如图8所示。分别采用灰度重心法和本方法提取四幅图像的激光条纹中心线,取第100、200、300、400、500行的纵向像素坐标,计算其标准方差,结果如表3所示。可以看出,不同光照条件下,灰度重心法第100、200、300、400、500行的标准方差在0.4227~0.7919 pixel之间,而本方法的标准方差在0.1663~0.2907 pixel之间,小于灰度重心法,这表明本方法稳定性较高。

图 8. 不同光照条件下的激光条纹图像

Fig. 8. Laser fringe pictures under different illumination conditions

下载图片 查看所有图片

表 3. 激光条纹中心线提取坐标比较

Table 3. Comparison of coordinates extracted from laser fringe centerunit: pixel

Map serialnumberGray center of gravity methodOur method
100200300400500100200300400500
1619.985620.491618.737619.500619.500620.643620.163619.232618.738618.560
2619.496620.501618.001619.016619.347620.638619.829618.984619.123618.373
3620.377620.003619.497619.025619.504620.516619.824619.381618.989618.588
4619.511619.024619.753620.000620.500620.117619.839619.618618.464618.208
Standarddeviation0.42270.69390.79190.46800.52990.24810.16630.26590.29070.1774

查看所有表

4 结论

分析了激光条纹中心线提取的现状和问题,针对传统灰度重心法提取激光条纹中心线易受光照影响等问题,提出了一种基于二次平滑算法的线结构光中心线提取方法,消除了激光条纹中心线初始位置的凸起和毛刺。实验结果表明,与灰度重心法相比,本方法提取激光条纹中心线的精度提高了19.15%~44.87%,且运算量小、提取速度较快,能满足实时性要求,同时环境变化对提取结果的影响较小,稳定性更强。此外,该方法还能应用于其他激光条纹中心线的提取,具有较强的实用价值。

参考文献

[1] He L Y, Wu S S, Wu C. Robust laser stripe extraction for three-dimensional reconstruction based on a cross-structured light sensor[J]. Applied Optics, 2017, 56(4): 823-832.

[2] 张斌, 常森, 王桔, 等. 基于遗传算法的激光视觉焊缝特征点提取[J]. 中国激光, 2019, 46(1): 0102001.

    Zhang B, Chang S, Wang J, et al. Feature points extraction of laser vision weld seam based on genetic algorithm[J]. Chinese Journal of Lasers, 2019, 46(1): 0102001.

[3] KoyuncuB, KulluK. Development of an optical 3D scanner based on structured light[C]∥Proceedings of the 9th WSEAS International Conference on Artificial Intelligence, Knowledge Engineering and Data Bases, February,2010, Cambridge, UK, 2010: 17- 22.

[4] 李凤娇, 李小菁, 刘震. 基于多尺度分析的激光光条中心点坐标提取方法[J]. 光学学报, 2014, 34(11): 1110002.

    Li F J, Li X J, Liu Z. A multi-scale analysis based method for extracting coordinates of laser light stripe centers[J]. Acta Optica Sinica, 2014, 34(11): 1110002.

[5] 林帅, 宋展, 陈寅, 等. 使用白色结构光编码的三维几何发型重建[J]. 计算机辅助设计与图形学学报, 2017, 29(4): 593-598.

    Lin S, Song Z, Chen Y, et al. 3D geometric hair reconstruction using white structure-of-light coding[J]. Journal of Computer-Aided Design & Computer Graphics, 2017, 29(4): 593-598.

[6] 薛婷, 吴斌, 张涛, 等. 基于线结构光视觉传感器的圆孔定位误差分析[J]. 光学精密工程, 2008, 16(4): 624-629.

    Xue T, Wu B, Zhang T, et al. Analysis on round-hole orientation error based on structured light stripe vision sensor[J]. Optics and Precision Engineering, 2008, 16(4): 624-629.

[7] Usamentiaga R, Molleda J, Garcia D F, et al. Removing vibrations in 3D reconstruction using multiple laser stripes[J]. Optics and Lasers in Engineering, 2014, 53: 51-59.

[8] Sun Q C, Chen J, Li C J. A robust method to extract a laser stripe centre based on grey level moment[J]. Optics and Lasers in Engineering, 2015, 67: 122-127.

[9] Zhang Z Y, Yuan L. Building a 3D scanner system based on monocular vision[J]. Applied Optics, 2012, 51(11): 1638-1644.

[10] 杨建华, 杨雪荣, 成思源, 等. 线结构光三维视觉测量中光条纹中心提取综述[J]. 广东工业大学学报, 2014, 31(1): 74-78.

    Yang J H, Yang X R, Cheng S Y, et al. Review of extracting the centers of linear structured light stripes for 3D visual measurements[J]. Journal of Guangdong University of Technology, 2014, 31(1): 74-78.

[11] 蔡怀宇, 冯召东, 黄战华. 基于主成分分析的结构光条纹中心提取方法[J]. 中国激光, 2015, 42(3): 0308006.

    Cai H Y, Feng Z D, Huang Z H. Centerline extraction of structured light stripe based on principal component analysis[J]. Chinese Journal of Lasers, 2015, 42(3): 0308006.

[12] Li Y H, Zhou J B, Huang F S, et al. Sub-pixel extraction of laser stripe center using an improved gray-gravity method[J]. Sensors, 2017, 17(4): 814.

[13] 张小艳, 王晓强, 白福忠, 等. 基于改进灰度重心法的光带中心提取算法[J]. 激光与红外, 2016, 46(5): 622-626.

    Zhang X Y, Wang X Q, Bai F Z, et al. Improved gray centroid method for extracting the centre-line of light-stripe[J]. Laser & Infrared, 2016, 46(5): 622-626.

[14] 刘剑, 刘丽华. 基于海森矩阵与区域增长的激光条纹中心提取[J]. 激光与光电子学进展, 2019, 56(2): 021203.

    Liu J, Liu L H. Laser stripe center extraction based on Hessian matrix and regional growth[J]. Laser & Optoelectronics Progress, 2019, 56(2): 021203.

[15] 李丹, 耿楠, 亢娟娜. 复杂背景下光条中心提取算法研究[J]. 计算机应用与软件, 2013, 30(3): 271-273, 314.

    Li D, Geng N, Kang J N. Research on laser stripe centre extraction algorithm under complex background[J]. Computer Applications and Software, 2013, 30(3): 271-273, 314.

[16] 赵安新, 汤晓君, 张钟华, 等. 优化Savitzky-Golay滤波器的参数及其在傅里叶变换红外气体光谱数据平滑预处理中的应用[J]. 光谱学与光谱分析, 2016, 36(5): 1340-1344.

    Zhao A X, Tang X J, Zhang Z H, et al. Optimizing Savitzky-Golay parameters and its smoothing pretreatment for FTIR gas spectra[J]. Spectroscopy and Spectral Analysis, 2016, 36(5): 1340-1344.

[17] 陈书旺, 王军星, 盛伟楠, 等. Savitzky-Golay滤波器最优参数的SPR信号分析[J]. 光谱学与光谱分析, 2015, 35(4): 1124-1128.

    Chen S W, Wang J X, Sheng W N, et al. Analysis of SPR signal by using optimized Savitzky-Golay filter[J]. Spectroscopy and Spectral Analysis, 2015, 35(4): 1124-1128.

[18] 梅天灿, 仲思东, 何对燕. 可变环境光照条件下的结构光条纹检测[J]. 仪器仪表学报, 2011, 32(12): 2794-2801.

    Mei T C, Zhong S D, He D Y. Structured light stripe detection under variable ambient light[J]. Chinese Journal of Scientific Instrument, 2011, 32(12): 2794-2801.

[19] 甘文龙, 罗会信, 王中任. 管道焊接激光视觉跟踪的定位方法研究[J]. 激光与红外, 2018, 48(6): 675-681.

    Gan W L, Luo H X, Wang Z R. Research on positioning method of laser vision tracking for pipeline welding[J]. Laser & Infrared, 2018, 48(6): 675-681.

[20] 孙军华, 王恒, 刘震, 等. 钢轨磨耗动态测量中激光光条中心的快速提取[J]. 光学精密工程, 2011, 19(3): 690-696.

    Sun J H, Wang H, Liu Z, et al. Rapid extraction algorithm of laser stripe center in rail wear dynamic measurement[J]. Optics and Precision Engineering, 2011, 19(3): 690-696.

[21] Wang XP, Bai RL, Liu ZT. Weld seam detection and feature extraction based on laser vision[C]∥Proceedings of the 33rd Chinese Control Conference, July 28-30, 2014, Nanjing, China. New York: IEEE, 2014: 1589- 1592.

[22] 刘振, 李声, 冯常. 基于互相关算法的激光条纹中心提取[J]. 中国激光, 2013, 40(5): 0508004.

    Liu Z, Li S, Feng C. Laser stripe center extraction based on cross-correlation algorithm[J]. Chinese Journal of Lasers, 2013, 40(5): 0508004.

杨毅, 闫兵, 董大伟, 黄燕, 唐忠智. 基于二次平滑算法的线结构光中心线提取方法[J]. 激光与光电子学进展, 2020, 57(10): 101504. Yi Yang, Bing Yan, Dawei Dong, Yan Huang, Zhongzhi Tang. Method for Extracting the Centerline of Line Structured Light Based on Quadratic Smoothing Algorithm[J]. Laser & Optoelectronics Progress, 2020, 57(10): 101504.

本文已被 4 篇论文引用
被引统计数据来源于中国光学期刊网
引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!