您好,欢迎来到易榕旅网。
搜索
您的当前位置:首页基于OpenCV的摄像机标定方法研究

基于OpenCV的摄像机标定方法研究

来源:易榕旅网
浙江理工大学学报,第27卷,第3期,2010年5月JournalofZhejiangSc-iTechUniversityVol.27,No.3,May2010

文章编号:1673-3851(2010)03-0417-04

基于OpenCV的摄像机标定方法研究

李 跃,汪亚明,黄文清,朱小锴

(浙江理工大学信息电子学院,杭州310018)

摘 要:提出了一种基于OpenCV的摄像机标定方法。分析计算机视觉函数库OpenCV中的摄像机模型,考虑摄像机透镜的径向畸变与切向畸变的影响及模型的求解方法,同时结合基于Matlab的摄像机标定工具箱中的角点提取模块,给出了实验结果。结果表明,此方法精度较高、鲁棒性好,有效解决了计算机视觉系统的开发研制周期长的问题,可广泛应用于三维重建、虚拟现实等领域。

关键词:摄像机标定;OpenCV;Matlab;计算机视觉;透镜畸变中图分类号:TP391.4 文献标识码:A

0 引 言

三维计算机视觉系统的设计目标是从摄像机获取的图像信息出发,计算三维物体在空间中的位置、形状等信息,并由此识别环境中的物体。物体表面某点在图像上的几何位置与该点的几何位置有关。这些位置的相互关系,由摄像机成像的几何模型所决定。该几何模型的参数称为摄像机参数,求得参数的实验与计算的过程称为摄像机标定[1]。一个完整的计算机视觉系统通常可分为图像获取、摄像机标定、特征提取、立体匹配、深度确定及内插等6大部分[2]。精确标定摄像机内外参数不仅可以直接提高测量精度,而且可以为后继的立体图像匹配与三维重建奠定良好的基础[3-4]。

目前已经有许多摄像机标定的方法,如Tsai提出的基于三维标定参照物的标定方法[5],标定参照物一般由两块互相垂直的平面模板组成,由于标定前需要知道参照物表面标定点的空间三维坐标,因而这种方法需要一套昂贵的精密标定设备。张正友提出了基于二维平面模板的标定方法[6],该标定法只要求从不同角度拍摄的同一标定模板2幅以上的图像,就可以求出摄像机的内外参数,该方法不需要知道平面模板移动的具体方位和位移信息,而且平面模板的制作简单,因此比其他方法更简单、灵活[7]。

OpenCV(IntelÒopensourcecomputervisionlibrary)是IntelÒ开放计算机视觉函数库,具备强大的图像和矩阵运算能力。该函数库中实现的摄像机标定方法采用的就是张正友提出的标定方法。OpenCV中的摄像机标定模块为用户提供了良好的接口,同时支持Windows、Linux平台,有效地提高了开发效率,并且执行速度快,具有良好的跨平台移植性,因此可以很好地应用于工程实际当中。

1 标定原理

1.1 摄像机模型

摄像机模型的选择直接影响最后的标定结果,因此要选择合适的摄像机模型,确定内外部参数。内部参数描述摄像机的内部光学和几何特性,如图像中心、焦距、镜头畸变等;外部参数就是相对于世界坐标系的摄

收稿日期:2009-09-17

基金项目:国家自然科学基金资助项目(50875245)

作者简介:李 跃(1984-),男,安徽芜湖人,硕士研究生,主要从事计算机视觉及模式识别方面的研究。

418 浙 江 理 工 大 学 学 报2010年 第27卷

像机坐标的三维位置和方向。常用的针孔模型[1,8]忽略了透镜的厚度和畸变,故不能很好地反映实际情况。OpenCV标定算法中的摄像机模型以针孔模型为基础,并引入透镜的径向畸变和切向畸变,该模型相对于只引入一阶径向畸变的Tasi[5]模型和针孔模型更加真实地反映了透镜实际的畸变情况。

由于摄像机可安放在环境中的任何位置,故要在环境中选择一个基准坐标系来描述摄像机的位置,并用它描述环境中任何物体的位置,该基准坐标系称为世界坐标系,由Xw,Yw,Zw轴组成。设Pw(Xw,Yw,Zw)空间某一点P的世界坐标,Pc(Xc,Yc,Zc)是该点在摄像机坐标系中的坐标,P(x,y)是该点在图像平面坐标系中的物理坐标,P(u,v)是图像平面坐标系中的像素坐标,如图1所示。

将三维空间点P在世界坐标系中的坐标值Pw(Xw,Yw,Zw)变换为

图1 摄像机标定中的坐标系

