机器人视觉大作业_第1页
机器人视觉大作业_第2页
机器人视觉大作业_第3页
机器人视觉大作业_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于 OpenCV 的摄像机标定方法研究 摘要 : 提出了一种基于 OpenCV 的摄像机标定方法。分析计算机视觉函数库 OpenCV 中的摄像机模型 , 考虑摄像机透镜的径向畸变与切向畸变的影响及模型的求解方法 , 同时结合基于 Matlab 的摄像机标定工具 箱中的角点提取模块 , 给出了实验结果。结果表明 , 此方法精度较高、 鲁棒性好 , 有效解决了计算机视觉 系统的开发研制周期长的问题 , 可广泛应用于三维重建、 虚拟现实等领域。 关 键 词 : 摄像机标定 ; OpenCV ; Matlab; 计算机视觉 ; 透镜畸变 A Camera calibration technique based on OpenCV Abstract: Proposes a method for camera calibration based on OpenCV. The analysis model of camera computer vision library OpenCV, considering the camera lens radial distortion and tangential distortion effects and model solving method combining based on camera calibration toolbox in the corner extraction module, MATLAB, the experimental results are given. The results show that the method with high precision, good robustness, effectively solves the problem of computer vision system development cycle is long, can be widely applied in the field of 3D reconstruction and virtual reality etc. Key words: Camera calibration; OpenCV; Matlab; computer vision; lens distortion 引 言 三维计算机视觉系统的设计目标是从摄像机获 取的图像信息出发 , 计算三维物体在空间中的位置、 形状等信息 , 并由此识别环境中的物体。物体表面 某点在图像上的几何位置与该点的几何位置有关。 这些位置的相互关系 , 由摄像机成像的几何模型所 决定。该几何模型的参数称为摄像机参数 , 求得参 数的实验与计算的过程称为摄像机标定 1 。一个完 整的计算机视觉系统通常可分为图像获取、 摄像机 标定、特征提取、立体匹配、深度确定及内插等 6 大部分 2 。精确标定摄像机内外参数不仅可以直接 提高测量精度 , 而且可以为后继的立体图像匹配与 三维重建奠定良好的基础 3 - 4 。 目前已经有许多摄像机标定的方法 , 如 Tsai 提出的基于三维标定参照物的标定方法 5 , 标定参 照物一般由两块互相垂直的平面模板组成 , 由于标 定前需要知道参照物表面标定点的空间三维坐标 , 因而这种方法需要一套昂贵的精密标定设备。张正 友提出了基于二维平面模板的标定方法 6 , 该标定 法只要求从不同角度拍摄的同一标定模板 2 幅以上 的图像 , 就可以求出摄像机的内外参数 , 该方法不 需要知道平面模板移动的具体方位和位移信息 , 而 且平面模板的制作简单 , 因此比其他方法更简单、 灵活 7 。 OpenCV (Intel open source computer vision library) 是 Intel 开放计算机视觉函数库, 具备强大的图像和 矩阵运算能力。该函数库中实现的摄像机标定方法 采用的就是张正友提出的标定方法。 OpenCV 中的 摄像机标定模块为用户提供了良好的接口 , 同时支 持 Windows 、 Linux 平台 , 有效地提高了开发效 率 , 并且执行速度快 , 具有良好的跨平台移植性 , 因此可以很好地应用于工程实际当中。 1 标定原理 1.1 摄像机类型 摄像机模型的选择直接影响最后的标定结果 , 因此要选择合适的摄像机模型 , 确定内外部参数。 内部参数描述摄像机的内部光学和几何特性 , 如图 像中心、 焦距、 镜头畸变等 ; 外部参数就是相对 于世界坐标系的摄 图 1 摄像机标定中的坐标系 像机坐标的三维位置和方向。常用的针孔模型 1 ,8 忽略了透镜的厚度和畸变 , 故不能很好地反映实际 情况。 OpenCV 标定算法中的摄像机模型以针孔模 型为基础 , 并引入透镜的径向畸变和切向畸变 , 该 模型相对于只引入一阶径向畸变的 Tasi 5 模型和针 孔模型更加真实地反映了透镜实际的畸变情况。 由于摄像机可安放在环境中的任何位置 , 故要 在环境中选择一个基准坐标系来描述摄像机的位置 , 并用它描述环境中任何物体的位置 , 该基准坐标系 称为世界坐标系 , 由 Xw , Yw , Zw 轴组成。设 Pw( Xw , Y w , Z w )空间某一点 P 的世界坐标 , Pc( Xc , Yc , Zc ) 是该点在摄像机坐标系中的坐标 , P( x , y) 是该点在图像平面坐标系中的物理坐标 , P( u, v) 是图像平面坐标系中的像素坐标 , 如图 1 所示。 将三维空间点 P 在世界坐标系中的坐标值 P w( Xw , Yw , Zw ) 变换为图像平面上像素坐标系中 坐标值 P( u, v) 的过程就可分解为下述的 4 步变换。 a ) 世界坐标系中坐标 Pw( Xw , Yw , Zw ) 转换 为摄像机坐标系中坐标 Pc( Xc , Yc , Zc ) (1) 式( 1 )中 R 为一个 33 旋转矩阵 , t 为一个 31 平移向量。 b ) 摄像机坐标系中坐标 Pc( Xc , Yc , Zc )在针 孔模型中进行规范化投影, 得到图像平面坐标系中物 理坐标 P( x , y) (2) c )引入透镜的径向畸变和切向畸变,图像平面坐 标系中物理坐标 P( x , y)扩展为 P( xq , yq ) (3) 式 ( 3 ) 中 k 1 和 k 2 是径向畸变系数 , p 1 和 p 2 是切向畸变系数 , r 2 = x 2 + y 2 。 d ) 图像平面坐标系中物理坐标 P( x q , y q ) 转 换为像素坐标 P( u, v) (4) 式( 4 )中( u0 , v0 ) 是基准点 ( 通常在图像的中 心) ; f 为摄像机的有效焦距 ;s 为比例因子 , 用来适 应在计算机图像水平方向上取样带来的种种不确定 因素 ; x 为计算机图像在水平方向( x 方向 ) 上 相邻两像素之间的有效距离 ( mm/ pixel) ,y 为计 算机图像在垂直方向( y 方向 ) 上相邻两像素之间的 有效距离 ( mm/ pixel ) 。 综合上述公式得到如下等价表达式 : s p = A ( R |t) P (5) 式 ( 5 ) 中 p = ( u, v , 1 )T 为图像像素点的齐次 坐标 , P = ( X , Y , Z, 1 )T 为空间点的齐次坐标 , A 为摄像机的内参矩阵 , ( R |t)为外参矩阵 , 这样就得 到了一个图像点和空间点之间的一个映射关系。 1.2 标定方法 张正友标定法 6 要求一个精确定位点阵的平面 模板,如图 2 所示。然后通过自由移动摄像机或标定 模板, 使得摄像机至少在 2 个不同的位置 ( 相对标 定模板 ) 拍摄模板图像 , 通过模板上的点和其图像 的对应点先用直接线性变换 (DLT 变换 ) 方法来确 定摄像机的内部参数和外部参数 , 这一步暂不考虑 机镜头的畸变 , 计算过程都是求解线性方程 , 求解 速度快, 但由于没有考虑透镜畸变的影响, 得到的参 数值并不准确。然后再以这些参数为初始值, 在考虑 畸变的同时应用 Levenberg 2 Marquardt 算法对图像 点与再投影点间的距离之和进行非线性最小优化 , 以得到一组精度更高的值。 2 基于 OpenCV 的标定 基于 OpenCV 的标定流程模块如图 3 所示。 a)读取标定用的一组图像 ( 如图 4 所示 ) b)对读入的图像进行角点检测 OpenCV 里的角 点检测模块在实际应用中经常有提取角点失败、精 度较差的缺陷 , 故此步骤用 Matlab 中的摄像机标 定工具箱中提供的角点检测功能代替 , 可以提高精 度、增强鲁棒性。检测出的角点如 图 5 所示。 c)格式转换 将 Matlab 检测出的角点坐标格式都转换成 OpenCV 的 CvMat 格式。 d)计算内参矩阵 初始化所有的输入参数后 , 将角点在世界坐标 系中的坐标值以及在图像坐标系中的坐标值代入 cvCali 2brateCamera2() , 最后得到摄像机的内参数矩 阵、畸变系数向量、 每幅图像的旋转向量、 每幅 图像的平移向量。 e)计算外参矩阵 利用得到的内参数矩阵和畸变系数向量, 用函数 cvFindExtrinsicCameraParams2 () 分别计算各幅图的 外参数( 旋转向量和平移向量 )。 f)分析实验结果 先用 cvProjectPoints2() 计算出三维角点坐标的 投影坐标, 再用函数 cvNorm() 比较计算出的投影坐 标与通过角点提取到的投影坐标 , 从而得到一个误 差值。 g)最后注意要用 cvReleaseMat () 函数释放 cvCreateMat () 函数分配的内存空间, 防止内存泄露。 3 实验结果 根据上述的原理和步骤, 本文在 Windows XP 平台下用 VC + + 6. 0 开发了一个基于 OpenCV1. 0 版本的摄像机标定程序, 程序结果保存为 txt 文本。 程序经过测试,运行稳定, 寻找角点成功, 标定一组 11 幅 640 480 像素的图片, 用 0. 6s , 可以满足实 际的使用。检测出的角点如图 5 所示 , 标定出的摄 像机参数如下所示: 焦距 f c :716. 542 777 711. 244 02 28. 540 80 25. 008 50(mm/ pixel) ; 基准点 ( u 0 , v 0 ) :322. 339 44 196. 088 30 9. 845 45 24. 295 47(mm/ pixel) ; 畸变系数 ( k 1 ,k 2 , p 1 , p 2 ) : - 0.261 77 0.757 01 0. 001 46 0. 002 10 0. 034 74 0. 291 03 0. 003 53 0.000 90 ; 误差 err :0. 148 09 0. 270 24 。 4 结束语 OpenCV 库的目的旨在将图像处理及计算机视 觉技术更利于人们使用 , 缩短程序开发的周期 , 利 用 OpenCV 开发的摄像机标定程序具有标定结果精 确、运算效率高、 跨平台移植性好等优点 , 可以有 效地应用于需要计算机视觉系统的各个领域。 5 结束语 总平均功率和单根发射天线峰值瞬时功率均受 限以及比特、功率分配算法的复杂度是自适应调制 V-BLAST 系统的非常实际的问题。本文提出的快速 分配算法可以达到比特递增分配算法的最优分配结 果,并且在高 CNR 下计算量大幅度降低。仿真表明, 单天线峰值功率的限制在一定程度上减少了系统的 总发射功率,但比特率有所降低。 参考文献: 1 马颂德 , 张正友 . 计算机视觉 : 计算理论与 算法基础 M. 北京 : 科学出版社 , 2003. 2 David A F , Jean P. 计算机视觉 : 一种现代方法 M. 北京 : 电子工业出版社 , 2004. 3 Rashmi S , Schrater P R. Bayesian modeling of camera calibration and reconstructionC3D Digital Imaging and Modeling(3DIM). Proceedings Fifth International Conference on 3D Digital Imaging and Modeling. Washington: IEEE ComputerSociety , 2005 : 394 2 401. 4 Rodriguez T , Sturm P , Wilczkowiak M. Photorealistic 3D reconstruction from video sequencesCInternational Confer 2ence on Image Processing(ICIP) . Proceedings International Conference on Image Processing. Kyoto : IEEE Computer Soci 2ety , 2003 : 481 2 485. 5 Tsai R Y. A versatile camera calibration technique for high 2 accuracy 3D machine vision metrology using off 2 the 2 shelf TV cameras and lensesJ . IEEE Journal of Robotics and Automation , 1987 , 3(4) : 323 2 344. 6 Zhang Zhengyou. Flexible camera calibration by viewing a plane from unknown orientationsC International Conferenceon Computer Vision(ICCV) . Proceedings Seventh International Conference on Computer Vision. Liege , Belgium: Elsevier Science Publishers , 1999 : 666 2 674. 7 Zhang Zhengyou. A flexible new technique for camera calibrationJ . IEEE Transactions on Pattern Analysis and Machine Intelligence , 2000 , 22(11) : 1330 2 1334. 8 Karn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论