APP下载

基于嵌入式平台的实时双目视觉测量系统

2011-08-11卿粼波滕奇志

通信技术 2011年10期
关键词:双目角点物体

王 刚, 卿粼波, 滕奇志

(四川大学 电子信息学院图像研究所,四川 成都 610065)

0 引言

随着计算机三维信息技术的发展和广泛应用,怎样方便、精确、实时地获取物体的三维信息成为众多工程应用领域亟待解决的问题。虽然人们对机械学、电磁学、声学和光学等学科的研究已经实现一些三维测量方法,但是在一些应用领域中,考虑到测量成本、操作方便性以及测量精度等实际工程需求时,在嵌入式平台上实现基于双目视觉原理的三维测量就显得很是必要和紧迫。双目视觉[1]三维测量的原理是利用双目视差,根据摄像机透视投影几何模型,实现对物体三维信息的计算,从而达到三维测量[2]的目的。

1 双目立体视觉三维测量原理

双目视觉模型[3],是指2个摄像头参数(摄像头的焦距f)相同且光心平行放于一条直线上时,构成平行双目立体视觉系统。通过各个部分的几何关系分析,从而获取目标物的距离信息。几何关系的获得关键在于找出左右图像中对于同一个物体对应的2个像素点,然后根据投影中心、焦距、摄像机几何位置,由三角几何原理恢复物体的三维信息。如图1所示:2个摄像机的图像在同一个平面上,则特征点P的图像坐标Y坐标相同,

图1 双目视觉成像原理

即Yleft=Yright=Y,则由三角几何关系得到:

则视差为: Disparity=Xleft-Xright。由此可计算出特征点 P在相机坐标系下的三维坐标为:

因此,左相机像面上的任意一点只要能在右相机像面上找到对应的匹配点,就可以确定出该点的三维坐标。这种方法是完全的点对点运算,像面上所有点只要存在相应的匹配点,就可以参与上述运算,从而获取其对应的三维坐标。

2 双目视觉测量系统总体设计

首先,根据双目视觉的原理,系统需要获取同一物体的2幅图像。通过左右2个摄像机,采集2幅图像,分别为左图像源与右图像源,并对2幅图像进行高斯滤波以提供高质量图像。然后进行角点提取。角点通常是图像中周围亮度变化剧烈的点或者图像边界曲线上具有足够大曲率的点。角点是图像三维信息的控制点,它们描述了物体的轮廓和纹理,计算他们的三维信息也就计算了物体的三维信息。而且角点的数据量一般是非常少的,可以有效的减少信息的数据量,提高运算的速度。接着进行角点匹配。最后,综合像机参数(把像素转换为统一单位mm),计算深度,得出物体的三维深度信息。整个系统的框架如图2所示。在整个系统中,角点提取算法与角点匹配算法,是影响整个系统的测量精度和实时性最重要,也是最核心的算法。本文主要的工作也就放在这2个算法的后期约束处理与改进上面,以达到嵌入式平台快速实时的目的。

图2 双目视觉系统

3 基于嵌入式平台的角点提取算法改进

3.1 Harris角点检测算法

Harris角点检测(HCD,Harris Corner Detector)算法的基本思想[4]是:设计一个局部检测窗口,当检测窗口在图像上沿各个方向做微小移动时,考察窗口的曲率变化。当该变化超过设定的阈值时, 就将窗口中的中心像素点提取为角点。为了方便衡量Harris角点,C.Harris 和M.Stephen建议了一个检测标准,被称为Harris角点检测算子,记为Rharris

公式3中的矩阵M定义为:

对于一幅图像,Ix为图像在X方向的一阶偏导,Iy为图像在Y方向的一阶偏导,其中公式(3)中是矩阵M的行列式,trM是矩阵M的轨迹。κ为与检测灵敏度有关的经验值,κ越小,则检测越灵敏,一般κ的取值为:κ=0.04。至于Rharris取多大才能作为角点,这就需要先设定一个阀值T。当Rharris值大于T,且是其邻域的局部极大值时,该点即可被判定为角点。

3.2 嵌入式平台上harris角点中的多余角点的剔除

从实验研究中,发现利用harris角点检测算法,提取的角点太多,且会出现杂乱、虚假角点,严重影响后面的匹配算法与整个系统测量的准确性,所以需要针对被测物体纹理特征及其背景制定相应的约束条件,根据约束条件设计相应的算法,剔除不需要或者杂乱的角点。本文使用棋盘图来研究双目视觉三维信息测量技术,因此这里主要研究对棋盘图角点的筛选。本文使用了一种中心对称算子来筛选角点,该对称算子以图像内某一像素点为中心,在一正方形范围内计算以该点为中心对称的像素点的灰度或亮度差的绝对值的和。由棋盘格的对称性可以推知:当对称算子中心位于棋盘格角点处时,对称算子的响应值最小;当位于棋盘格边缘处时,响应值比较大。根据响应值的大小便可以方便地剔除位于棋盘格边缘点处的虚假角点。

根据对称算子响应值的定义,对称算子响应值 S(x,y)的数学表达式为:

记像素点(x,y)处的灰度值为I(x,y),以该像素点为中心的对称算子的响应值为S(x,y)。

如图3中的图(a)是用harris角点检测后的结果(用十字表示),图(b)是应用对称算子剔除角点后的效果(用十字表示)。

