引 言
双目立体视觉是利用双目摄像机模拟生物的视觉特征,获取物体表面的三维信息,从而还原物体外表面的几何形貌。如今,基于双目立体视觉的技术,结构光三维测量技术作为一种快速、便携、高精度的三维测量技术,在工业设计、航空等领域均得到了广泛的应用,已成为一种成熟的三维数据获取和质量评价与控制手段[ 1 ]。在结构光双目视觉技术中,由于不同视觉所获取信息的不完备性和不同应用中的复杂性,立体匹配成为立体视觉技术中最重要也是最难以处理的问题之一[ 2 ]。
现今,立体匹配方法有多种。特征的选取跟图像的内容有关,对结构光匹配目前常用的是相位匹配方法,但是相位匹配一般是针对核线平行而言,虽然将空间域转化为时间域,可同样存在邻域奇异性,匹配误差较大[ 3 ]。基于区域立体匹配方法,可以得到稠密的视差图,其缺点是在低纹理区域或纹理相似区域容易造成大量的误匹配,边界模糊,视差图效果不理想[ 4,5,6 ],计算量大,运算时间较长。基于特征点的立体匹配方法,能够精确的匹配,视差效果明显,但是只能获得稀疏的匹配点,所以仅能勾勒物体的大致轮廓,不能呈现物体的细节部分,也不能得到稠密的视差图[ 7 ]。针对特征匹配只能得到稀疏点数的缺点,本文提出了一种改进的特征点提取算法,在不影响匹配速度的情况下,匹配更多的特征点对,并且有效地减少了误匹配率。
1 立体匹配关键技术
双目立体匹配的方法是从左右视角两个摄像机拍摄同一物体的两幅图像中找出被测元件表面同一点在不同图像中的对应点,进而求出各个点对应的视差,再由视差信息和投影模型还原出原始物体形貌的深度信息[ 8,9 ],最终得到三维表面形貌。因此,图像的立体匹配是三维重建的关键环节,也是立体视觉尤其是三维重建的重要研究内容。关于立体匹配方法研究重点具体有两方面:算法鲁棒性和计算速度。
(1)算法鲁棒性:三维重建过程与投影过程是互逆的,图像经三维投影到二维空间,三维的深度信息丢失。从二维图像恢复至三维模型,对应匹配点可能会出现一对一或多对一的情况,导致唯一性失效,此外成像过程中如噪声、遮挡、光照变化等干扰都会造成匹配误差。可以通过对原有算法改进或引入新算法来提高准确性。
(2)计算速度:立体匹配是在左、右两幅图像中搜索对应点对的过程。所以,提高计算速度需要解决搜索策略问题如极线约束[ 10 ]的使用可以将二维搜索降到一维搜索;视差约束也可以通过降低搜索范围方式提高计算速度。
2 特征点匹配算法的改进
特征匹配分为特征点的提取和特征点的匹配两个过程。首先对两幅图像分别提取特征点,根据特征点的相似程度匹配特征点对,并根据各自点的灰度信息得到匹配视差图。因此,特征点提取的准确程度和数量直接影响后期的匹配,从而影响整个立体匹配的精度和效率。所以,如何快速有效地提取特征点是本文重点解决的问题。
根据本实验采集5组图片(任选一组左右视图如图 1所示),将三线激光器投影到被测物体表面,CCD采集得到左右两幅图像。本文通过对图像进行预处理,减少图像噪声以及测量环境对光条中心提取的不良影响。
![]() | 图 1 原始图像对Fig. 1 Untreated images |
(1)图像剪切:首先为了确保图像处理速度,在进行结构光光条图像处理时,只剪切包含光条在内的一小部分图像进行处理,而不是对整幅图像都进行处理,如此可以大大地减少运算量,提高检测效率。
(2)图像滤波:为了抑制噪声、改善图像质量,要对图像进行滤波处理。本文采用中值滤波能较好地去除孤立噪声点,如图 2所示。
![]() | 图 2 图像预处理Fig. 2 Preprocessed image |
2.1 基于SURF算子的特征点提取
常用的特征点检测方法有Harris角点检测,SUSANA,Hessian-Laplace,强角点检测等。但是它们缺点是不能适应图像的尺度变化,对于不同尺度的图像,无法建立相应特征点的关系。SURF是一种尺度不变和旋转不变的特征点检测算法,具有速度快,鲁棒性好的特点,针对特征点对的提取数量较少这一不足,本文通过算法上的改进,来提高匹配效率。
SURF算法就是利用积分图像的加减运算来实现图像与高斯二阶微分模板的卷积运算,积分图像是由Viola和Jones[ 11 ]提出,很大程度上简化了计算时间。积分图像中任一点(i,j)的值ii(i,j),用原图像左上角的任一点(i,j)相应的对角线区域灰度值的和表示,


