摄像机内外参计算过程_第1页
摄像机内外参计算过程_第2页
摄像机内外参计算过程_第3页
摄像机内外参计算过程_第4页
摄像机内外参计算过程_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、摄像机内外参计算过程罗海风2011-2-28内参数矩阵初始值kk=max(nx, ny)0.5ny 0.5(1)对内参的初始化:涉及函数:init_intrinsic_param_fisheye.m输入:x_1,x_2,x_3,.-角点的图像坐标,X_1,X_2,X_3,.-角点的世界坐标;输出:所有内参,包括摄像机焦距,摄像机坐标系原点在图像上的坐标,几何畸变系数c,斜交系数dpha_ c,摄像 机矩阵KK (包含以上系数)。max(nx, ny)焦距的初始值:fc= / _皿= nx,ny)兀0.5nx - 0.5原点坐标的初始值设为图像中心处,即cc= c _ init =0.5ny 0

2、.500计算内参时不考虑畸变,畸变系数初始值为零,即kc= k _ init =00不考虑摄像机坐标轴夹角非正交情况,即alpha_c= alpha _ init = 00.5nx 0.5max(nx, ny)对外参的初始化:涉及函数:comp_ext_palib_fisheye.m功能:主要是调用compute_extrinsic_init_fisheye.m和 compute_extrinsic_refine_fisheye.mcomputejextrinsic_init_fisheye.m输入:像点的世界坐标和图像坐标_以和X_砍以及所有内参fc,cc,kc,alpha_c;输出:所有外

3、参初始值,包括平移矩降kk,旋转矩阵夫ckk和旋转向量。mckkcompute_extrinsic_refine_fisheye.m输入:像点的世界坐标和图像坐标_kk和X_kk,最大迭代次数MaxZter以及所有内参fc,cc,kc,alpha_c;输出:所有外参初始值,包括平移矩降kk,旋转矩阵人ckk和旋转向量。mckk对像点世界坐标和图像坐标进行整理(整理过程考虑到坐标变换和畸变模型,涉及 normaliZe_Pixel_fisheye.m输入:像点图像坐标_kk,所有内参c,cc,kc,alpha_c;输出:标准化无畸变图像坐标)。 坐标变换首先按照原点坐标进行线性映身射转换成以焦距

4、为单位:x _ kk - cc TOC o 1-5 h z x distort = 1一x _ kk - cc HYPERLINK l bookmark35 o Current Document 22fcL 2然后校正相机平面和图像平面不平行带来的误差:. x _ distrot alpha _ c x x _ distrot_x _ distrot1-2最后进行畸变补偿:(调用函数comp_fisheye_distortion.m输入:畸变的像点图像坐标d,畸变系魏;输出:无畸变的像点图像坐标)1是畸变后的像素坐标,令theta _ d - Jxd2 + xd2, theta - theta

5、 _ d*12进入循环20次的补偿迭代,每次循环中有theta -theta _ dtheta _ d121 + k theta2 + k thetas + k thetas + k thetas 1 + k theta2 + k theta4 + k theta6 + k thetas1121314112223242,其中k为畸变系数。本程序中,只考虑径向畸变不考虑切向畸变,k虽然是5x 1矢量,但是 最后一位即切向畸变系数没有使用。然后有scaling -tan(theta) tan(theta ) theta _ dtheta _ di:xn -xd scalingxd21scaling

6、1xd scalingxd scaling222scalingxd尸p fp畸变补偿结束。xd scaling得到标准化无畸变的世界坐X_new和图像坐标xn。由这两组坐标计算得到透视投影矩阵H(计算过程见摄像机定标程序中透视投影矩幽的计 算过程doc),并对H进行整理得到Hsc ,mean(norm( H (:,1)norm( H (:,2) 由H计算中间变量,有1 H (:,1)u1 =norm( H (:,1)cH (:,2) - dot (u1, H (:,2)u1u 2 =norm( H (:,2) - dot (u1, H (:,2)u1)u 3 = cross (u1,u 2)R

7、RR = tu1 u 2 u 3omckk = rodrigues (RRR)然后得到外参矩阵中旋转矩阵Rckk = rodrigues(omckk)和平移矩阵Tckk = H(:,3)。其中函数rodrigues作用是旋转矩阵和旋转向量的相互转换。由于计算中所用的坐标是进行过映射调整的,所以最终得到的外参矩阵也需要调整,得:平移矩阵 Tckk = Tckk + Rckk x T _ transform(2)Rckk = Rckk x R _ transform旋转向量 omckk = rodrigues (Rckk)旋转矩阵 Rckk = rodrigues (omckk)(3)Y = X

8、_ kk mean(X _ kkT )tYY = Y x Yt其中,U,S,V = svd(YY)R _ transform = VtT _ transform = (R _ transform) x X _ mean以上得到了内参和外参的初始值。接下来由这些参数用牛顿法进行迭代计算得到更佳的外 参。omckk令 param =Tckk由像点世界坐标、内外参初值和投影模型计算得到:投影坐标x,投影坐标对旋转向量的导 数dxdom,投影坐标对平移矩阵的导数dxdT(计算过程详见prqject_points_ftsheye.m输入:多 个点的世界坐标X,内外参数om,T,f,c,k,alpha;输

9、出:像点图像坐标计算值p,对各参数的导数dxpdom,dxpdT,dxpdf,dxpdc,dxpdk 像点坐标和计算坐标差值ex=x_kk-xJJ = dxdom dxdT JJ 2 = JJTJJ参数变动 param _ innov = JJ 2-1 JJTex参数变更为 param = param + param _ innovomckk = param(1:3)则Tckk = param(4 :6)当达到循环设定次数或者参数变更过小时终止循环,得到更精确的外参。其中omckk是旋转矢量,Tckk是平移矩阵。旋转矩阵Rckk = rodrigues (omckk)全局参数优化过程涉及函数:

10、gOal防PPfmrisheye.m 功能:主要调用init_intrinsic_param_fisheye,comp_ext_calib_fisheye, extract_parameters_fishey3.1步骤一:通过一步梯度下降法更新所有内外参数通过像点世界坐标X_kk,内参omckk, Tckk,外参f, c, k, alpha和投影模型,计算出投影像点的图像坐标及其对各参数的导数X, dxdom, dxdT, dxdf, dxdc, dxdk, dxdalpha (具体计算见dxdfdxdcdxdalphadxdkprojectgointsjisheye.m见前),写入中间变量矩阵,得:kk - xdxdomB = dxdT 。同时,实际图像坐标和计算坐标差值为x对于每张图,由以上三矩阵计算得到雅克比矩阵/3和误差矩阵ex

温馨提示

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

评论

0/150

提交评论