基于双目视觉的目标测距

2017-02-25 09:32黄玉强叶磊
汽车实用技术 2017年2期
关键词:双目测距标定

黄玉强,叶磊

(武汉理工大学现代汽车零部件技术湖北省重点实验室,湖北 武汉 430070)

基于双目视觉的目标测距

黄玉强,叶磊

(武汉理工大学现代汽车零部件技术湖北省重点实验室,湖北 武汉 430070)

随着计算机技术的发展,无人驾驶技术的研究也受到了越来越多的关注,环境感知技术在其中占据着重要的地位,双目立体视觉技术以其特有的优势成为了环境感知技术中的主要内容。在研究了双目立体视觉标定、校正、匹配等技术的基础上,文章设计了基于MATLAB与OpenCV相结合的双目立体视觉测距系统。利用MATLAB calibration toolbox进行标定试验,并且将标定结果导入至OpenCV中进行后续校正、匹配、距离恢复工作以求出目标的三维深度信息。实验表明,该系统在一定的距离范围内能够达到高精度要求。

双目立体视觉;标定;校正;匹配;测距

CLC NO.:TP39/TN911.73Document Code:AArticle ID:1671-7988 (2017)02-148-04

引言

无人驾驶技术随着环境感知技术的发展而发展,对周围环境信息的正确感知是无人驾驶汽车安全行驶的前提。目前环境感知技术主要有五种:雷达感知、红外线感知、超声波感知、融合感知、机器视觉感知。雷达感知不需复杂的设计与计算,系统的使用不受天气、光线等因素干扰,但却受相近的不同雷达间的电磁波的干扰;红外线感知环境适应性好,反应速度快,探测范围更广,但是探测视角小,测量精度也有待提高;超声波感知能够快速简单的处理数据,且超声波传感器也比较耐脏污,但是其精度较低,成本也较高;融合感知是基于单一传感器难以全面描述路况环境,而综合利用多个传感器来正确感知车辆周围的路况环境,但缺点是数据处理较为复杂并且设备成本高;机器视觉感知容易受到环境的影响,但是其监测范围更大,能够更为全面的收集道路信息,并且设备成本较低,普及率也更高。

基于双目立体视觉的环境感知是今后机器视觉环境感知的一个重要发展方向,现如今其广泛应用在航空航天、工业检测、物体识别等领域。双目立体视觉技术即模拟人类双眼处理景物的方式,运用摄像机从不同位置对同一目标物体取像,实现对景物立体信息的感知[1]。本文基于Zhang的相机相机标定方法,在双目平行视觉基础上,鉴于双目标定结果很容易受到外部因素的影响[2-4],控制特征点数量、标定图片数量和棋盘格尺寸三个影响因子,之后用MATLAB calibration toolbox进行标定试验,并且处理标定结果以求出目标的深度信息[5-6]。

1、双目立体视觉测距原理

双目立体视觉测距主要是基于三角法原理,本文基于双目平行视觉,如下图1所示,物体上的某点P在摄像机1和摄像机2上的成像点分别为点P1和P2,图像上成像点P1和P2相对于坐标原点O1和O2(O1和O2是左、右相机透镜光轴与图像平面的交点)的距离分别为x1和x2,P点在左、右图像平面上成像点的位置差(x1-x2)被称之为视差,由三角形相似原理,有:

图1 双目立体视觉测量原理

2、双目标定

2.1 双目标定模型

图2 双目视觉摄像机模型

在双目视觉中,双目标定实际上解决的就是二维图像中像素点的位置与三维场景中的点的位置的投影关系的问题,而这种投影关系又可以用摄像机模型中的四个坐标系之间的转换关系来表述,这四个坐标系分别为图像坐标系、成像平面坐标系、摄像机坐标系和世界坐标系[7-9]。如下图图2所示。

图像坐标系和成像平面坐标系之间的转换关系如下:

