《电子技术应用》
您所在的位置:首页 > 测试测量 > 设计应用 > 非特征点双目测距技术研究
非特征点双目测距技术研究
来源:微型机与应用2013年第22期
许承慧,刘桂华,梁 峰
(西南科技大学 信息工程学院,四川 绵阳621000)
摘要: 提出了一种局部稠密匹配与人工干预相结合的测距方案,利用非特征点与特征点的位置关系,构建“最小矩形”以缩小匹配范围,再应用NCC(归一化互相关)算法对非特征点进行稠密立体匹配,最后根据双目测距原理直接获取非特征点的距离信息。该方法能任意选取图像上的非特征点进行实时距离测量,具有精度高、速度快和操作性强等优点。
Abstract:
Key words :

摘  要: 提出了一种局部稠密匹配与人工干预相结合的测距方案,利用非特征点与特征点的位置关系,构建“最小矩形”以缩小匹配范围,再应用NCC(归一化互相关)算法对非特征点进行稠密立体匹配,最后根据双目测距原理直接获取非特征点的距离信息。该方法能任意选取图像上的非特征点进行实时距离测量,具有精度高、速度快和操作性强等优点。
关键词: 双目立体视觉非特征点测距;NCC算法

    双目立体视觉测距[1]技术作为机器视觉领域的一个研究热点,目前已广泛应用于机器人、三维测量、虚拟现实等领域。特别在机器人应用领域,实现机器人路径规划和避障[2]的一个关键技术就是准确测量机器人到障碍物的距离。目前常用的测距方法主要有:红外测距、激光测距、微波雷达测距等主动测距[3]方案和双目立体视觉测距、单目测距等被动测距[4]方案。其中,主动测距方案一般需要额外的能量发射装置和合适的传播介质,所以不适用于恶劣条件下工作的机器人;而被动测距方案中的双目立体视觉测距在一定程度上实现了人眼的视觉感知功能,具有探测范围宽、目标信息完整、不需配备额外装置等优点,在机器人定位导航、避障等研究领域得到了越来越广泛的应用。
    双目测距技术的关键在于特征点匹配[5],因为匹配精度直接影响测距的精度。为了减少匹配的不确定性,提高匹配效率,国内外众多专家学者应用了约束假设,而约束一般可分为两类:(1)基于图像几何的约束[6],例如位置、朝向等;(2)基于场景的约束[7],例如场景中物体的性状和相互关系。依据这些基本约束并结合实际情况选择合适的解决方案,使得目前的特征点匹配技术日臻完善。但针对非特征点的立体匹配,尤其是纹理缺乏、特征缺失的图像区域,如何匹配其中的非特征点是一个研究难点。目前国内外常用的解决方案是对视差图[8]进行修补或者对整幅图像在区域增长的基础上进行稠密匹配[9]等。这样可以解决一部分实际问题,但不适用于移动机器人实时测距这一应用背景,因为修补视差图需对环境有一定先验知识,而移动机器人在紧急救援工作中对恶劣环境是没有先验知识的。另一方面,由于稠密匹配需要计算所有像点的像素灰度值并与待匹配点及其邻域像素的灰度值进行对比,计算量庞大,耗时过长的同时亦增加了系统误差。
    基于移动机器人实时导航、测距这一应用背景,本文研究了一种针对非特征点的双目测距方案,以获取需测距的非特征点的距离信息为目的,利用非特征点与已精准匹配的特征点的位置关系,结合匹配中的顺序一致性约束,构造了“最小矩形”,以缩小匹配点的搜索范围,再利用NCC稠密匹配算法做立体匹配,最后结合双目相机的标定参数,利用双目测距原理实现对非特征点的实时测距。实验结果表明,这种方法在降低运算量的同时提高了测量的准确度,而且充分利用了人机交互界面的友好性和反馈功能,适用于具体的工程实践。