用MATLAB软件对滤波后的图像进行处理,结果如图 3所示。
![]() | 图 3 双胶合液晶微透镜结构Fig. 3 SURF operator extraction effect image |
2.2 基于SURF算法的改进
由于结构光光学条纹能实现图像对的立体匹配、还原三维结构,因此需要快速地提取结构光条纹,才能提高立体匹配的匹配速率。通过对图像的剪切和中线条纹提取,可在很大程度上降低后期立体匹配时间,进而提高匹配效率。
(1)均衡化与二值化
由于结构光光条图像正是属于待测对象(结构光光条),与背景有较强对比度的图像,所以二值化对结构光光条图像是特别有效的,它能有效地分离光条目标区域与背景区域,减少计算量,提高处理速率。在二值化之前需要突出感兴趣的部分,因此提前进行直方图均衡化,将灰度值低的感兴趣部分显现出来,提高处理精度。得到图像对如图 3所示。
(2)细化与骨架提取
利用MATLAB函数库中的细化函数对图像进行细化与骨骼提取,得到单像素的细线条纹,为后期匹配减少了运算量,缩短了匹配时间,提高匹配速率。
经过图像预处理后得到立体图像对,对图像二值化结果如图 4所示,使得对比度得到明显改善,再通过细化后得到的图像对能够较好地满足后期立体匹配的要求,如图 5所示。
![]() | 图 4 二值化后立体图像对Fig. 4 Binarized stereo image pair |
![]() | 图 5 条纹细化后立体图像对Fig. 5 Thinning stripe stereo image pair |
2.2.1 约束条件
由于立体匹配是寻求同一空间景点在不同视角下投影图像的像素间的一一对应关系,因此立体匹配的实质就是在某一匹配准则下的最佳搜索。由于同一物体在不同视角下的图像会有差异,而且场景中的很多因素,如光照条件,物体几何形状和物理特性、噪声干扰等,都被综合成单一的图像中的灰度值。为解决这一问题,通常引入各种约束,将匹配限制在平滑解空间范围内。其约束条件如下:
(1)极限约束:当给定一点,它的匹配点一定出现在所对应的极线上。如图 6所示,L1为点P2对应的极线,L2为点P1对应的极线,L1和L2互为极线。
![]() | 图 6 双摄像机成像模型Fig. 6 Dual-camera imaging model |
(2)唯一性约束:指左图像中的任何点在右图像中最多一个点与之匹配,也就是说,无论是参考图像还是目标图像,任何点都不能同时匹配两个点。
(3)顺序约束:对于相似深度的表面,对应的特征点一般以相同的次序落在极线上。
(4)最大视差约束:视差范围约束指参考图像某个点的对应点只能在一定的范围内搜索,也就是说,两个匹配点横坐标相差必须小于某个最大视差阈值。
2.2.2 算法描述
本文基于SURF特征点提取过程,首先选取3个正确的匹配点对,下一步的改进提取算法如下:
(1)对左右两幅图像分别取第i个基准点(xi,yi);
(2)对左右两幅图像分别取第i个基准点(xi,yi);
(3)得到新的基准点(xi,yi+3);
(4)对两点(xi-10,yi+3),(xi+10,yi+3)间所有像素点进行遍历,判断该像素点灰度值是否大于200,若是,则提取该特征点坐标(xj,yi+3),保存该特征点并将该特征点作为新的基准点;
(5)重复执行(2)(3)步,直到左右图像都遍历结束;
(6)对得到的左右图像特征点点集合进行逐个对比,若同时满足 xi左-xj右 ≤3且 yi左-yj右 ≤3则匹配成功,则得到的(xi左,yi左),(xj右,yj右)为匹配成功的特征点对。
根据上述改进算法,编写C程序,对图像处理,提取到34个特征点对,由于此方法提取得到的是特征点相对于原始图像的坐标,因此,其坐标数据显示结果如图 7所示。
![]() | 图 7 改进SURF算法的特征点提取坐标示意图Fig. 7 The diagram of the improved SURF algorithm coordinates of the feature point extraction |
2.3 特征点的匹配
根据这几个约束条件根据选取映射函数,对映射值取值,再判断映射点是否满足条件,满足后,根据双线性插值对图像进行插值,将插值之后和原始图像进行组合,得到匹配视差图。求窗口W内的像素灰度值时,W的大小可通过积分图像的4个相应点(i1,j1)、(i2,j2)、(i3,j3)、(i4,j4)的值计算得到,如图 8所示,即窗口的像素灰度和与窗口尺寸无关。窗口W内的像素灰度和为:

