基于海森矩阵与区域增长的激光条纹中心提取 下载: 1330次
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矩阵
在实际工程中为了优化问题,需要将问题列出目标函数。该函数常常以多元非线性函数的形式出现,这种形式通常极为复杂。为了使问题更加清晰,往往需要对目标函数进行简化,用来近似原函数。
对于一个实值多元函数
式中:
Steger[13]首次利用Hessian矩阵对结构光进行光条中心提取,因为光条中心的法线方向与二阶偏导数绝对值最大的方向相同,所以利用Hessian矩阵确定的光条灰度函数极值,作为结构光条纹中心的亚像素位置。
对于二维图像,Hessian矩阵可表示为
式中:
假设点(
令d
则条纹中心点坐标为(
2.2 区域增长算法
区域增长算法是一种基于图像属性的分割方法,能有效地将具有相同属性的像素区块划分在一起,使图像具有清晰的边界。
区域增长算法具体实现步骤为:
1) 遍历图像中每一个像素点,得到例如颜色、灰度、强度等图像属性,并转化成数值;
2) 将图像中人工选取的一点作为种子起始点,记为(
3) 以(
4) 从堆栈中取出一个像素,把它记作(
5) 当堆栈为空时,返回到步骤1;
6) 重复步骤1至步骤5,直到图像中的每个像素点都被分割,生长结束。
3 方法描述
3.1 初始点的提取
结构光光条图像对比度高、光条方向性强。利用自适应阈值法提取出线结构光图像中的感兴趣区域(ROI),这样不仅能有效减少被测物体的噪声对后续条纹中心提取的影响,而且对条纹中心的提取速度有较大的提高。
在提取的线结构光的ROI内,
3.2 光条中心点计算
将图像灰度函数沿像素级光条中心初始点(
因此,可定义光条亚像素中心点为区域生长的种子点。
3.3 区域增长
将3.2节所述的亚像素中心点作为种子点,由于光条灰度函数在光条法线方向上呈高斯分布,因此,设置灰度阈值作为生长准则,用9×9模板遍历种子点周围8个像素,确定下一种子点。一旦种子点确定,即可通过Hessian矩阵求得该点的法线和切线。沿切线区域生长点周围8邻域定义为生长连通域,判断是否可以将灰度差小于阈值的点归为一个连通域,防止过度生长。
由以上分析可知,线结构光的灰度函数在法线方向上服从高斯分布,高斯核尺度
式中:
综上所述,条纹中心提取算法的流程图如
4 实验和结果分析
本实验以电梯制动装置为平台,激光投射器投射线结构光到制动装置的电磁铁块上,在Visual Studio 2016平台下对采集到的电磁铁块图像进行提取实验。分别采用灰度重心法、Steger法与所提方法进行光条中心提取实验,对比3种方法的提取精度和提取时间。在相同的实验条件下,对大小为512 pixel×512 pixel的图像进行处理,所提方法中高斯参数设置为
由
图 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
为进一步验证所提算法的精确性,对
从实验结果可以看出,对于每一幅图像的处理结果,所提算法均优于灰度重心法(所提算法的RMS比灰度重心法的RMS小2.02 pixel),与Steger法具有相同的精度。灰度重心法只是单纯地考虑线结构光光条的灰度分布,提取的光条中心为像素级别,因此在提取精度上存在一定误差且稳健性较差,而Steger法是在光条法线方向进行二阶泰勒展开,求取亚像素级别的光条中心,因此具有较高的精度。
表 1. 3种方法提取结果RMS对比
Table 1. RMS comparison of extraction results by three methods
|
表 2. 3种方法提取结果平均处理时间对比
Table 2. Average processing time comparison of extracting results by three methods
|
由
综上所述,在提取精度上所提方法的RMS低于灰度重心法2.02 pixel,在提取时间上所提方法比Steger法快40倍。原因在于:第一,所提算法先提取图像的ROI,在ROI内对图像进行处理,减少了结构光条纹中心的处理时间,提高了检测精度;第二,所提算法设置灰度阈值作为生长原则,结合Hessian矩阵提取条纹中心,从线结构光的条纹灰度和条纹的微分几何两方面考虑,提高了提取精度,稳健性较高;第三,与Steger法相比,所提方法避免了多次对图像进行高斯卷积运算,减少了计算的复杂度。
5 结论
对线结构光条纹中心提取进行深入研究分析,结合线结构光光条截面灰度分布和线结构光条纹的微分几何的特点,利用Hessian矩阵算法和区域增长算法,实现了结构光条纹中心的精确提取。该方法首先对光条中心进行粗提取,利用Hessian矩阵得到亚像素级中心点,再利用区域增长得到条纹中心的精确位置。该方法可靠性高,与精度较高的Steger法相比,运算量更小,可满足实时在线的要求。同提取速度较高的灰度重心法相比,所提方法稳健性好,对光学性质较强的物体表面不敏感,具有一定的普遍适用性。
[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.
[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.
[7] 刘斌, 沈康, 魏兆超, 等. 基于线结构光视觉技术的微小直径高精度测量系统[J]. 仪器仪表学报, 2014, 35(S2): 126-129.
[8] 张小艳, 王晓强, 白福忠, 等. 基于改进灰度重心法的光带中心提取算法[J]. 激光与红外, 2016, 46(5): 622-626.
[9] 刘涛, 王宗义, 于秀辉, 等. 基于自适应窗曲线拟合的结构光条纹中心提取[J]. 半导体光电, 2010, 31(1): 151-154.
[10] 刘振, 李声, 冯常. 基于互相关算法的激光条纹中心提取[J]. 中国激光, 2013, 40(5): 0508004.
[11] 江永付, 江开勇, 林俊义. 线结构光光条中心亚像素精确提取方法[J]. 激光与光电子学进展, 2015, 52(7): 071502.
[12] 李涛涛, 杨峰, 李策, 等. 基于光条信度评价的线结构光传感器曝光时间优化[J]. 光学学报, 2018, 38(1): 0112005.
[14] 杨尉. 结构光光条中心提取方法研究[D]. 哈尔滨: 哈尔滨工业大学, 2009.
YangW. Dissertation for the master degree in engineering[D]. Harbin: Harbin Institute of Technology, 2009.
[15] 李涛涛, 杨峰, 许献磊. 基于多视觉线结构光传感器的大尺度测量方法[J]. 中国激光, 2017, 44(11): 1104003.
[16] 蔡怀宇, 冯召东, 黄战华. 基于主成分分析的结构光条纹中心提取方法[J]. 中国激光, 2015, 42(3): 0308006.
[17] 解则晓, 迟书凯, 王晓敏, 等. 基于共面法的结构光自扫描测量系统参数标定方法[J]. 中国激光, 2016, 43(3): 0308003.
[18] 张立保. 基于区域增长的遥感影像视觉显著目标快速检测[J]. 中国激光, 2012, 39(11): 1114001.
[19] 刘露, 楚春雨, 马建为, 等. 支持向量机与区域增长相结合的CT图像并行分割[J]. 计算机科学, 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.