激光与光电子学进展, 2019, 56 (2): 021203, 网络出版: 2019-08-01   

基于海森矩阵与区域增长的激光条纹中心提取 下载: 1330次

Laser Stripe Center Extraction Based on Hessian Matrix and Regional Growth
作者单位
沈阳建筑大学信息与控制工程学院, 辽宁 沈阳 110168
摘要
准确、快速地提取结构光条纹中心是三维测量系统中的关键问题。针对现存的结构光条纹中心提取精度与速度之间的矛盾,提出一种全新的基于海森(Hessian)矩阵与区域增长相结合的激光条纹中心提取方法。采用自适应阈值法提取图像的感兴趣区域,利用灰度值最大法确定像素级条纹中心的初始位置;利用Hessian矩阵求取初始点法线方向上的亚像素级光条中心点;将光条中心点作为种子点进行区域增长迭代运算,从而精确提取条纹中心。区域增长算法解决了传统方法中存在的大量高斯卷积运算的问题,提高了条纹中心的提取速度。实验结果表明,该算法提取的条纹中心准确度高,满足三维测量系统中实时在线的要求。该算法的均方差相比于灰度重心法降低了2.02 pixel,提取速度相比于Steger法提高了40倍。
Abstract
The accurate and fast extraction of structured light stripe centers is a key problem in a three-dimensional (3D) measurement system. Aiming at the existing contradiction between extraction precision and speed of structured light stripe centers, a novel laser stripe center extraction method is proposed based on the Hessian matrix and the regional growth. First, the adaptive threshold method is used to extract the region of interest from the images, and the initial position of the pixel-level stripe center is determined by the maximum value of the gray value. Second, the sub-pixel-level strip center point in the normal direction of the initial point is obtained by the Hessian matrix. Finally, the strip center is used as a seed point for the regional growth iteration operation and thus the stripe center is accurately extracted. In the regional growth algorithm, the problem of a large number of Gaussian convolutional operations in the traditional method is solved, and the extraction speed of the stripe center is increased. The experimental results show that the stripe center extracted by the proposed algorithm has a high accuracy and the real-time online requirements of the 3D measurement system is satisfied. The mean square error (RMS) of this algorithm is reduced by 2.02 pixel compared with that of gray-gravity algorithm, and the extraction speed is 40 times higher than that of Steger algorithm.

1 引言

线结构光三维测量技术作为一种有效的非接触检测方法,具有速度快、精度高的特点,已被广泛应用于现代工业检测、医疗诊断、计算机视觉及逆向工程等领域中[1-5]。激光器投射的结构光是以光平面的形式发出的,光平面具有一定厚度,因而获取的结构光投影图像具有一定宽度。此外,受周围环境因素和物体表面的光学性质的影响,结构光条纹中心在提取中存在很大的困难。因此,如何快速准确地提取结构光条纹中心是国内外学者十分关注的问题。

目前,常用的结构光条纹中心提取方法有阈值法、灰度重心法、曲线拟合法、海森(Hessian)矩阵法。阈值法是一种骨架抽取的方法,速度较快但定位精度差[6]。刘斌等[7]采用灰度重心法,能够准确地获取结构光条纹中心的像素坐标,该方法比较适用于光带分散性较小的光条;张小艳等[8]提出一种改进的灰度重心法,在采用灰度重心法之前先利用二值化对光带进行处理,减小了光带宽度不均匀对提取结果的影响,具有较高的提取精度。根据线结构光截面灰度的特点,刘涛等[9]提出改进的曲线拟合方法,但提取速度较慢;刘振等[10]在此基础上,在曲线拟合之前以互相关极大值提取初始光条纹中心,再通过曲线拟合的方法对条纹中心进行精确定位,这种方法干扰能力强、稳健性好,但曲线拟合的计算量仍然较大;江永付等[11]在存在折线缺陷的光条中应用曲线拟合,改善了光条缺陷,但提取精度只能达到像素级别[12]。Steger[13]利用Hessian矩阵得到线结构光条纹中心的法线方向,对结构光条纹各点像素的灰度分布函数沿着法线方向进行二阶泰勒展开得到条纹的中心点,该方法具有很高的精度,但是需要进行至少5次高斯卷积运算,计算量大,实时性较差[14];李涛涛等[15]利用重叠视场(OFOV)图像将多个相机获取的小视野图像进行拼接,进而获得光条中心像素坐标,这种方法成本较高;蔡怀宇等[16-17]在此基础上,用主成分分析(PCA)求取条纹法线,代替了Steger算法中的Hessian矩阵,减少了计算的复杂度,该方法是基于条纹的微分几何属性进行条纹中心提取,没有考虑线结构光条纹的灰度分布,存在一定误差。