![]() | 图 8 W窗口内像素灰度和的计算Fig. 8 W window pixel grayscale and calculations |
通过该算法,结合改进的SURF算法提取到的特征点对,设置匹配算法流程如图 9所示,在MATLAB图形处理软件中,采用C语言编程实现。处理得到特征匹配的视差图,如图 10所示。
![]() | 图 9 特征点匹配算法流程图Fig. 9 Feature point matching algorithm flowchart |
![]() | 图 10 改进SURF算法的特征匹配视差图Fig. 10 Feature point matching algorithm floechart |
3 实验及结果分析
结合MATLAB软件,对经过预处理得到的图像进行SURF特征点提取匹配得到29对特征点,再选取其中匹配正确的特征点对10对设为基准,再根据匹配约束条件共选取得到34对特征点,并与相应的SURF测量结果比较(见表 1)。
|
|
表 1 特征点提取算法实验结果比较 Tab. 1 Feature point extraction algorithm experimental results |
从测量结果可以看出,改进后的SURF特征点提取算法运行时间较SURF特征点提取匹配时间增加了0.12 s。 但是误匹配率却降低了约36.5%,匹配成功率得到了明显改善。通过对多幅图像对试验验证,匹配时间增加为0.2 s左右,而误匹配率均降低为40%左右,因此该方案具有可行性。由于前期对图像的剪切和结构光线细化结果中,大量减少了特征提取图像的像素数,从而缩短了整体匹配的运行时间。因此,本文对于匹配算法的改进中,又进一步完善了基于改进SURF算子的特征匹配算法。
4 结 论
本文基于线结构光双目视觉立体匹配技术,分析了特征匹配算法的优缺点,通过实验验证了SURF算子匹配方法对于线结构光的适用性,并且在特征匹配过程中,针对SURF特征点提取算法存在的缺陷做了进一步的改进,提高了匹配的精确性。通过对原始采集到的图像进行试验,表明了本文的方法基本可以达到预期匹配结果的要求,从误匹配率和匹配时间上都得到了较好的改善,对三维测量系统,具有重要的理论意义和较高的使用价值。
| [1] | ] 史玉升,李中伟,钟 凯,等.结构光三维测量技术在模具设计与制造过程中的应用[J].航空制造技术,2009,48(20):48-50. |
| [2] | ] 桑瑞娟,张华,胡 旭,等.一种改进的区域双目立体匹配方法[J].传感器与微系统,2012,31(8):58-59. |
| [3] | ] 穆 绵,刘缠牢.一种光学元件面形三维重建的算法研究[J].光学仪器,2013,35(2):46-51. |
| [4] | ] 王月梅.双目立体视觉中图像匹配算法的研究[D].西安:西安电子科技大学,2009:33-55. |
| [5] | ] 李云飞.双目立体视觉中的稠密匹配算法研究[D].杭州:浙江大学,2011:31-44. |
| [6] | ] 郭铁芹.双目视觉立体匹配致密匹配算法的研究[D].西安:西安电子科技大学,2010:35-45. |
| [7] | ] 周秀芝.面向深度提取和形状识别的图像匹配[D].长沙:国防科技大学,2006:14-37. |
| [8] | ] BRADSKI G,KAEBLER A.学习OpenCV[M].于仕琪,刘瑞祯,译.北京:清华大学出版社,2009:129-132. |
| [9] | ] CONZALEZ R C,WOODS R E.Digital image processing[M].2nd ed.New Jersey:Pearson Prentice Hall,2008:280-300. |
| [10] | ] SONKA M,HLAVAC V,BOY R.图像处理、分析与机器视觉[M].北京:人民邮电出版社,2003:14-53. |
| [11] | ] VIOLA P,JONES M.Rapid object detection using a boosted cascade of simple features[C]// Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.Kauai:IEEE,2001:3-8. |
2014, Vol.36
Issue (2): 161-166