其中,(u,v)是以像素为单位的图像坐标系的坐标,(x,y)是以毫米为物理单位的成像平面坐标系的坐标。世界坐标系与摄像机坐标系的刚性变换如下所示:

其中,(Xc,Yc,Zc,1)是点P在摄像机坐标系下的坐标,(Xw,Yw,Zw,1)是点P在世界坐标系下的坐标,由上得知,摄像机坐标系和世界坐标系之间的关系可以用一个矩阵M2来表示,利用针孔模型可以表征摄像机坐标系和成像平面坐标系之间的变换关系:

用齐次坐标和矩阵表示上式:

将式(2)、(3)带入(5),可以得到以世界坐标系表示的P点坐标与其投影点P的坐标(u,v)间的关系为:

上式即是表征了二维图像坐标和三维世界坐标之间的基本关系,其中,M1、M2分别是摄像机内外参数矩阵,确定M1、M2的过程即是摄像机的标定。

2.2 摄像机标定

现有的摄像机标定方法总体上分为3大类:传统标定方法、自标定方法和基于主动视觉的标定方法。前二者的主要区别在于传统标定法一般需要使用标定物而自定标法无需标定物;传统方法和理论相对较成熟,而自标定应用广泛,但精度不高[10]。摄像机的自标定法不需要标定物,仅仅依靠多副图像对应点之间的关系直接进行标定,主要适用于精度不高的场合;传统的摄像机标定法需要已知尺寸的标定物,通过建立起标定物上已知的三维坐标点与已知的图像点之间的一个对应关系来获取标定结果,该标定方法可以获得较高的标定精度,但不适应于不可能使用标定物的场合。基于主动视觉的标定方法需要控制摄像机以给定方式运动来求解模型参数,计算简单,鲁棒性较高,缺点是需要使用高精度移动平台[7]。当应用场合要求的精度很高而且摄像机的参数不经常变化时,传统的标定法应为首选。

Weng等人根据标定参数的求取方法又将传统的标定法分为如下三类:非线性优化法、线性法、两步法。两步法是在基于非线性优化法和线性法的不足,同时又将这两种方法相结合的基础上发展起来的,其中以Tsai, Zhang提出的摄像机标定法为代表,得到了广泛的应用。本文以基于Zhang相机标定方法为基础,基于双目平行视觉,较之基于OpenCV的标定方法有较高的精度和较强的鲁棒性,故用matlab calibration toolbox进行标定试验。实验设置为采用12×11规格的标定棋盘,标定图片张数设置为16张,棋盘格尺寸设置为15mm。

图3 标定棋盘

标定结果如下:

式中:M1和M2分别是左右相机的内参数,D1和D2分别是左右相机的畸变参数,R是左右相机的旋转矩阵,T是左右相机的平移矩阵。

3、立体匹配和测距

立体匹配就算法而言,可以分为区域匹配算法和特征匹配算法。基于区域的匹配算法是将一幅图像中的某一点的灰度邻域作为基点,按照特定的约束条件在另外一幅图像中搜索具有相同灰度值分布的对应点邻域,从而将对应的特征点检测出来。区域匹配算法简单,操作容易,但是在出现遮挡物或者图像不光滑时会使匹配过程变得杂乱,严重时还会导致匹配出现错误。

基于区域立体匹配算法的缺点,采用OpenCV提供的快速有效的块匹配立体算法对图像进行立体匹配。然后,在匹配过程中使用绝对误差累积(SAD)的小窗口来寻找左右两幅图像之间的匹配点,OpenCV中相应算法提供的函数为cvFindStereoCorrespondenceBM(),匹配之后得出的视差图如下图4所示:

图4 视差图

图5 左相机原图

目标物体的深度信息由OpenCV提供的cvReproject ImageTo3D()求出,通过设置鼠标响应函数,实时求出物体上点的距离信息,如下图6所示,通过将目标物体摆放至不同距离的位置,求出目标物体上某些点的深度信息,并与测出实际距离信息做对比,计算误差值,测距结果如下表所示:

表1 实际测距结果

4、结论

本文基于双目测距的基本原理,查阅相关文献优化外部影响因素以减少标定误差,后用MATLAB calibration toolbox进行标定试验,从而得出精确度较高的标定结果,然后在VS2013的环境下通过OpenCV将标定的内外参数用至后续的校正、匹配环节,通过设置鼠标响应函数,实时的在控制台上显示目标点的距离信息,并且最终得到了目标的深度信息。由实验结果可知,在一定的距离之内该测距方法能够达到一定的精度,但是鉴于仍然存在图像噪声等外部影响因素,而导致的标定误差、匹配误差等将会使得测距结果鲁棒性有所减弱。

[1]王珂玮.基于双目立体的目标测量[D].长春:吉林大学,2013.06.

[2]支健辉,董新民,孔星炜,王旭峰.相机标定的外界影响因素分析[J].应用光学.2014,35(2):286-291.

[3]袁铭,苏显渝,刘晓青.影响摄像机标定精度的因素分析[J].光学与光电技术,2010,8(4):18-21.

[4]娄小平,郭美萍.双目视觉测量系统标定精度提高方法研究[J].北京信息科技大学学报:自然科学版.2010,25 (1).

[5]罗丹,廖志贤.基于OpenCV的双目立体视觉测距[J].大众科技. 2011(4):52-53.

[6]汪珍珍,赵连玉,刘振忠.基于MATLAB与OpenCV相结合的双目立体视觉测距系统[J]. 天津理工大学学报.2013(1):45-48.

[7]曲学军,张璐,张凌云.基于新的成像模型的摄像机标定与三维重建[J].仪器仪表学报,2011,32(8):1830-1836.

[8]熊凡.双目立体视觉系统标定及重构方法研究[D].武汉:武汉工程大学.2012.05.

[9]金伟伟.基于双目视觉的运动小目标三维测量的研究与实现[D].杭州:浙江大学.2010.01.

[10]王晓辉,程健庆,韩瑜. 基于改进模型的摄像机标定[J].电子测量技术.2012(12):40-44.

Range-measuring of Target based on Binocular stereo vision

Huang Yuqiang, Ye Lei
(Hubei Key Laboratory of Advanced Technology of Automotive Parts, Wuhan University of Technology, Hubei Wuhan 430070)

With the development of computer technology, the research of unmanned technology has attached more and more attention,and the technology of environment perception plays an important role in it. Binocular stereo vision technology comes to the major content of unmanned technology,for which possessing the specific advantages.Grounding in the studies of the technology of Binocular stereo vision system’s calibration,stereo rectification ,stereo matching and so on,This paper designs distance measurement system based on a combination of MATLAB and OpenCV.Using MATLAB calibration toolbox to conduct the experiment of calibration, then importing the results calibrated to the OpenCV and conducting the following task of rectification,matching, the recovery of distance to get the three-dimensional depth information of target.The experiment show that the measurement system can meet the demand of high-precision within a destined range.

Binocular stereo vision; Calibration; Rectification; Matching; Range-measuring

TP39/TN911.73

A

1671-7988 (2017)02-148-04

黄玉强,硕士,就读于武汉理工大学,研究方向为双目立体视觉。

10.16638/j.cnki.1671-7988.2017.02.051

猜你喜欢
双目测距标定
基于RSSI测距的最大似然估计的节点定位算法
采用双目视觉和自适应Kalman滤波的作物行识别与跟踪
霜 降 苏美玲
基于双目视觉的机器人定位与导航算法
轻卡前视摄像头的售后标定
一种轻卡前视单目摄像头下线标定方法
使用朗仁H6 Pro标定北汽绅宝转向角传感器
机械手的双目视觉定位抓取研究
CT系统参数标定及成像—2
CT系统参数标定及成像—2