区域增长算法根据像素点的属性可以实现图像分割[18-19]。本文针对传统方法存在的问题,结合Hessian矩阵算法与区域增长算法的优势,提出一种基于Hessian矩阵与区域增长相结合的条纹中心提取方法。通过Hessian矩阵求取光条亚像素级中心点,应用区域增长算法进行迭代运算,降低了计算的复杂度,提高了条纹中心提取的准确度。

2 基本理论

2.1 Hessian矩阵

在实际工程中为了优化问题,需要将问题列出目标函数。该函数常常以多元非线性函数的形式出现,这种形式通常极为复杂。为了使问题更加清晰,往往需要对目标函数进行简化,用来近似原函数。

对于一个实值多元函数f(x1,x2,…,xn),如果函数f的多阶偏导数都存在,则定义函数f的Hessian矩阵为

Hi,jf(x)=DiDjf(x),(1)

式中:Di为第i个变量的哈密顿算子;x=(x1,x2,…,xn)。

f的Hessian矩阵为

H(f)=2fx122fx1x22fx1xn2fx2x12fx222fx2xn2fxnx12fxnx22fxn2(2)

Steger[13]首次利用Hessian矩阵对结构光进行光条中心提取,因为光条中心的法线方向与二阶偏导数绝对值最大的方向相同,所以利用Hessian矩阵确定的光条灰度函数极值,作为结构光条纹中心的亚像素位置。

对于二维图像,Hessian矩阵可表示为

H(x,y)=rxxrxyrxyryy,(3)rxx=I(x,y)2xxG(x,y)=I(x,y)G(x,y)xxrxy=I(x,y)2xyG(x,y)=I(x,y)G(x,y)xyryy=I(x,y)2yyG(x,y)=I(x,y)G(x,y)yy,(4)G(x,y)=12πσ·exp-x2+y22σ2,(5)

式中:I(x,y)为原图像;⊗为卷积运算;G(x,y)为二维高斯函数;G(x,y)x,G(x,y)y分别为二维高斯函数对xy的一阶偏导数;G(x,y)xyG(x,y)xxG(x,y)yy为高斯函数对xy的二阶偏导数;σ为高斯分布标准差。

假设点(x,y)的法线方向的单位向量n=(nx,ny),以点(x,y)为中心点,对该点的灰度分布函数沿(nx,ny)方向进行二阶泰勒展开,则精确中心点的像素值为

I(x+tnx,y+tny)=I(x,y)+tn·(rx,ry)T+t22!·nT·H(x,y)·n(6)

令dI/dt=0,结合(6)式得到

t=-nxrx+nyrynx2rxx+2nxnyrxy+ny2ryy,(7)

则条纹中心点坐标为(x+tnx,y+tny)。

2.2 区域增长算法

区域增长算法是一种基于图像属性的分割方法,能有效地将具有相同属性的像素区块划分在一起,使图像具有清晰的边界。

区域增长算法具体实现步骤为:

1) 遍历图像中每一个像素点,得到例如颜色、灰度、强度等图像属性,并转化成数值;

2) 将图像中人工选取的一点作为种子起始点,记为(x0,y0);

3) 以(x0,y0)为中心,考虑到8邻域像素(x,y),如果其与(x0,y0)属性数值差小于设定阈值,则将(x,y)与(x0,y0)合并在同一区域内,同时将(x,y)压入堆栈;

4) 从堆栈中取出一个像素,把它记作(x0,y0),返回到步骤3;

5) 当堆栈为空时,返回到步骤1;

6) 重复步骤1至步骤5,直到图像中的每个像素点都被分割,生长结束。

3 方法描述

3.1 初始点的提取

结构光光条图像对比度高、光条方向性强。利用自适应阈值法提取出线结构光图像中的感兴趣区域(ROI),这样不仅能有效减少被测物体的噪声对后续条纹中心提取的影响,而且对条纹中心的提取速度有较大的提高。