图像平面上像素坐标系中坐标值P(u,v)的过程就可分解为下述的4步变换。

a)世界坐标系中坐标Pw(Xw,Yw,Zw)转换为摄像机坐标系中坐标Pc(Xc,Yc,Zc)

XwXc

Yc=RYw+tZc

Zw

(1)

式(1)中R为一个3@3旋转矩阵,t为一个3@1平移向量。

b)摄像机坐标系中坐标Pc(Xc,Yc,Zc)在针孔模型中进行规范化投影,得到图像平面坐标系中物理坐标P(x,y)

xyxqyq

=

Xc/ZcYc/Zc

Xc/ZcYc/Zc

2p1xy+p2(r+2x)p1(r2+2y2)+2p2xy

2

2

(2)

c)引入透镜的径向畸变和切向畸变,图像平面坐标系中物理坐标P(x,y)扩展为P(xq,yq)

=(1+k1r+k2r)@

2

4

+(3)

式(3)中k1和k2是径向畸变系数,p1和p2是切向畸变系数,r2=x2+y2。d)图像平面坐标系中物理坐标P(xq,yq)转换为像素坐标P(u,v)

ufxxq+u0

=vfyyq+v0

fx=f#s/$x

fy=f/$y

式(4)中(u0,v0)是基准点(通常在图像的中心);f为摄像机的有效焦距;s为比例因子,用来适应在计算机图像水平方向上取样带来的种种不确定因素;$x为计算机图像在水平方向(x方向)上相邻两像素之间的有效距离(mm/pixel),$y为计算机图像在垂直方向(y方向)上相邻两像素之间的有效距离(mm/pixel)。

综合上述公式得到如下等价表达式: s#p=A(R|t)#P

式(5)中p=(u,v,1)T为图像像素点的齐次坐标,P=(X,Y,Z,1)T为空间点的齐次坐标,A为摄像机的内参矩阵,(R|t)为外参矩阵,这样就得到了一个图像点和空间点之间的一个映射关系。1.2 标定方法

张正友标定法要求一个精确定位点阵的平面模板,如图2所示。然后通过自由移动摄像机或标定模板,使得摄像机至少在2个不同的位置(相对标定模板)拍摄模板图像,通过模板上的点和其图像的对应点先用直接线性变换(DLT变换)方法来确定摄像机的内部参数和外部参数,这一步暂不考虑摄像图2 标定模板

[6]

(4)

(5)

第3期

李 跃等:基于OpenCV的摄像机标定方法研究

419

机镜头的畸变,计算过程都是求解线性方程,求解速度快,但由于没有考虑透镜畸变的影响,得到的参数值并不准确。然后再以这些参数为初始值,在考虑畸变的同时应用Levenberg-Marquardt算法对图像点与再投影点间的距离之和进行非线性最小优化,以得到一组精度更高的值。

2 基于OpenCV的标定

基于OpenCV的标定流程模块如图3所示。a)读取标定用的一组图像(如图4所示)

b)对读入的图像进行角点检测

OpenCV里的角点检测模块在实际应用中经常有提取角点失败、精度较差的缺陷,故此步骤用Matlab中的摄像机标定工具箱中提供的角点检测功能代替,可以提高精度、增强鲁棒性。检测出的角点如图5所示。

图3 标定流程模块图

c)格式转换

将Matlab检测出的角点坐标格式都转换成OpenCV的CvMat格式。420 浙 江 理 工 大 学 学 报2010年 第27卷

d)计算内参矩阵

初始化所有的输入参数后,将角点在世界坐标系中的坐标值以及在图像坐标系中的坐标值代入cvCal-ibrateCamera2(),最后得到摄像机的内参数矩阵、畸变系数向量、每幅图像的旋转向量、每幅图像的平移向量。

e)计算外参矩阵

利用得到的内参数矩阵和畸变系数向量,用函数cvFindExtrinsicCameraParams2()分别计算各幅图的外参数(旋转向量和平移向量)。

f)分析实验结果

先用cvProjectPoints2()计算出三维角点坐标的投影坐标,再用函数cvNorm()比较计算出的投影坐标与通过角点提取到的投影坐标,从而得到一个误差值。

g)最后注意要用cvReleaseMat()函数释放cvCreateMat()函数分配的内存空间,防止内存泄露。

3 实验结果

根据上述的原理和步骤,本文在WindowsXP平台下用VC++6.0开发了一个基OpenCV1.0版本的摄像机标定程序,程序结果保存为txt文本。程序经过测试,运行稳定,寻找角点成功,标定一组11幅640@480像素的图片,用0.6s,可以满足实际的使用。检测出的角点如图5所示,标定出的摄像机参数如下所示:

