基于角点检测的双目视觉测距新方法

2013-08-29 09:17任继昌杨晓东
电光与控制 2013年7期
关键词:双目角点测距

任继昌,杨晓东

(海军潜艇学院,山东 青岛 266042)

0 引言

双目视觉测距技术是计算机视觉技术的一种具体应用,它仿照人类双眼感知周围环境空间深度的功能[1],利用两个摄像头从不同位置拍摄同一场景,通过各种算法对所拍摄的立体图像对进行匹配,并计算视差,然后利用三角测量原理实现距离测量。立体匹配是双目视觉测距的关键环节,其目的是在图像对的左右图像上寻找到同名的点,并通过某种手段计算出视差。针对立体匹配问题,国内外众多学者进行了深入研究[2-5],常用算法有基于相位的匹配、基于特征的匹配和基于区域的匹配这3种。以上方法计算量大、缺乏针对性,且存在误匹配的情况,因而效率较低。事实上,在进行测距时无需知道目标上每个点的坐标,而只需知道目标上一些特征点坐标即可达到测距目的,因而只需进行局部匹配即可。基于此思路,本文提出一种基于亚像素级角点检测的人工匹配方法,在一定程度上提高了匹配效率。

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

双目立体视觉测量基于视差原理,图1所示为简单的双目平视立体成像原理图,Ol、Or分别表示左右摄像机光心,两摄像机的投影中心线的距离,即基线距为B,fc表示摄像机的有效焦距。两摄像机在同一时刻观看空间物体的同一特征点P,分别在“左眼”和“右眼”上获取了点P的图像,它们的图像坐标分别为pl=(Xl,Yl),pr=(Xr,Yr)。假定两摄像机的图像在同一个平面上,则特征点P的图像坐标Y相同,即Yl=Yr=Y,则由三角几何关系得到

图1 双目立体成像原理Fig.1 Principle of binocular vision

设视差为D=Xl-Xr。由此可计算出特征点P在摄像机坐标系下的三维坐标为

同时可以容易得到特征点到坐标系原点的距离

因此,左摄像机像面上的任意一点只要能在右摄像机像面上找到对应的匹配点(二者是空间同一点在左、右摄像机像面上的点),就可以确定出该点的三维坐标。

2 摄像机标定

立体标定是计算空间上两台摄像机之间的几何关系,立体标定前需要完成单个摄像机的标定工作。摄像机标定是指建立摄像机图像像素位置与场景点位置之间的关系,其途径是根据摄像机模型,由已知特征点的图像坐标和世界坐标求解摄像机的模型参数。

2.1 图像、摄像机坐标系和世界坐标系

图像坐标系是存储在计算机中的数字图像的坐标系,表示方法有两种:1)以像素单位表示,坐标系原点位于图像的左上角,以(u,v)表示图像中的某一坐标;2)用物理单位mm表示,设坐标的原点位于(u0,v0)像素点,即主点(摄像机光轴与图像平面的交点)。两种坐标表示方法比较如图2所示[6]。则图像中任意一个像素在两个坐标系下的坐标有如下关系,

式中,像素点的物理大小为k×l,单位为mm。

图2 图像坐标系Fig.2 Image reference frame

摄像机坐标系(X0,Y0,Z0)是以摄像机镜头的光心为原点,X0轴和Y0轴与图像坐标系的x轴和y轴平行,Z0垂直于图像平面。摄像机坐标系与图像坐标系的关系为

式中:f为摄像机焦距;θ为摄像机坐标系的偏斜度(一般情况下,摄像机坐标系垂直于图像坐标系,即成90°)。

结合式(4)与式(5)可得

式中,A为摄像机内参数,包含了摄像机的6个内参数(k,l,u0,v0,f,θ)。

世界坐标系是用来描述摄像机位置的基准坐标系,同时也用来描述环境中任何物体的位置,它由(Xw,Yw,Zw)表示。摄像机坐标系与世界坐标系之间的关系可以用旋转矩阵R与平移向量T来描述,R与T称为摄像机的外参数。它们之间的关系如下

式中:R为3×3正交单位矩阵;T为三维平移向量;0=(0,0,0)T;M2为4×4矩阵。

2.2 摄像机标定

摄像机标定是指建立摄像机图像像素位置与场景点位置之间的关系,需要解算摄像机的内参矩阵A中6个参数。本文采用ZHANG标定法[7],结果如下。