在提取的线结构光的ROI内,Mi(i=1,2,3…)表示光条中第i行,逐行搜索图像灰度最大点,将该灰度最大点作为光条中心的初始位置,记为(x0,y0)。

3.2 光条中心点计算

将图像灰度函数沿像素级光条中心初始点(x0,y0)的法线方向进行二次泰勒展开,用I(x0+t·nx,y0+t·ny)表示。由图1可知,沿着法线方向上的光条灰度函数服从高斯分布,即光强越强,越接近光条中心点(x0+t·nx,y0+t·ny),因此使I(x0+t·nx,y0+t·ny)的一阶导数为零的点即为(x0,y0)在法线方向上的亚像素中心点,亚像素中心点表示为

(xR,yR)=(px+x0,py+y0),(8)(px,py)=(t·nx,t·ny)-12,12×-12,12(9)

因此,可定义光条亚像素中心点为区域生长的种子点。

图 1. 光条截面灰度分布

Fig. 1. Gray distribution of the section of light strip

下载图片 查看所有图片

3.3 区域增长

将3.2节所述的亚像素中心点作为种子点,由于光条灰度函数在光条法线方向上呈高斯分布,因此,设置灰度阈值作为生长准则,用9×9模板遍历种子点周围8个像素,确定下一种子点。一旦种子点确定,即可通过Hessian矩阵求得该点的法线和切线。沿切线区域生长点周围8邻域定义为生长连通域,判断是否可以将灰度差小于阈值的点归为一个连通域,防止过度生长。

由以上分析可知,线结构光的灰度函数在法线方向上服从高斯分布,高斯核尺度σ的选取直接影响条纹中心的提取效果,根据Steger的结论,σ的大小应满足

D23σD2,(10)

式中:D为种子点的宽度。σ依赖于光条线宽的标准差,因此当增长到光条上的点(xi,yi)时,采用上一个种子点的宽度D作为本次高斯核尺度参考,根据(10)式计算出σ,限制σ的选取。σ设置避免了对不同宽度光条提取的局限性,使算法具有自适应提取能力。

综上所述,条纹中心提取算法的流程图如图2所示。

图 2. 条纹中心提取算法流程图

Fig. 2. Flow chart of stripe center extraction algorithm

下载图片 查看所有图片

4 实验和结果分析

本实验以电梯制动装置为平台,激光投射器投射线结构光到制动装置的电磁铁块上,在Visual Studio 2016平台下对采集到的电磁铁块图像进行提取实验。分别采用灰度重心法、Steger法与所提方法进行光条中心提取实验,对比3种方法的提取精度和提取时间。在相同的实验条件下,对大小为512 pixel×512 pixel的图像进行处理,所提方法中高斯参数设置为σ=2,采用大小为7×7的模板进行高斯卷积运算;对比方法中灰度重心法的窗口大小为7×7;Steger方法的高斯参数为σ=2,高斯卷积模板大小为7×7。不同算法的提取结果如图3所示,图3(b)~(d)分别为采用Steger法、灰度重心法以及所提算法对被测物体光学性质较强且存在折线缺陷的线结构光条纹中心进行提取的结果。

图3(b)可见,Steger法将图中出现的“尖刺”识别为光条中心,且对反光性较强的物体表面识别效果较差。图3(c)中,灰度重心法得到的不是单像素宽的中心条纹,且不适用于激光条纹像素饱和的情况。由图3(d)可见,对于光滑的物体表面,所提算法提取得到的条纹中心点连续性较好,对条纹折线处具有较好的识别能力。

图 3. 不同算法提取结果。(a)原始图像;(b) Steger法;(c)灰度重心法;(d)所提算法

Fig. 3. Extraction results by different algorithms. (a) Original image; (b) Steger algorithm;(c) gray-gravity algorithm; (d) proposed algorithm

下载图片 查看所有图片

为进一步验证所提算法的精确性,对图3(a)所示的物体施加不同的噪声,并利用以上3种方法对加不同噪声的图像进行处理。含高斯白噪声的图像如图4所示。加噪声图像所选参数为:高斯标准差图像大小为512 pixel×512 pixel,添加均值为0、方差 σR2为1的高斯白噪声。3种算法提取结果的均方差(RMS)如表1所示。

图 4. 含高斯白噪声图像

Fig. 4. Image with Gaussian white noise

下载图片 查看所有图片