图3 运用对称算子的前后对比

4 基于嵌入式平台的快速角点匹配算法

4.1 传统匹配的原理

通常使用模板在整幅待匹配图像中滑过,匹配过程示意图如图4所示,待匹配图像为I(一般为右图像源),大小为M×N,原点在图像左上角,坐标用I(x,y)表示;模板为T(来源于左图像的以角点为中心的模板),大小为i×i,模板中心就是角点的位置, 坐标用T(x1,y1)表示。匹配过程就是模板T按照一定搜索策略在待匹配图像I中滑动,每移动一个位置,然后计算匹配相似性度量的值,并按照该标准判断最佳匹配点位置,以完成匹配。

匹配度量标准是以图像相关性为基础,利用特征点附近的灰度信息,以最大相关率为准,判断是否为匹配点。定义相关系数为:

其中,g(x,y)表示一个坐标点(x,y)处的相关系数。T(x,y)表示以坐标(x,y)模板图像的灰度值。I(x,y)表示在(x,y)坐标处的待匹配图像的灰度值。

图4 传统的匹配模型

4.2 改进的匹配策略

分析上面那种匹配方法,发现计算量很大,系统的时效性不好,而且编程可操作性差,所以对算法提出改进,针对我们具体的实验环境,对匹配进行一些条件约束与搜索策略上的优化。

4.2.1 模板T在源图像中搜索范围的约束

如果用传统的匹配,模板会在图像的原点开始,从上到下从左到右遍历搜索,直到匹配成功。这样的话算法的复杂度就非常的大,不利于快速处理。但是根据平行光轴的双目视觉系统的特点,匹配的点在左右2图中,纵向坐标是一致的(即双目视觉中的Y坐标是相等的)。所以我们把模板从平面的二维移动,限制在直线的一维运动。模板只需要按自己的纵坐标位置,做水平移动模板,就一定能在这条直线上找到匹配点。

4.2.2 模板T在源图像中水平搜索范围最佳起始位置的确定

在平行双目视觉中,2副图像是通过固定位置的,平行的摄像头采集获得的,所以同一物点在左右图像横坐标都相差一个常数。角点,当然也在左右图像中的横坐标都相差一个相同的数值,这个条件也可以简化搜索的策略,快速定位。设左图像中的一 Harris角点坐标为I(x,y),那么该点的横坐标水平方向平移一定的位移m’,就可以在右图像中的附近(左右5个像素点)找到它的匹配点。同样地,位于右图像中T(x,y)的特征点,可以在左图像中的I(x-m',y)附近找到与之匹配的特征点。根据这个约束条件,我们不必每次模板从左到右开始水平移动,可以从一个固定值m’处附近寻找匹配点,加快系统效率。

5 实现结果

本实验建立在TMS320DM642[6-7]为中心DSP处理器的嵌入式图像视频处理平台上。TMS320DM642处理器在图像处理和视频监控方面有着卓越的性能,非常适合于双目视觉三维测量系统。

实验最终结果如下图 5所示,图(a)是左视图源的角点检测结果,图(a)中,左面是一个14.54 mm×10.38 mm×10.13 mm的长方体铁块,右边为一个10 mm×10 mm的棋盘平面物体(其中“+”代表检测到的角点位置)。图(b)是右视图源的角点检测结果。

图5 角点检测结果

通过图5中角点的坐标信息与公式(2),就可以计算出物体的三维信息坐标。双目视觉测量的数据统计如表1(单位:mm)所示。

表1 三维信息计算结果

从以上统计数据可以看出,本文的双目视觉三维测量,可以满足精度不是要求很高的场合。

6 结语

以嵌入式平台为算法验证平台,对双目视觉三维测量中的关键技术:Harris角点提取算法,角点匹配算法进行了研究,并对关键算法分别提出了自己的解决方法与扩展。最后使用本文的研究结果对实际物体的三维信息进行了测量,测量结果验证了算法的正确性。但是双目视觉的三维测量技术现在还处于简单的针对背景单一,纹理简单的测量物体,如何针对多样化,复杂的测量物体,仍然要进行大量的实验。

[1]贾云得.机器视觉[M].北京:科学出版社,2000.

[2]马林.基于双目视觉的图像三维重建[D].济南:山东大学,2008.

[3]刘涛.基于平行双目视觉的目标距离计算[J].青岛大学学报,2009,22(01):59-62.

[4]王渝.基于FPGA的改进Harris角点检测方法[J].通信技术,2010,43(04):158-160.

[5]陈利军.图像角点检测和匹配算法的研究[D].西安:西安电子科技大学通信工程学院,2005.

[6]崔丽珍.基于 DM642语音处理系统研究与实现[J].通信技术,2010,43(11):67-71.

[7]王军宁.TI DSP/BIOS用户手册与驱动[M].北京:清华大学出版社,2007.

猜你喜欢

双目角点物体
深刻理解物体的平衡
基于双目测距的卡尔曼滤波船舶轨迹跟踪
我们是怎样看到物体的
基于FAST角点检测算法上对Y型与X型角点的检测
基于HALCON和VC++的双目机器人织物抓取系统设计
基于边缘的角点分类和描述算法
基于圆环模板的改进Harris角点检测算法
基于双目视觉图像的长度测量方法
为什么同一物体在世界各地重量不一样?
悬浮的鸡蛋