1. 东北大学秦皇岛分校 计算机与通信工程学院,河北 秦皇岛 066004;
2. 东北大学秦皇岛分校 控制工程学院,河北 秦皇岛 066004
收稿日期:2022-06-28
作者简介:张铫(1974-),男,天津人,东北大学秦皇岛分校副教授。
摘要:提出一种基于骨架邻近像素匹配的线结构光条中心提取方法,分别在图像预处理阶段和光条中心提取阶段对传统方法进行改进.在图像预处理阶段,将马尔可夫随机场理论应用于二值图像去噪中,同时提出了一种基于连通域面积特性的ROI(region of interest)提取方法.在光条中心提取阶段,首先提出了一种光条骨架剪枝算法,对细化ROI得到的光条骨架进行剪枝、平滑,之后综合考虑光条图像的几何特性和灰度分布特性,基于邻近分析对ROI内各像素进行划分,继而求取出灰度重心,最后经Savitzky-Golay滤波后实现光条中心提取.实验结果表明,所提方法对不同类型光条的提取适用性强,相较于Steger法精度更高,且速度在其基础上提高了约6.98倍.
关键词:图像处理线结构光光条中心提取骨架细化灰度重心法
Extraction Method of Light Stripe Center Based on the Matching of Adjacent Pixels of Skeleton
ZHANG Yao1, XIA Yu-feng1, WANG Zi-qi1, LIU Yang2
1. School of Computer and Communication Engineering, Northeastern University at Qinhuangdao, Qinhuangdao 066004, China;
2. School of Control Engineering, Northeastern University at Qinhuangdao, Qinhuangdao 066004, China
Corresponding author: XIA Yu-feng, E-mail: 2072088@stu.neu.edu.cn.
Abstract: An method of the line-structured light stripe center extraction based on the matching of adjacent pixels of skeleton is proposed. The traditional method is improved in the phase of image preprocessing and light stripe center extraction. In the phase of image preprocessing, Markov's random field theory is applied to denoise binary images, and a method of extracting region of interest(ROI)based on the area characteristics of connected regions is proposed. In the phase of light stripe center extraction, firstly, a light stripe skeleton pruning method is proposed to prune and smooth the stripe skeleton obtained by the refined ROI. Secondly, considering the geometric and gray distribution characteristics of the light stripe image, the pixels in the ROI are divided based on an analysis of adjacent areas, and then the gray barycenter is obtained. Finally, Savitzky-Golay filter is used to extract the center of light stripe with sub-pixel precision. Experimental results show that the proposed method has strong applicability for different types of light stripe extraction and achieves higher precision compared with Steger method. And it's worth noting that the speed of the proposed method is about 6.98 times higher than that of the Steger method.
Key words: image processingline-structured lightlight stripe center extractionskeleton refinementgray-barycenter method
线结构光三维测量技术基于三角法原理,因其高速、高精度、非接触的特点,被广泛应用于医疗、工业、交通等领域.测量的主要步骤为:线激光发生器产生线结构光投射在被测量物体表面;相机采集受物体表面形貌调制而发生变化的光条图像[1];根据世界坐标系与相机坐标系的位置关系及线结构光平面方程,确定被测表面光条纹投影点的三维信息.由于投射在物体上的激光条纹有一定宽度,因此激光条纹中心提取是必不可少的步骤[2].采用一种高效、稳定、精确的光条纹中心提取方法是测量系统实时性、适用性、准确性的保证.
依据实现原理的不同,可将现有光条中心提取方法分为三大类.第一类为光条纹几何中心提取法,包含边缘法、阈值法、骨架细化法等.边缘法、阈值法处理迅速,但对噪声敏感,精度较低[3];骨架细化法受光强和光条轮廓的影响,提取的中心线上存在不同程度的毛刺[4].第二类为光条纹能量中心提取法,包含灰度重心法、极值法、曲线拟合法、方向模板法等[5-8].其中,灰度重心法对噪声较敏感且提取精度受光条曲率的影响;极值法、曲线拟合法仅适用于光条截面灰度近似理想高斯分布的情形;方向模板法能有效修补断线、抑制噪声,但运算量大、耗时长.第三类为更具有特征性的方法,主要包含Steger法[9]、基于传统方法的改进方法以及基于深度学习的光条中心提取方法等.Steger法利用Hessian矩阵确定光条纹的法线方向,并在法向求极值点以确定光条纹的亚像素中心坐标,该方法因其高精度和强鲁棒性成为目前应用最广泛的光条中心提取方法,但由于Hessian矩阵计算复杂,使其无法应用于有高实时性需求的系统.针对传统方法的不足,许多****在其基础上提出了改进方法.李涛涛等[10]构建了高斯-洛伦兹分峰拟合模型对光条截面能量分布进行拟合,解决了传统曲线拟合法对截面灰度为非理想高斯分布的光条进行中心提取的不适应性问题,但是拟合速度慢,仅限于光条中心的离线提取.Cai等[11]采用基于Legendre矩阵的方法提取光条中心并用三次Hermite样条插值得到更平滑的中心线,该方法与灰度重心法相比精度更高,但复杂度较高.光条中心提取模型在深度学习领域还处于起步阶段[12],王胜春等[13]基于ENet深度学习模型进行图像预处理,采用分区域多模板匹配的灰度重心法实现了亚像素光条中心提取,但是提取结果依赖于深度学习的预处理过程,训练成本较高[12].
针对现有光条纹提取方法的不足,本文在骨架细化法和灰度重心法这两种传统方法的基础上,提出了一种基于骨架邻近像素匹配的光条中心提取方法.该方法克服了骨架细化法提取的中心线有毛刺、不平滑以及灰度重心法对噪声敏感的缺点,同时考虑了光条纹的几何特征和灰度分布特征,能实现高速、精确的中心提取.
1 图像预处理在提取光条中心前,需要先对图像预处理以去除噪声和简化后续运算,基本流程如图 1所示.
图 1(Fig. 1)
图 1 图像预处理流程图Fig.1 Flow chart of image preprocessing |
1.1 加权最小二乘滤波算法加权最小二乘滤波算法是一种自适应保留边缘的图像平滑算法[14],该算法的目标函数表示如下:
(1) |
(2) |
(3) |
图 2(Fig. 2)
图 2 加权最小二乘滤波前后对比图Fig.2 Before and after weighted least squares filtering (a)—原图像;(b)—滤波后图像. |
1.2 双阈值大津法图像分割在光条图像中,受环境光影响,类间方差没有出现明显峰谷,因而用传统大津法[15]达不到理想的分割效果.针对这一特性,本文采用双阈值大津法[16]进行分割,算法步骤为:将图像中像素分为暗背景B1、亮背景B2、前景F三类.T1和T2分别为双阈值中的较低阈值和较高阈值.将灰度值在[0, T1]内的像素划入B1, 灰度值在(T1, T2]内的像素划入B2, 灰度值在(T2, 255]内的像素划入F.B1, B2, F包含的像素数占全部像素的比例分别为p1, p2, p3,这三类像素的灰度均值分别为 m1, m2, m3.则全局均值m为
(4) |
(5) |
图 3(Fig. 3)
图 3 传统大津法与双阈值大津法效果对比Fig.3 Comparison between traditional Otsu method and double threshold Otsu method (a)—原图;(b)—传统大津法;(c)—双阈值大津法. |
1.3 基于马尔可夫随机场的二值图像去噪马尔可夫随机场是一种描述系统中粒子间能量的相互作用关系的无向图模型[17].本文基于马尔可夫随机场理论对二值图像去噪,算法步骤如下:
1) 将像素x的邻域分为四邻域Nq和对角邻域Nd, 如图 4所示.
图 4(Fig. 4)
图 4 像素邻域系统Fig.4 Pixel neighborhood system |
2) 初始化二值图,初始化函数为
(6) |
3) 设置最大迭代次数V为图像总像素数的10倍.若迭代次数在V内,执行以下步骤:从图像中随机选取一个像素x;定义势函数En和Ep,分别表征邻域像素使x变暗和变亮的作用强弱,表示为
(7) |
(8) |
(9) |
图 5(Fig. 5)
图 5 马尔可夫随机场对光条二值图像平滑效果Fig.5 Smoothing effect of Markovs random field on binary image of light stripe (a)—原始二值图;(b)—马尔可夫随机场处理后图像. |
1.4 基于连通域面积特性的ROI提取经马尔可夫随机场去噪后,图像的背景区域依然残存少量白色像素块,如图 6a所示.为了从包含若干个连通域的图像中提取出光条区域,本文提出一种基于连通域面积的ROI提取方法:首先标记出二值图像中所有8连通域Ci,i=1, 2, 3, …; 然后计算各连通域的面积Si, 并对其按照大小排序;由于光条区域面积仅次于最大的黑色背景区域,故仅保留面积第二大的连通域作为ROI,将ROI以外的其余像素灰度置0.ROI提取结果如图 6b所示.
图 6(Fig. 6)
图 6 ROI提取Fig.6 ROI extraction (a)—包含背景区域像素块的二值图像;(b)—ROI. |
2 光条中心提取基于骨架邻近像素匹配的光条中心提取方法主要包含光条骨架提取、ROI像素划分、亚像素光条中心提取这3个模块,基本流程如图 7所示.
图 7(Fig. 7)
图 7 光条中心提取方法流程图Fig.7 Flow chart of light stripe center extraction method |
2.1 光条骨架提取2.1.1 ROI细化采用Zhang-Suen法细化ROI,具体方法为:假设白色像素为1,黑色像素为0,则输入图像为由1和0构成的矩阵,像素的分布如图 8所示.
图 8(Fig. 8)
图 8 像素邻域图Fig.8 Pixel neighborhood graph |
定义A(P1)为序列{P2, P3, P4, P5, P6, P7, P8, P9, P2}中像素从黑色到白色的过渡次数,B(P1)为P1邻域中白色像素的数量.通过以下两轮迭代过程逐步剥除骨架以外的其他像素.
1) 对图像的每个像素测试,将同时满足以下条件的像素设置为黑色.直到没有任何像素被设置,结束本轮迭代.
① 像素为白色且有8邻域像素;
② 2≤B(P1)≤6;
③ A(P1)=1;
④ P2, P4, P6至少有1个为黑色;
⑤ P4, P6, P8至少有1个为黑色.
2) 对经上轮迭代调整后的图像再次逐个像素测试,将同时满足以下条件的像素设置为黑色.直到没有任何像素被设置,结束本轮迭代.
① 像素为白色且有8邻域像素;
② 2≤B(P1)≤6;
③ A(P1)=1;
④ P2, P4, P8至少有1个为黑色;
⑤ P2, P6, P8至少有1个为黑色.
2.1.2 骨架剪枝细化得到的光条骨架上存在一些分支,如图 9a所示.为了准确提取出光条中心,需要将分支剪除,本文提出的骨架剪枝算法步骤如下:
图 9(Fig. 9)
图 9 骨架剪枝前后对比图Fig.9 Before and after skeleton pruning (a)—Zhang-Suen法细化后的光条骨架图像;(b)—剪枝后光条骨架图像. |
1) 记M0为骨架曲线l0上所有像素的坐标集合,按照列坐标从小到大的顺序对M0中元素排序,统计M0中像素分布的总列数Ncol;
2) 统计M0每一列包含的像素数Nj, j=1, 2, …, Ncol;
3) 判断Nj是否为1.若Nj=1,将第j列的唯一像素坐标(xj, j)存入新的集合M;若Nj>1,则计算第j列所有像素与M中前一次存储的像素坐标(xj-1, j-1)的距离,并将最小距离对应的像素坐标(xj, j)存入M;
4) 判断j和Ncol是否相等,若j=Ncol,输出剪枝处理后骨架曲线l的像素坐标集M;否则,j自加1,重复步骤2)~4).
剪枝后,骨架上除主线以外的分支都被除去,结果如图 9b所示,算法流程图如图 10所示.
图 10(Fig. 10)
图 10 骨架剪枝算法流程图Fig.10 Flow chart of skeleton pruning algorithm |
2.1.3 平滑骨架曲线Savitzky-Golay(S-G)滤波器是一种基于最小二乘法原理的有限脉冲数字滤波器[19].为提高光条中心提取精度,本文将S-G滤波器用于骨架曲线平滑中,具体方法如下:
1) 将坐标集M中所有的行坐标作为待平滑的数据序列.
2) 设置窗口长度为L(L为奇数), 对输入序列中长度为L的连续子集{x-m, x-m+1, …, xm-1,xm}内的数据采用τ阶多项式拟合,表示为
(10) |
3) 将拟合的目标函数设置为
(11) |
窗口长度L和多项式阶次τ为影响S-G滤波器性能的2个指标,经测试,本文将窗口长度L和τ分别设置为21和4, S-G滤波器对骨架曲线的平滑效果如图 11所示.
图 11(Fig. 11)
图 11 Savitzky-Golay滤波前后骨架曲线对比图Fig.11 Comparison of skeleton curves before and after Savitzky-Golay filtering (a)—原始骨架曲线;(b)—Savitzky-Golay滤波后骨架曲线. |
2.2 基于邻近分析的ROI像素划分算法基于邻近分析对ROI中的像素进行划分,实现步骤为:记R为ROI内像素的集合, R共包含nR个像素;记S为骨架曲线像素集合,S共包含nS个像素.对R中的每个像素r, 都可以在S中找到与其距离最近的唯一像素s,表达式为
(12) |
图 12(Fig. 12)
图 12 ROI像素划分示意图Fig.12 ROI pixel partition schematic |
2.3 亚像素光条中心提取传统灰度重心法沿行(或列)方向求取光条截面的灰度重心来代表光条中心,仅考虑光条横向(或纵向)的一维灰度分布特征,而没有考虑光条的形态特征[20],因此难以准确提取出光条中心.针对这一问题,本文在传统灰度重心法基础上进行了改进,求取经划分后ROI各子集的灰度重心作为光条中心,表示为
(13) |
(14) |
3 实验结果与分析本文实验采用SCUD的CMOS工业相机采集图像,其输出分辨率为1 920像素×1 080像素,像元大小为3 μm×3 μm;采用波长为650 nm, 功率为1 W的一字线激光作为光源;系统环境为Win10系统,编程环境为python 3.9,图像库采用opencv 4.5.1.选取灰度重心法、骨架细化法、Steger法与本文方法进行对比实验,并从适用性、提取精度、效率等方面评估本文方法性能.
为了评估本文方法对不同类型光条中心提取的适用性,设计了如下实验:对折线型和直线型这两类光条图像,按照文中方法完成图像预处理之后,分别用灰度重心法、骨架细化法、Steger法和本文方法提取出光条中心,提取结果如图 13所示.
图 13(Fig. 13)
图 13 光条中心提取结果Fig.13 Results of light stripe center extraction |
如图 13所示,在对折线型光条的中心提取中:Steger法结果较差,提取的中心线不连续,且背景区域中有部分像素被误判为中心点;灰度重心法提取的中心线在转折处偏离了光条实际走向;骨架细化法和本文方法提取的中心线能清晰反映出光条走向.在对直线型光条的中心提取中:灰度重心法和骨架细化法提取的中心线存在小幅波动,平滑程度较低;Steger法提取的中心线存在缺口,且遗漏了光条两端的中心点,不能满足完整性的要求;本文方法提取的中心线完整且平滑程度较高.由以上分析可知:本文方法对折线型和直线型这两类光条,均能得到相对理想的提取结果.
在评估提取精度的实验中,由于无法得知光条中心点的真实坐标,故采用多次重复测量所得光条中心点坐标的标准差来量化提取精度,由贝塞尔公式计算多次测量所得中心点位置的标准误差e,计算式为
(15) |
1) 保持相机和激光器位置不变,连续采集20幅直线型光条图像,对这20幅图像预处理后,分别用灰度重心法、骨架细化法、Steger法、本文方法进行光条中心线提取.
2) 根据每幅光条图像第100, 110, …, 1 590, 1 600列的光条中心行坐标,分别计算4种方法对以上各列的行坐标重复测量标准误差e并统计各列标准误差均值
图 14(Fig. 14)
图 14 各方法的标准误差箱线图Fig.14 Standard error box diagram of each method |
表 1(Table 1)
表 1 各方法的重复测量结果Table 1 Repeated measurement results of each method
| 表 1 各方法的重复测量结果 Table 1 Repeated measurement results of each method |
为了验证本文方法的提取效率,统计各方法对上文中的20幅光条图像的中心提取平均运行时间,对比结果如表 2所示.
表 2(Table 2)
表 2 各方法的平均运行时间Table 2 The average running time of each method
| 表 2 各方法的平均运行时间 Table 2 The average running time of each method |
由表 2可以看出:灰度重心法和骨架细化法算法简单,运算速度较快;Steger法的运行时间最长,提取效率很低;本文方法的提取效率相较灰度重心法和骨架细化法偏低,但与精度较高的Steger法相比提高了约6.98倍.
4 结语本文提出了一种基于骨架邻近像素匹配的光条中心提取方法.在图像预处理中,采用基于马尔可夫随机场的二值图像去噪方法和基于连通域面积特性的ROI提取方法,实现了ROI的精确提取;在光条中心提取中,提出一种骨架剪枝算法,得到单像素骨架曲线,然后基于邻近分析对ROI内像素划分,最后提取出各像素集合的灰度重心,实现亚像素光条中心提取.经实验验证,所提方法对不同类型光条的提取适用性强;在重复测量中表现出较高精度;提取效率与Steger法相比提高了约6.98倍.
参考文献
[1] | 纪运景, 杜思月, 宋旸, 等. 基于线结构光旋转扫描和光条纹修复的三维视觉测量技术研究[J]. 红外与激光工程, 2022, 51(2): 470-478. (Ji Yun-jing, Du Si-yue, Song Yang, et al. Research on 3-D vision measurement technology based on line structured light rotating scanning and laser stripe repair[J]. Infrared and Laser Engineering, 2022, 51(2): 470-478.) |
[2] | Miao J W, Zhao J H, Tan Q C, et al. An evaluation method of light strip center detection algorithm based on line structured light vision[C]//The International Conference on Cyber Security Intelligence and Analytics. Cham: Springer, 2022: 71-79. |
[3] | 杨建华, 杨雪荣, 成思源, 等. 线结构光三维视觉测量中光条纹中心提取综述[J]. 广东工业大学学报, 2014, 31(1): 74-78. (Yang Jian-hua, Yang Xue-rong, Cheng Si-yuan, 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.) |
[4] | Wang J, Cheng W, Li W L, et al. Extraction of centerline of large-format laser stripes against ambient light interference[J]. Journal of Physics: Conference Series, 2021, 1986(1): 012022. DOI:10.1088/1742-6596/1986/1/012022 |
[5] | Wang H F, Wang Y F, Zhang J J, et al. Laser stripe center detection under the condition of uneven scattering metal surface for geometric measurement[J]. IEEE Transactions on Instrumentation and Measurement, 2020, 69(5): 2182-2192. DOI:10.1109/TIM.2019.2921440 |
[6] | Huang K, Yang J, Xu D L, et al. Line laser based researches on a three-dimensional measuring system[C]//2019 IEEE 3rd Information Technology, Networking, Electronic and Automation Control Conference(ITNEC). Chengdu: IEEE, 2019: 657-660. |
[7] | Liu S Y, Zhang Y C, Zhang Y H, et al. Research on 3D measurement model by line structure light vision[J]. EUR-ASIP Journal on Image and Video Processing, 2018, 2018(1): 1-10. DOI:10.1186/s13640-017-0240-z |
[8] | 王泽浩, 张中炜. 自适应方向模板线结构光条纹中心提取方法[J]. 激光杂志, 2017, 38(1): 60-64. (Wang Ze-hao, Zhang Zhong-wei. Adaptive direction template method to extract the center of structured light[J]. Laser Journal, 2017, 38(1): 60-64.) |
[9] | Steger C. An unbiased detector of curvilinear structures[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998, 20(2): 113-125. DOI:10.1109/34.659930 |
[10] | 李涛涛, 杨峰, 李石庚, 等. 基于高斯-洛伦兹分峰拟合的线结构光条中心的提取方法[J]. 激光与光电子学进展, 2019, 56(7): 175-184. (Li Tao-tao, Yang Feng, Li Shi-geng, et al. Extraction method of line-structured light stripe center based on Gauss-Lorentz decomposition peak fitting[J]. Laser & Optoelectronics Progress, 2019, 56(7): 175-184.) |
[11] | Cai H N, Liu Y Y. Research on extraction of light strip centers based on Legendre moments[C]//The International Conference on Natural Computation, Fuzzy Systems and Knowledge Discovery. Cham: Springer, 2022: 247-256. |
[12] | 冀振燕, 宋晓军, 付文杰, 等. 激光光条中心线提取研究综述[J]. 测控技术, 2021, 40(6): 1-8. (Ji Zhen-yan, Song Xiao-jun, Fu Wen-jie, et al. Review on centerline extraction for laser stripe[J]. Measurement & Control Technology, 2021, 40(6): 1-8.) |
[13] | 王胜春, 韩强, 王昊, 等. 行车环境下钢轨轮廓激光条纹中心的提取方法[J]. 光学学报, 2019, 39(2): 175-184. (Wang Sheng-chun, Han Qiang, Wang Hao, et al. Laser stripe center extraction method of rail profile in train-running environment[J]. Acta Optica Sinica, 2019, 39(2): 175-184.) |
[14] | Farbman Z, Fattal R, Lischinski D, et al. Edge-preserving decompositions for multi-scale tone and detail manipulation[J]. ACM Transactions on Graphics(TOG), 2008, 27(3): 1-10. |
[15] | Bangare S L, Dubal A, Bangare P S, et al. Reviewing Otsu's method for image thresholding[J]. International Journal of Applied Engineering Research, 2015, 10(9): 21777-21783. |
[16] | Liu S S, Zhou S Y, Bai R, et al. Research on weld recognition and NURBS curve fitting method based on improved OTSU double threshold segmentation[C]//International Conference on Genetic and Evolutionary Computing. Singapore: Springer, 2022: 316-327. |
[17] | Salvadeo D H, Mascarenhas N D, Levada A L. Nonlocal Markovian models for image denoising[J]. Journal of Electronic Imaging, 2016, 25(1): 013003. |
[18] | Zhang Y T, Suen C Y. A fast parallel algorithm for thinning digital patterns[J]. Communications of the ACM, 1984, 27(3): 236-239. |
[19] | Samann F, Schanze T. An efficient ECG denoising method using discrete wavelet with Savitzky-Golay filter[J]. Current Directions in Biomedical Engineering, 2019, 5(1): 385-387. |
[20] | 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): E814. |