从实验结果可以看出,对于每一幅图像的处理结果,所提算法均优于灰度重心法(所提算法的RMS比灰度重心法的RMS小2.02 pixel),与Steger法具有相同的精度。灰度重心法只是单纯地考虑线结构光光条的灰度分布,提取的光条中心为像素级别,因此在提取精度上存在一定误差且稳健性较差,而Steger法是在光条法线方向进行二阶泰勒展开,求取亚像素级别的光条中心,因此具有较高的精度。表2为3种方法提取结果平均处理时间对比,对应于表1中前5幅图像的平均处理时间。

表 1. 3种方法提取结果RMS对比

Table 1. RMS comparison of extraction results by three methods

Image numberσR2RMS /pixel
Steger algorithmGray-gravity algorithmProposed algorithm
10.100.190.580.17
20.200.120.390.14
30.300.290.760.25
40.400.364.250.34
50.500.415.410.39
60.600.140.400.11
70.700.260.640.23
80.800.313.900.29
90.900.403.250.35
101.000.526.320.49

查看所有表

表 2. 3种方法提取结果平均处理时间对比

Table 2. Average processing time comparison of extracting results by three methods

Image numberAverage processing time /s
Steger algorithmGray-gravity algorithmProposed algorithm
145.260.501.09
243.320.391.12
342.850.411.05
441.640.400.96
538.970.421.21

查看所有表

表2可以看出,所提算法在处理时间上略慢于灰度重心法,但比Steger法快40倍。这是因为Steger法需要进行大量高斯卷积运算,因此在提取速度上较慢。

综上所述,在提取精度上所提方法的RMS低于灰度重心法2.02 pixel,在提取时间上所提方法比Steger法快40倍。原因在于:第一,所提算法先提取图像的ROI,在ROI内对图像进行处理,减少了结构光条纹中心的处理时间,提高了检测精度;第二,所提算法设置灰度阈值作为生长原则,结合Hessian矩阵提取条纹中心,从线结构光的条纹灰度和条纹的微分几何两方面考虑,提高了提取精度,稳健性较高;第三,与Steger法相比,所提方法避免了多次对图像进行高斯卷积运算,减少了计算的复杂度。

5 结论

对线结构光条纹中心提取进行深入研究分析,结合线结构光光条截面灰度分布和线结构光条纹的微分几何的特点,利用Hessian矩阵算法和区域增长算法,实现了结构光条纹中心的精确提取。该方法首先对光条中心进行粗提取,利用Hessian矩阵得到亚像素级中心点,再利用区域增长得到条纹中心的精确位置。该方法可靠性高,与精度较高的Steger法相比,运算量更小,可满足实时在线的要求。同提取速度较高的灰度重心法相比,所提方法稳健性好,对光学性质较强的物体表面不敏感,具有一定的普遍适用性。

参考文献

[1] Zhang L, Ke W, Ye Q, et al. A novel laser vision sensor for weld line detection on wall-climbing robot[J]. Optics & Laser Technology, 2014, 60(2): 69-79.

[2] 刘鹏. 慢性伤口光学仿体的多尺度多模态医学影像技术研究[D]. 合肥: 中国科学技术大学, 2016.

    LiuP. Research on multi-scale multimodal biomedical imaging techniques of chronic wound optical phantom[D]. Hefei: University of Science and Technology of China, 2016.

[3] SinghR, BabyB, SuriA, et al. Comparison of laser and structured light scanning techniques for neurosurgery applications[C]∥IEEE 2016 3rd International Conference on Signal Processing and Integrated Networks (SPIN), February 11-12, 2016, Noida, India. New York: IEEE, 2016: 301- 305.

[4] 董玲, 杨洗陈, 雷剑波. 基于机器视觉的激光再制造机器人离线自动编程研究[J]. 中国激光, 2013, 40(10): 1003006.

    Dong L, Yang X C, Lei J B. Off-line automatic programming research of laser remanufacturing robot based on machine vision[J]. Chinese Journal of Lasers, 2013, 40(10): 1003006.

[5] 林晟杰. 基于线结构光视觉测量的逆向工程技术研究[D]. 广州: 广东工业大学, 2015.

    Lin SJ. Research on reverse engineering technology based on line structured light vision measurement[D]. Guangzhou: Guangdong University of Technology, 2015.