右摄像机内参数为

3 图像立体校正

在真实世界中,摄像机几乎不可能像图1那样严格的前向平行对准,但可以通过数学方法计算投影图和畸变图,从而将左右摄像机图像校正为前向平行对准。本文按文献[8]中提及的Bouguet立体校正算法对双目视觉系统进行立体校正,结果如下。

校正后的右摄像机内参数为

结果显示R为单位矩阵,表明两摄像机已校正为前向平行,即校正后对应的左右摄像机图像满足行对准。同时T也发生了变化,参数ty,tz很小,几乎可以忽略,即可认为校正后的双目视觉系统在竖直方向和前后方向没有发生平移,达到了立体校正的要求。图3和图4分别为未校正和立体校正后的左右摄像机图像。

由图4边缘可以看出,校正后的图像与原图(图3)有一定变化(左视图上部、右视图下部有变化),且两幅图处于平行对准状态。

图3 未校正的左右摄像机图像Fig.3 Unrectified pictures

图4 立体校正后左右摄像机图像Fig.4 Rectified pictures

4 角点检测与匹配

按文献[9]提出的检测方法对图3中测距目标进行角点检测,如图5所示。

图5 角点检测Fig.5 Corner detecting

本文要测量图中标定纸右上角到左摄像机光心(世界坐标系原点)的距离。选取右图像标定纸右上角作为特征点,然后以改点为中心画适当大小的矩形(只需大致包含特征点即可),该矩形即为角点检测区域,进行亚像素级角点检测,测得该点Pr坐标为xr=803.521,yr=362.512。

按照同样方法测得左图像相同特征点Pl坐标为xl=1218.93,yl=362.373,Pl为对应Pr的匹配点。

5 距离计算

测得Pl、Pr坐标后即可依式(2)~式(5)进行三维坐标计算,但式(2)~式(4)是理想情况下的计算公式,即认为两摄像头完全一致,从Ar、Al可以看出,校正后的两个摄像头并非完全一致,光心点坐标(u0,v0)不完全一样,因而公式修正为

经计算可得xc=877.63 mm,yc=39.39 mm,zc=3270.27 mm,依式(5)可得距离s=3386.21 mm。

6 结语

本文针对双目视觉测距中匹配过程复杂、运算量大、效率低的问题,提出更为简捷的基于角点检测的人工匹配方法,并基于该方法实现了双目测距。实验所测距离为3386.21 mm,而利用激光测距仪测得距离为3401 mm,测量误差为0.44%,具有较高精度。结果表明,本文提出的基于角点检测的人工匹配测距方法运算量小、效率高且匹配方法简单,同时测距结果也比较理想。本文所用方法同样适用于远距离测距,可通过增大基距,采用长焦距、高分辨率摄像机,以及提高标定精度等方法来保证最终的测距精度。

[1]高文,陈熙霖.计算机视觉-算法与系统原理[M].北京:清华大学出版社,1998.

[2]王军,张明柱.图像匹配算法的研究进展[J].大气与环境光学学报,2007,2(1):11-15.

[3]徐奕,周军,周源华.基于小波及动态规划的相位匹配[J].上海交通大学学报,2003,37(3):388-392.

[4]王年,范益政,鲍文霞,等.基于图割的图像匹配算法[J].电子学报,2006,34(2):232-236.

[5]徐彦君,杜利民,侯自强.基于相位的尺度自适应立体匹配方法[J].电子学报,1999,27(7):38-41.

[6]张广军.机器视觉[M].北京:科学出版社,2005.

[7]ZHANGZY.A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.

[8]BRADSKIG,KAEHLERA.学习OpenCV(中文版)[M].于仕琪,刘瑞祯,译.北京:清华大学出版社,2009.

[9]SHI J,TOMASI C.Good features to track[C]//The 9th IEEE Conference on Computer Vision and Pattern Recognition,1994:593-600.

猜你喜欢
双目角点测距
类星体的精准测距
基于双目测距的卡尔曼滤波船舶轨迹跟踪
双目视觉运动目标跟踪定位系统的设计
基于FAST角点检测算法上对Y型与X型角点的检测
浅谈超声波测距
基于边缘的角点分类和描述算法
基于圆环模板的改进Harris角点检测算法
基于双目视觉图像的长度测量方法
基于PSOC超声测距系统设计
黑白棋盘格中的角点提取算法的研究*