1.2 非特征点匹配
    在实际工程中,机器人操作者希望快速获取图像中某一点的实际距离,当该点为非特征点时,首要问题是找到该点的匹配点。
    以图1为例,左图像中用1*、2*、…标示已精确匹配的特征点,其在右图像中对应的匹配点用*1′、*2′…标示。A、B、C分别代表3种情况的非特征点:点A代表第一种情况,即该点附近5像素的邻域内有一个以上的特征点;点B代表第二种情况,即该点附近5像素邻域内没有特征点,但是30像素邻域内有两个或两个以上的特征点;点C代表了第三种情况,即该点的30像素邻域内均无特征点。右图像上,人工估计了非特征点的匹配点所在的区域,用a、b、c标示;而通过非特征点匹配算法得到的匹配点则用A′、B′、C′标示。下文具体介绍3种情况下的匹配方案。

    情况1:先将点A的匹配点A′的搜索区域划定在右图像上以点1*的精确匹配点*1′为中心的21×21的矩形区域内,再用 NCC算法在该区域内计算匹配点A′。最后再与右图像上人工确定的搜索区域的中心点a进行比较,相距在12个像素之内认为算法正确,否则视该点为第三种情况。
    情况2:将B点附近的精确匹配点按照距离大小排列,确定距离最近的两个匹配点2*和3*,依据顺序不变性原理,用这两个匹配点构成“最小矩形”,且B点在矩形内部。“最小矩形”的确定步骤如下:
    (1)计算匹配的特征点到非特征点B的距离,从距离最小的特征匹配点开始,依次与B 点坐标进行比较,直到找到一个与B点坐标不同的点,即为构建“最小矩形”的一个顶点(图1中2*)。
 
    (3)以找到的两个特征点为顶点构建“最小矩形”,在矩形范围内用NCC算法确定非特征点的匹配点(图1中的B′点),再与右图像上人工确定的搜索区域中心点(图1中b点)做比较,若距离在12像素以内认为算法正确,否则视该点为第三种情况。
    情况3:对点C直接利用机器人操作中人机交互的便利性,人工在右图像上确定搜索区域,该区域是以点c为中心的21×21邻域。该非特征点位于低纹理区域,因此不适合用前两种情况来搜索匹配点,所以采用信任人工的方案,在人工确定的搜索区域做立体匹配,其另一优点是可以直接避免对双目盲点区域的匹配搜索工作。此外还可以对前两种方案进行校正和纠错。

 


    图3显示了非特征点测距过程,左图像上任意点选了一些非特征点(*1~*17),右图像上人工选取了立体匹配搜索区域的中心点(+1~+17),本文对任意选取的17个非特征点进行距离测量,并与实测值进行比较,统计对照结果如表3所示。

    分析可知,该方案对任意点的测距结果与实测距离基本吻合,整体误差在5%以内。经过多次实验可知,对实测距离为5 m以内的非特征点,计算值与实际值的误差在2%以内,6 m以外的点测距结果误差较大,特别是8 m以外的点误差甚至超过4%,这是因为计算模型将摄像机作为线性模型考虑,所以误差是由距离增大时其非线性表现明显造成的。但从整体来看,该方案的测距结果在允许的误差范围内。
    本文在vs2008版本的C++实现平台下对多组分辨率为640×480的图片进行了测距实验,并与常用的视差图测距方案对比,结果显示本方案平均耗时12 ms,而视差图方案平均耗时160 ms,可见该方案提高了实时性。
    由以上结论可知,该测距方案简便可行,能满足机器人导航中对任意非特征点进行实时测距的要求。
    本文研究的非特征点双目测距方案以移动机器人导航、避障为应用背景,充分考虑了待测距的非特征点
与周围已匹配特征点的位置关系,构建了“最小矩形”以缩小匹配点的搜索范围,并充分利用人机交互界面的友好性,加以人工干预以矫正匹配的精确度,顺利完成了对非特征点的测距工作。该方案的优点是不用生成稠密视差图,减少计算量的同时提高了算法的准确性和实时性;且能够任意选取图像上的点进行距离测量,操作方便,直观性更强;可以人工对匹配点进行校准控制,反馈功能更强。但系统的稳定性还有待提高。
参考文献
[1] 祝琨,杨唐文,阮秋琦,等.基于双目视觉的运动物体实时跟踪与测距[J].机器人,2009,31(4):327-334.
[2] 梁冰,洪炳镕,曙光.自主机器人视觉与行为模型及避障研究[J].电子学报,2003,31(21):266-269.
[3] 徐德,谭民.机器人视觉测量与控制「M].北京:国防工业出版社,2008.
[4] Xiong Chao,Tian Xiaofang,Lu Qiyong.Real-time binocular  matching and depth measurement based on competing  schema[J].Computer Engineering and Applications,2006,42(1):83-85.
[5] 郭龙源.计算机视觉立体匹配相关理论与算法研究[D].南京:南京理工大学,2009.
[6] 王立中,麻硕士,薛河儒,等.一种改进的SIFT特征点匹配算法[J].内蒙古大学学报,2009,40(5):615-619.
[7] 刘盛夏.基于相位信息的立体图像匹配研究[D].上海:上海交通大学,2010.

此内容为AET网站原创,未经授权禁止转载。