[6] 李莹莹, 张志毅, 袁林. 线结构光光条中心提取综述[J]. 激光与光电子学进展, 2013, 50(10): 100002.

    Li Y Y, Zhang Z Y, Yuan L. Survey on linear structured light stripe center extraction[J]. Laser & Optoelectronics Progress, 2013, 50(10): 100002.

[7] 刘斌, 沈康, 魏兆超, 等. 基于线结构光视觉技术的微小直径高精度测量系统[J]. 仪器仪表学报, 2014, 35(S2): 126-129.

    Liu B, Shen K, Wei Z C, et al. High-precision measurement system for micro-diameter based on structured-light vision technology[J]. Chinese Journal of Scientific Instrument, 2014, 35(S2): 126-129.

[8] 张小艳, 王晓强, 白福忠, 等. 基于改进灰度重心法的光带中心提取算法[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.

[9] 刘涛, 王宗义, 于秀辉, 等. 基于自适应窗曲线拟合的结构光条纹中心提取[J]. 半导体光电, 2010, 31(1): 151-154.

    Liu T, Wang Z Y, Yu X, et al. Curve fitting method based on adaptive window for center extracting of structured light stripe[J]. Semiconductor Optoelectronics, 2010, 31(1): 151-154.

[10] 刘振, 李声, 冯常. 基于互相关算法的激光条纹中心提取[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.

[11] 江永付, 江开勇, 林俊义. 线结构光光条中心亚像素精确提取方法[J]. 激光与光电子学进展, 2015, 52(7): 071502.

    Jiang Y F, Jiang K Y, Lin J Y. Extrication method for sub-pixel center of linear structured light stripe[J]. Laser & Optoelectronics Progress, 2015, 52(7): 071502.

[12] 李涛涛, 杨峰, 李策, 等. 基于光条信度评价的线结构光传感器曝光时间优化[J]. 光学学报, 2018, 38(1): 0112005.

    Li T T, Yang F, Li C, et al. Exposure time optimization for line structured light sensor based on light stripe reliability evaluation[J]. Acta Optica Sinica, 2018, 38(1): 0112005.

[13] Steger C. An unbiased detector of curvilinear structures[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1998, 20(2): 113-125.

[14] 杨尉. 结构光光条中心提取方法研究[D]. 哈尔滨: 哈尔滨工业大学, 2009.

    YangW. Dissertation for the master degree in engineering[D]. Harbin: Harbin Institute of Technology, 2009.

[15] 李涛涛, 杨峰, 许献磊. 基于多视觉线结构光传感器的大尺度测量方法[J]. 中国激光, 2017, 44(11): 1104003.

    Li T T, Yang F, Xu X L. Method of large-scale measurement based on multi-vision line structured light sensor[J]. Chinese Journal of Lasers, 2017, 44(11): 1104003.

[16] 蔡怀宇, 冯召东, 黄战华. 基于主成分分析的结构光条纹中心提取方法[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.

[17] 解则晓, 迟书凯, 王晓敏, 等. 基于共面法的结构光自扫描测量系统参数标定方法[J]. 中国激光, 2016, 43(3): 0308003.

    Xie Z X, Chi S K, Wang X M, et al. Calibration method for structure-light auto-scanning measurement system based on coplanarity[J]. Chinese Journal of Lasers, 2016, 43(3): 0308003.

[18] 张立保. 基于区域增长的遥感影像视觉显著目标快速检测[J]. 中国激光, 2012, 39(11): 1114001.

    Zhang L B. Fast detection of visual saliency regions in remote sensing image based on region growing[J]. Chinese Journal of Lasers, 2012, 39(11): 1114001.

[19] 刘露, 楚春雨, 马建为, 等. 支持向量机与区域增长相结合的CT图像并行分割[J]. 计算机科学, 2010, 37(5): 237-239.

    Liu L, Chu C Y, Ma J W, et al. CT image segmentation based on support vector machine and regional growth[J]. Computer Science, 2010, 37(5): 237-239.

刘剑, 刘丽华. 基于海森矩阵与区域增长的激光条纹中心提取[J]. 激光与光电子学进展, 2019, 56(2): 021203. Jian Liu, Lihua Liu. Laser Stripe Center Extraction Based on Hessian Matrix and Regional Growth[J]. Laser & Optoelectronics Progress, 2019, 56(2): 021203.

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

相关论文

加载中...

关于本站 Cookie 的使用提示

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