基于双目视觉的目标定位研究

2015-05-30 10:48鞠冠秋王海梅
科技创新与应用 2015年12期
关键词:目标定位立体匹配

鞠冠秋 王海梅

摘 要:基于双目视觉的目标定位是当前计算机视觉研究领域的热点问题,文章介绍了双目视觉的基本原理,对其关键技术进行了深入研究,并将基于灰度相关性的立体匹配算法应用到双目视觉定位系统中。设计双目视觉定位实验,实验表明文章方法能够实现一般的双目视觉中的目标定位问题。

关键词:双目视觉;立体匹配;目标定位

引言

双目视觉是利用已经标定了的不同位置的两台摄像机(或者一台摄像机经过移动或旋转)拍摄同一幅场景得到的两幅二维图像, 应用图像处理、图像匹配、三维重建等方法进行处理,从而实现从二维图像恢复场景三维图像的一种模拟人的双目视觉的方法。

运动目标的位置确定在机器人视觉导航、公共场景监控、智能交通等领域有着十分广泛的应用背景,而在上述应用领域,双目视觉较单目视觉有着显然不可替代的优势,故文章主要对基于双目视觉的运动目标的定位问题进行研究。

1 双目视觉的基本原理

1.1 线性摄像机模型

在线性摄像机模型中,定义了三种坐标系[1]:图像坐标系、摄像机坐标系与世界坐标系。通过三种坐标系的相互关系可以得到世界坐标系表示的点P坐标(Xw,Yw,Zw)与其投影点p的坐标(u,v)间的关系。如图1所示。其代表的线性摄像机模型由式(1)表示。

M1由f、dx、dy、u0、v0决定,由于这些参数只与摄像机内部结构有关,故称这些参数为摄像机的内部参数。M2由摄像机相对于世界坐标系的方位而定,被称为摄像机的外部参数。

1.2 视差原理

标准的双目视觉系统成像关系如图2所示,实际上不同的系统结构都可以变换为这种简单的标准结构。图2中,Ol、Or分别为左、右两个摄相机的光心,Ol、Or之间的距离为b,相机焦距为f。点P到OlOr连线间的距离为z。

2 摄像机标定

摄像机标定是进行目标定位的必要过程,通过摄像机标定可以得到摄像机的内外参数。常用标定方法[2]有:传统标定方法、自标定方法等。文章采用传统标定方法对摄像机进行标定。在传统标定方法中,首先摄像机的前方放置标定参照物,由摄像机获取标定物的图像。通过图像处理的方法获取标定物上的特征点,同时对标定物特征点的世界坐标进行精确测定。最后利用一系列标定点在图像像面上成像点的像素坐标与其世界坐标之间的对应关系,借助非线性优化的方法,计算出摄像机数学模型中包含的内外参数。

采用传统标定方法的标定过程[3]如下:

(1)通过改变模板的位置,从不同的角度和位置来拍摄模板图像,并检测拍摄的模板图像上的角点,获取角点坐标。

(2)根据角点计算单应矩阵,根据单应矩阵求解摄像机部分参数初值,计算出摄像机内外参数和畸变参数。

3 基于灰度相关性的立体匹配

立体匹配是寻找同一空间目标在不同视点下投影图像中像素间的一一对应关系。通根据匹配基元的不同,双目视觉中的立体匹配算法分为[4]:区域匹配、特征匹配、相位匹配。文章选用一种基于灰度相关性的立体匹配算法。

基于灰度相关性的立体匹配步骤如下:首先在图像中选择一点Pl(x,y)作为待匹配点,以此点位中心,选择一个大小为(2M+1)*(2N+1)的匹配窗口。然后依据具体的匹配方法在待匹配图像中寻找对应点窗口,即在待匹配图像中依次对比同一极线上的Pl(x,y)与Pr(x+i,y)的相似程度,依照某种度量标准对比两图像窗口的相似程度,并认为相似度最高的窗口的中心像素点与点Pl(x,y)成功匹配。

在上面的两种匹配代价下,差别系数越大,模板与图像之间的区别就越大。为了在图像匹配到模板的目标,需要使用一个给定的阈值对相似性图像sad和ssd进行阈值分割,阈值在试验中获取。

4 实验设计及结果分析

实验采用两个摄像头作为摄录工具,图像分辨率都为720*480,两个摄像头间隔24cm平行放置。软件采用基于OpenCV的C++语言进行编程。

实验分为两个部分:

4.1 摄像机标定

