logo资料库

基于单目视觉的车距测量.pdf

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
中国科技论文在线 http://www.paper.edu.cn 基于单目视觉的车距测量1 徐国艳,王传荣,高峰,王江峰 北京航空航天大学 交通科学与工程学院 北京(100191) E-mail: xuguoyan@buaa.edu.cn 摘 要:对图像测距几何模型进行了分析,得到基于单目视觉的测距公式。确定需要标定的 参数。利用 OpenCV 提供的函数进行摄像机标定程序的编写,此过程简单,易于离线标定的 实现。介绍了利用 OpenCV 对摄像机标定的过程,并进行标定过程试验,将试验结果进行比 较,证明了其有效性,得到所需的摄像机内部参数。最后进行视频测距试验验证,取得了较 好的试验结果。 关键词:车辆;单目视觉;测距;摄像机标定 中图分类号:TP242.6 TP391.41 文献标识码:A 1.引言 视觉图像具有获取简便、信息丰富和处理方法多样等特点,因此,视觉技术成为智能车 辆研究中主要的信息获取手段。基于机器视觉的障碍物探测和目标跟踪等问题已成为当前的 研究热点[1~4]。 准确的获取本车周围车辆的位置信息和距离信息,是智能车辆控制的重要参数。利用单 目 CCD 对本车前方车辆的信息的获取的步骤主要有:前方车辆的检测;已检测车辆的跟踪, 即预测目标车辆在序列帧中可能出现的位置;本车与目标车辆的距离的换算。 其中,利用单目视觉(monocular vision)系统来实时监测本车与前车的距离则可以为汽 车智能化纵向控制提供输入参数[2]。 作者在最近的文章[5][6]中已对车辆检测和跟踪算法进行了探讨,本文将车辆的检测与 跟踪步骤略去。 本文主要介绍视觉测距模型,得到了测距公式。利用 OpenCV 进行摄像机内部参数标 定,标定过程简单,易于实现,标定精度高。最后实现了车距的测量。 2.单目测距模型 图像采集是将客观世界的三维场景投影到 CCD 摄像机(采集器)的二维像平面(CCD 光敏矩阵表面)上,这个投影一般采用几何透视变换来描述[7]。 被测对象上的某个点在CCD 摄像机二维像平面上的投影几何透视变换关系如图1 所示。 根据点 P(车辆底部阴影上的一点)与镜头中心的水平距离 d 的几何关系,其计算公式为[1]: d = h f )) y − y 0) / α + (1) arctan(( / tan( 式中 f ——摄像机的有效焦距 α——摄像机的俯仰角度 h ——摄像机镜头的安装高度 x y, ——光轴与像平面的交点,作为像平面坐标系的原点,一般取为(0,0) ( 0 x y, ——路面上点 P 在像平面的投影坐标 ( ) 0 ) 1基金项目:教育部高等学校博士学科点专项科研基金(项目编号:20070006011) - 1 -
中国科技论文在线 http://www.paper.edu.cn 图 1 图像测距几何模型 Fig 1 Geometry model of detecting distance in image 在公示(1)中,参数α和 h 可以直接测量得到, 0y 一般取作 0, f 、 y 是未知的。 f 是 CCD 摄像机的有效焦距,属于内部参数,y 是目标点在 CCD 像平面上的投影坐标在 y 轴 方向上的分量,称为像平面坐标。但是数字图像是由计算机内的存储器存放,而我们通过图 像处理只能获得目标点在计算机内存中的坐标,称为帧存坐标( , )u v ,单位是像素。如图 2 所 示。因此要将计算机内存中的帧存坐标转换到像平面坐标系统中[8]。 O u x 1O 1O u v ( , 0 0 ) v y Fig.2 Frame buffer coordinates and projection coordinates transformation 图 2 帧存坐标和投影坐标变换 1O 0 u v 是 CCD 摄像机光轴与像平面交点 0 ( ) ( , 0 x y 的帧存坐标,该点一般位于帧存图 ) , 0 像的中心,但由于摄像机制作的原因,也会有些偏离,因此需要对其进行标定。设帧存中的 一个像素对应于像平面在 x 轴与 y 轴方向上的物理尺寸分别为 dx 、 dy ,则有变换关系 u = x dx u + 0 v = y dy v + 0 (2) x 令 0 y= 0 0 = ,则联立式(1)(2)得 / tan( d h = α + arctan(( v v − 0 ) / ay )) (3) ay = f dy / 。 其中 式(3)中的v 为图像中目标的位置参数,本文取的是车辆对称轴与地面交点的图像像素纵 坐标,可以通过图像处理得到。 0v ,ay 为摄像机的内部参数,需要标定确定。其他参数可 以根据摄像机在车辆上的具体安装位置来确定。 3.摄像机内部参数的标定 在机器视觉中,摄像机参数分为:内部参数和外部参数,内部参数确定了摄像机内部的 几何和光学特征,不随摄像机的移动而改变;外部参数是确定摄像机平面相对于客观世界坐 - 2 -
中国科技论文在线 http://www.paper.edu.cn 标系统的三维位置,摄像机移动后,需要重新校正。本文中由式(3)可知,外部参数α和 h ,在摄像机随车运动过程可认为近似不变。因此,只需预先标定出摄像机的内部参数,就 可以在车辆行驶过程中用来计算前方车距[7,8]。 目前通常采用的标定方法是基于“两步法”[9]的传统标定方法,该方法比主动视觉摄像节 标定方法和摄像机自标定方法标定精度高,而且标定过程简单,发展成熟,鲁棒性高。 目前,部分文献利用现场标定,采集空间内多个点,或者在道路上画出网格,采集网格 角点,此方法操作复杂,每次标定过程耗时多。OpenCV 是 Intel 开放计算机视觉函数库, 它实现了图像处理和计算机视觉方面的很多通用算法,具备强大的图像和矩阵运算能力[10]。 另外,该函数库中已有两步标定法所需的函数,使程序的编写更加方便。 针对以上所述,本文采用两步法,利用 OpenCV 函数库里面已有的一些函数,编写了摄 像机标定程序。利用打印在 A4 纸上的黑白棋盘表格,进行摄像机离线标定。此方法操作简 单,标定结果精确。 3.1 标定过程 基于 OpenCV 的摄像机标定采用平面棋盘格标定模板。如图 3 所示为本文制作的标定模 板。利用所需标定的摄像机,对棋盘模板在不同方向进行拍摄,拍摄时,要保证棋盘在图像 中的完整,清晰。另外拍摄过程中,照相机转换角度而模板不动,或者是模板转换角度,照 相机不动。不能两者同时都在转换角度。由于采用最小二乘法进行参数的估计,所以拍摄的 图像越多,标定的结果越精确。 利用编写的 OpenCV 标定程序,对拍摄的图片,进行角点提取,计算摄像机的内部和外 部参数。具体操作过程:1)输入以上拍摄好的棋盘图像;2)输入每张棋盘焦点的个数例如 本文,4×6 个焦点。利用 OpenCV 提供的 cvFindChessboardCorners()函数进行角点的提取, 如果所提取的角点数小于所输入的个数,表明提取失败,则把此图片抛弃,进行下一幅图像 的提取。如果提取的个数与输入的个数相等,则提取成功,并将成功提取的角点保存;3) 将保存的角点和能成功提取角点的图像输入函数 cvFindCornerSubPix(),进一步得到角点的亚 像素级的精确坐标值。成功提取角点如图 4。4)将得到的角点像素坐标值和角点世界坐标 值输入函数 cvCalibrateCamera2(),进行标定。由于将世界坐标定在如图 3 所示,所以对于所 有的角点的纵坐标 z=0,并且只需输入正方形格的大小即可推算出每个角点的世界坐标。5) 输出摄像机的内部参数。 图 3 棋盘标定模板 图 4 角点成功提取 Fig.3 Chessboard calibration template Fig.4 Corners extraction 3.2 有效性验证 - 3 -
中国科技论文在线 http://www.paper.edu.cn 本文针对以上的标定过程,利用 VC++6.0 开发了摄像机的标定程序。程序界面如图 5 所示: 图 5 标定程序界面 Fig.5 Calibration program interface 为了证明此程序的有效性,利用[11]中提供的图像数据进行标定,并将计算结果与[11] 给定的结果进行比较。其中部分图像数据的比较结果如表 1 所示: 表 1 摄像机参数 Tab1. Parameters of camera 内部参数 畸变参数 Ax Ay u0 v0 k1 K2 p1 P2 1056.566 1045.191 339.533 181.946 -0.131651 0.092724 -0.005889 -0.007818 1055.39 1043.11 338.869 187.267 -0.12455 0.0749194 -0.004878 -0.008968 相 机 参 数 给 定 值 计 算 值 由表 1 可知,实验结果和给定的结果相近,此标定程序可用于摄像机的标定,标定结果 误差小。 4.测距试验 本试验所用摄像机型号:Canon DIGITAL IXUS 70,利用编写的 OpenCV 标定程序,处 0v =606.922。拍摄过程 理后得到的摄像机内部参数: xa =1650.36, 中摄像机的外部参数:镜头高度 h =1.10m,俯仰角α= 0o 。利用 2 提供的距离计算公式(3), 进行车距的计算。如表 2 为部分计算值和测量值之间的比较。图 6 为试验过程中抽取的不同 距离的部分检测图像。 0u =773.368, ya =1650.9, 由表 2 可知,大部分数据测距精度较高,其中个别测距误差较大,基本满足实际需要。 误差分析:1)所采用的测量值,为人工测量,所得的测量值不可避免的会引入人为误差;2) 由于本文计算的是车辆底部阴影与摄像机的距离,所以前方车辆准确定位会影响到测距精 度。3)摄像机内部参数的标定必定存在一定的误差,这也会影响到测距精度。另外,距离 值与像素坐标是对应的,像素的离散性决定了距离值得离散程度。 - 4 -
中国科技论文在线 http://www.paper.edu.cn a .12m b.16m c.18m 图 6 试验过程中的部分测距图像 Fig.6 Some images of test d.20m 表 2 车距的计算值与测量值之间的比较 单位:米 Tab.2 Experimental results of detecting distance m 8 18 16.972 5 12 12.345 6 14 13.452 7 16 16.071 2 6 6.198 4 10 10.26 3 8 7.965 1 序号 测量值 4 计算值 4.27 5.结论 9 20 19.319 本文主要分析了单目视觉的测距模型,根据 OpenCV 提供的函数库,编写了摄像机标 定程序,实现了内部参数的标定,此过程简单易于操作,通过试验验证了标定结果准确性。 将通过标定得到了摄像机内部参数代入测距模型中,进行测距试验验证,取得了较好的试验 结果,最后分析了试验结果存在误差的原因。本文基于单目视觉的车距测量技术的研究,为 后续车辆主动避撞的研究奠定了基础。 参考文献 [1] 施树明, 储江伟, 李斌等. 基于单目视觉的前方车辆探测方法[J].农业机械学报. 2004, 35(4): 5-8. [2] 郭磊,徐友春,李克强等,基于单目视觉的实时测距方法研究[J].中国图象图形学报.2006,1(11):74-81 [3] YOICHIRO IWASAKI,YUJI KUROGI.Real-time robust vehicle detection through the same algorithm both day and night[C].Proceedings of the 2007 International Conference on Wavelet Analysis and Pattern Recognition. 2007:1008-1014 [4] Zehang Sun,George Bebis,Ronald Miller. On-road vehicle detection: a review[J].IEEE Transactions on Pattern Analtsis and Machine Intelligence,2006,28(5):694-711. [5] 徐国艳,王传荣,高峰等. 车辆视频检测感兴趣区域确定算法[J].北京航空航天大学学报。已录用 [6] 王传荣,徐国艳,高峰等. 基于 GM(1,1)模型的车辆视频跟踪改进算法[J].汽车工程 已录用 [7 ] 王荣本,李斌,储江伟等.公路上基于车载单目机器视觉的前方车距测量方法的研究[J].公路交通科 技.2001,18(6):94~98. [8] 李斌 .智能车辆前方车辆探测及安全车距控制方法的研究[D],吉林大学,2002.49~52 [9] Zhang Z. A flexible new technique for camera calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334 [10] 尹文生,罗瑜林,李世其. 基于 OpenCV 的摄像机标定[J].计算机工程与设计。2007,28(3):197-199. - 5 -
中国科技论文在线 http://www.paper.edu.cn [11] Vezhnevets Vladimir aka Dead Moroz OpenCV and Matlab camera calibration enhancement[DB/OL].2005.http://graphics.cs.msu.ru/en/research/calibration/ toolboxes Vehicle Distance Measurement based on Monocular Vision Xu Guoyan WangChuanrongn Gao Feng Wang Jiangfeng School of Transportation Science and Engineering, Beijing University of Aeronautics and Astronautics,Beijing (100191) Abstract The model of distance measurement is analyzed, and the equation of distance measurement is got. The program is completed with the OpenCV Library. The course is simple and easy to deal with the Camera calibration. The course of camera calibrating using OpenCV is introduced . The effectiveness of the course is proved through the calibrating test, and the needed parameters of camera are got .At last ,the ranging test is done ,and good results are achieved. Keywords: Vehicle ; Monocular camera; Distance measurement; Tracking; Camera calibration 作者简介: 徐国艳(1974-),女,博士研究生,副教授,主要研究方向:智能车辆和机器视觉 - 6 -
分享到:
收藏