焦距fc:[716.542777 711.24402]?[28.54080 25.00850](mm/pixel);

基准点(u0,v0):[322.33944 196.08830]?[9.84545 24.29547](mm/pixel);

畸变系数(k1,k2,p1,p2):[-0.26177 0.75701 0.00146 0.00210]?[0.03474 0.29103 0.00353 0.00090];

误差err:[0.14809 0.27024]。

4 结 语

OpenCV库的目的旨在将图像处理及计算机视觉技术更利于人们使用,缩短程序开发的周期,利用OpenCV开发的摄像机标定程序具有标定结果精确、运算效率高、跨平台移植性好等优点,可以有效地应用于需要计算机视觉系统的各个领域。参考文献:

[1]马颂德,张正友.计算机视觉:计算理论与算法基础[M].北京:科学出版社,2003.[2]DavidAF,JeanP.计算机视觉:一种现代方法[M].北京:电子工业出版社,2004.

[3]RashmiS,SchraterPR.Bayesianmodelingofcameracalibrationandreconstruction[C]M3DDigitalImagingandModeling

(3DIM).ProceedingsFifthInternationalConferenceon3DDigitalImagingandModeling.Washington:IEEEComputerSociety,2005:394-401.

[4]RodriguezT,SturmP,WilczkowiakM.Photorealistic3Dreconstructionfromvideosequences[C]MInternationalConfer-enceonImageProcessing(ICIP).ProceedingsInternationalConferenceonImageProcessing.Kyoto:IEEEComputerSoc-iety,2003:481-485.

[5]TsaiRY.Aversatilecameracalibrationtechniqueforhigh-accuracy3Dmachinevisionmetrologyusingoff-the-shelfTV

camerasandlenses[J].IEEEJournalofRoboticsandAutomation,1987,3(4):323-344.

[6]ZhangZhengyou.Flexiblecameracalibrationbyviewingaplanefromunknownorientations[C]MInternationalConference

onComputerVision(ICCV).ProceedingsSeventhInternationalConferenceonComputerVision.Liege,Belgium:ElsevierSciencePublishers,1999:666-674.

[7]ZhangZhengyou.Aflexiblenewtechniqueforcameracalibration[J].IEEETransactionsonPatternAnalysisandMachine

Intelligence,2000,22(11):1330-1334.

[8]KarniE,SchmeidlerD.Utilitytheorywithuncertainty[M].Houston:ElsevierSciencePublishers,2006:276-299.

(下转第440页)

440 浙 江 理 工 大 学 学 报2010年 第27卷

[11]蔡龙权,戴炜栋.关于模糊限制语精确话语信息的可能性研究[J].外语与外语教学,2002(8):1-6.[12]李战子.话语的人际意义研究[M].上海:上海外语教育出版社,2002.

[13]HylandK.Hedges,boostersandlexicalinvisibility[J].LanguageAwareness,2000(9):179-197.

[14]LewinAB.Hedging:anexploratorystudyofauthorspandreaderspidentificationof/toningdown0inscientifictexts[J].

JournalofEnglishforAcademicPurposes,2005(4):163-178.

OnHedgesinEnglishBroadcastingNews

WANGChang-mi

(SchoolofForeignLanguages,ZhejiangSc-iTechUniversity,Hangzhou310018,China)

Abstract:HedgesaboundinEnglishbroadcastingnews,includingtwotypes)approximatorsandshields.ThispapermakesacontrastiveanalysisofthedistributionofhedgesinthecorporaofrandomlyselectedVOAandBBCnews,anddiscussesthefeaturesandfunctionsofhedgesinEnglishbroadcastingnews,withanattempttohelpEnglishlearnersgetbetterunderstandingofEnglishbroadcastingnews.

Keywords:broadcastingnews;hedges;approximators;shields

(责任编辑:马春晓)

(上接第420页)

CameraCalibrationTechniqueBasedonOpenCV

LIYue,WANGYa-ming,HUANGWen-qing,ZHUXiao-kai

(SchoolofInformationandElectronics,ZhejiangSc-iTechUniversity,Hangzhou310018,China)Abstract:Thispaperproposesanautocameracalibrationmethod.Firstitintroducesthecameramodel

inOpenCV(opensourcecomputervisionlibrary).Thenthepaperanalysesthenon-lineardistortionofthetangentialandradialdistortionaberration.Finally,acalibrationexperimentisgiventotestifythevalidityofthismethodconsideringCameraCalibrationToolboxforMatlab.

Keywords:cameracalibration;OpenCV;Matlab;computervision;lensdistortion

(责任编辑:陈和榜)

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- yrrd.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务