APP下载

非特征点双目测距技术研究*

2013-11-10许承慧刘桂华

网络安全与数据管理 2013年22期
关键词:立体匹配双目测距

许承慧,刘桂华,梁 峰

(西南科技大学 信息工程学院,四川 绵阳621000)

双目立体视觉测距[1]技术作为机器视觉领域的一个研究热点,目前已广泛应用于机器人、三维测量、虚拟现实等领域。特别在机器人应用领域,实现机器人路径规划和避障[2]的一个关键技术就是准确测量机器人到障碍物的距离。目前常用的测距方法主要有:红外测距、激光测距、微波雷达测距等主动测距[3]方案和双目立体视觉测距、单目测距等被动测距[4]方案。其中,主动测距方案一般需要额外的能量发射装置和合适的传播介质,所以不适用于恶劣条件下工作的机器人;而被动测距方案中的双目立体视觉测距在一定程度上实现了人眼的视觉感知功能,具有探测范围宽、目标信息完整、不需配备额外装置等优点,在机器人定位导航、避障等研究领域得到了越来越广泛的应用。

双目测距技术的关键在于特征点匹配[5],因为匹配精度直接影响测距的精度。为了减少匹配的不确定性,提高匹配效率,国内外众多专家学者应用了约束假设,而约束一般可分为两类:(1)基于图像几何的约束[6],例如位置、朝向等;(2)基于场景的约束[7],例如场景中物体的性状和相互关系。依据这些基本约束并结合实际情况选择合适的解决方案,使得目前的特征点匹配技术日臻完善。但针对非特征点的立体匹配,尤其是纹理缺乏、特征缺失的图像区域,如何匹配其中的非特征点是一个研究难点。目前国内外常用的解决方案是对视差图[8]进行修补或者对整幅图像在区域增长的基础上进行稠密匹配[9]等。这样可以解决一部分实际问题,但不适用于移动机器人实时测距这一应用背景,因为修补视差图需对环境有一定先验知识,而移动机器人在紧急救援工作中对恶劣环境是没有先验知识的。另一方面,由于稠密匹配需要计算所有像点的像素灰度值并与待匹配点及其邻域像素的灰度值进行对比,计算量庞大,耗时过长的同时亦增加了系统误差。

基于移动机器人实时导航、测距这一应用背景,本文研究了一种针对非特征点的双目测距方案,以获取需测距的非特征点的距离信息为目的,利用非特征点与已精准匹配的特征点的位置关系,结合匹配中的顺序一致性约束,构造了 “最小矩形”,以缩小匹配点的搜索范围,再利用NCC稠密匹配算法做立体匹配,最后结合双目相机的标定参数,利用双目测距原理实现对非特征点的实时测距。实验结果表明,这种方法在降低运算量的同时提高了测量的准确度,而且充分利用了人机交互界面的友好性和反馈功能,适用于具体的工程实践。

1 基本原理

1.1 特征点匹配

本方案基于双目视觉理论,对双目相机采集的两幅图片进行处理。首先将图像灰度化,再通过SIFT算子(即尺度不变特征变换算子)对图像进行特征点检测,该算法可以使特征点具有较突出的匹配能力。设待匹配的两幅图像为L和R,经SIFT算法提取特征点后,左图像L 中特征点集合为 Lp={f(p)1,f(p)2,…,f(p)m},右图像R 中特征点集合为 Rq={f(q)1,f(q)2,…,f(q)n}。

针对左右两幅图像生成的特征点集合,选用计算量相对较小的归一化互相关算法(NCC算法)进行立体匹配。该算法依据特征点邻域像素值的相似性来进行匹配,其定义公式如下:

其中,W1、W2是特征点 p1、q2的匹配窗口,u1、u2是窗口内像素灰度的均值,NCC算子的取值范围是[-1,1],取值越大代表匹配效果越好。本文经实验验证,将NCC算子的阈值定为0.8时匹配效果最好,即当特征点与右图像中搜索区域内的某点之间的归一化互相关系数≥0.8时,认为该点与特征点精确匹配。

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 非特征点匹配算法示意图