首先对左右摄像机进行标定,获取摄像机的内外参数,采用7*9的国际象棋棋盘作为标定模板,每个棋盘格规格为25mm×25mm。运用OpenCV中提供角点定位函数及双目标定函数编写程序进行标定,角点提取成功的图像如图3,标定结果如表1。

从表1中数据可以看出,相机的主点并不位于图像中心,两者存在一定的偏差。由于两台摄像机的摆放位置比较理想,所以标定得到的旋转矩阵接近于单位矩阵,平移矢量的第二、三个分量远小于第一分量。

4.2 立体匹配及目标定位

标定完成后,在同样的拍摄环境下拍摄一段视频,选择视频中的行人为定位目标,对左摄像机中的行人进行目标跟踪,并选取跟踪算法中的目标区域为模板,采用基于灰度相关性的立体匹配算法,在右摄像机中对同一行人进行目标匹配。同时在匹配正确的情况下,记录目标在定点的图像坐标值,并计算其深度信息,以实现目标定位。

软件平台采用VS2005,基于C++语言进行编程,具体算法步骤如下:

(1)采集左右图像,对图像进行预处理;(2)在左图像中对目标进行跟踪,并确定模板区域,利用文章算法在右图像中与待测区域进行比较,比较值满足阈值相似性条件认为是匹配点;(3)若是比较值不满足阈值相似性条件,则移动同一极线上的待测区域中心点,重复步骤(2);(4)记录在定点处目标的坐标值利用式(2),计算出相应的深度信息。

立体匹配的实验结果如图4所示。

图4中,为视频中第100帧的立体匹配情况,其中左图中的的目标区域是由跟踪算法确定的,右图中的目标区域是由立体匹配算法确定的,从试验结果可以看出,右图的立体匹配比较准确。

为了检验文中目标定位的准确性,在视频拍摄之前选定了若干行走路线上的确定点,并手工测量了其深度值。在双目视觉的目标定位算法实验中,以行人到摄像机拍摄平面的距离为实际深度,算法实验得到的相应确定点的深度数据与手工测量的深度数据如表2所示。

表2中1号数据对应图4。由表2中的数据计算得到的平均相对误差为1.95%,可以看出采用双目视觉方法的运动目标定位是可以实现的,定位精度能够满足一般要求。

对实验过程进行分析,发现误差产生原因主要有以下两个方面:

(1)在计算深度的过程中使用的某些数据,如焦距f,像素点实际对应尺寸等存在误差,导致深度计算中出现二次误差;

(2)由于立体匹配算法本身存在缺陷,导致匹配的图像坐标产生误差,最终对深度信息造成影响。

针对上述原因造成的误差,文章提出一些改进的建议:

(1)对最终的深度计算结果进行参数补偿,以减小绝对误差;

(2)在立体匹配过程中,选取匹配图像前后的多帧图像,分别进行匹配并及计算深度,取平均值作为该帧目标的深度;

(3)改进立体匹配算法,使之能够更好地应用于运动目标系统。

5 结束语

运动目标的位置确定是计算机视觉领域的重要研究内容,文章首先对双目视觉的基本原理进行介绍,然后深入研究了双目视觉关键技术中的摄像机标定和立体匹配方法,采用传统标定方法及基于灰度相关性的立体匹配算法,设计了双目标定及目标定位实验,实验结果表明,文中采用的算法能够实现一般应用需求中的运动目标的定位问题。

参考文献

[1]马颂德,张正友.计算机视觉-计算理论与算法基础[M].北京:科学出版社,1998.

[2]颜卓.基于双目视觉的运动物体检测系统研究[D].沈阳:沈阳大学,2012.

[3]Gary Bradski,Adrian Kaehler.学习OpenCV[M].北京:清华大学出版社,2009.

[4]时洪光.基于双目视觉的运动目标定位研究[D].青岛:青岛大学,2010.

[5]王逸林.基于区域匹配算法的双目立体匹配技术的研究[D].大连:大连海事学院,2012.

猜你喜欢
目标定位立体匹配
影像立体匹配中的凸优化理论研究
基于互补不变特征的倾斜影像高精度立体匹配
综合视野下的高中英语阅读教学
试论高职法律教学的模式和目标定位
关于不同高校网络工程专业培养目标定位和提高师资水平的思考
我国农村职业教育政策的演变
双目立体匹配算法的FPGA实现
无源雷达信号处理及定位系统研究
改进导向滤波器立体匹配算法
浅谈会计目标定位