情况1:先将点A的匹配点A′的搜索区域划定在右图像上以点 1*的精确匹配点 *1′为中心的 21×21的矩形区域内,再用 NCC算法在该区域内计算匹配点A′。最后再与右图像上人工确定的搜索区域的中心点a进行比较,相距在12个像素之内认为算法正确,否则视该点为第三种情况。

情况2:将B点附近的精确匹配点按照距离大小排列,确定距离最近的两个匹配点 2*和3*,依据顺序不变性原理,用这两个匹配点构成“最小矩形”,且B点在矩形内部。“最小矩形”的确定步骤如下:

(1)计算匹配的特征点到非特征点B的距离,从距离最小的特征匹配点开始,依次与B点坐标进行比较,直到找到一个与B点坐标不同的点,即为构建“最小矩形”的一个顶点(图 1中 2*)。

(2)以B为原点建立二维坐标系,判断步骤(1)找到的顶点的象限,记为i;根据矩形性质和顺序一致性约束,确定构成“最小矩形”的另一顶点的象限位置,设为j,由式(2)可确定 j,设该点坐标为(x2,y2),则该点与坐标原点 B(x,y)的关系可由式(3)~式(6)确定。 即可确定构成“最小矩形”的第二个顶点(图1中的3*)。

(3)以找到的两个特征点为顶点构建“最小矩形”,在矩形范围内用NCC算法确定非特征点的匹配点(图1中的B′点),再与右图像上人工确定的搜索区域中心点(图1中b点)做比较,若距离在12像素以内认为算法正确,否则视该点为第三种情况。

情况3:对点C直接利用机器人操作中人机交互的便利性,人工在右图像上确定搜索区域,该区域是以点c为中心的21×21邻域。该非特征点位于低纹理区域,因此不适合用前两种情况来搜索匹配点,所以采用信任人工的方案,在人工确定的搜索区域做立体匹配,其另一优点是可以直接避免对双目盲点区域的匹配搜索工作。此外还可以对前两种方案进行校正和纠错。

1.3 非特征点重建及测距

对非特征点进行立体匹配之后,结合双目相机的标定算法,获取摄像机焦距fL、fR以及双目相机的两个摄像头之间的旋转、平移矩阵R和T,然后利用双目测距公式(7)得到该非特征点在以左摄像机光心为原点的世界坐标系中的三维坐标(x,y,z):

实现对非特征点的三维重建后,根据空间距离计算公式计算非特征点到左摄像机光心的距离信息L,实现对任意非特征点的距离测量。

2 测试及结果分析

实验采用Bumblebee2相机和维视的标定板,通过标定工具箱对相机内外参数进行标定,相机参数如表1、表2所示。

表1 左右摄像头内参值

表2 两摄像头的空间距离

采集左右图像,用SIFT算子进行特征点提取,左右图像检测到的特征点数目分别为799和 908个。然后对特征点进行立体匹配,利用极线约束和斜率法去除误差较大的匹配点,得到如图2所示的精确匹配的特征点对,匹配点对的数目为57,NCC值均在0.8以上,可视为精确的特征匹配点对。

图2 去除误匹配后的精确匹配特征点对

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

图3 任意非特征点与人工确定的匹配搜索范围

表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.

[8]刘天亮,罗立民.一种基于分割的可变权值和视差估计的立体匹配算法[J].光学学报,2009,29(4):1002-1009.

[9]SEHARSTERN D,SZELISKI R.A taxonomy and evaluation of dense two-frame stereo correspondence algorithms[J].IEEE Transactions on Stereo and Multi-Baseline Vision(in conjunction with IEEE CVPR 2001),2001(12):131-140.

猜你喜欢

立体匹配双目测距
类星体的精准测距
基于双目测距的卡尔曼滤波船舶轨迹跟踪
浅谈超声波测距
基于HALCON和VC++的双目机器人织物抓取系统设计
基于SIFT算法的图像匹配技术在测量系统中的应用
改进导向滤波器立体匹配算法
基于双目视觉图像的长度测量方法
动态规划立体匹配的状态空间分析和性能改进
镜像式单摄像机立体视觉传感器对弹簧几何尺寸的测量
基于PSOC超声测距系统设计