数码相机定位.doc_第1页
数码相机定位.doc_第2页
数码相机定位.doc_第3页
数码相机定位.doc_第4页
数码相机定位.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

基于特征点的数码相机标定 摘要对于问题一,本文建立了建立针孔成像模型。首先建立四个坐标系:世界坐标系,相机坐标系,像平面坐标系和图像坐标系,其次,推导各坐标系之间的坐标变换和刚体变换。 选用张正友二维平面标定法,用Ptotoshop处理靶标图像,并切线法提取特征点,确定特征点的图像坐标,然后用MATLAB编程,解线性矩阵方程组,求得投影矩阵。并采取多次提取不同的样本点的方法,得出相应的投影矩阵,对投影矩阵求和取平均,降低了随机误差,确定最终的投影矩阵对于问题二,根据问题一中的模型设计算法,运用MATLAB编程,求得靶标上圆的圆心在像平面上的坐标,如下表所示:圆心坐标(单位:毫米)像坐标(单位:像素)A(12,12,0)(325,218)B(42,12,0)(421,222)C(112,12,0)(643,232)D(112,112,0)(592,519)E(12,112,0) (377,505)对于问题三,根据标靶上圆的外切点的空间坐标,通过模型一中的投影矩阵算出其像平面的坐标,将结果与经Ptotoshop中navigator定位得到的像平面坐标作误差分析,结果发现误差在内,说明模型是比较精确的。 由于镜像畸变、坐标测量误差、光照、声音等因素的影响,必须考虑模型的稳定性。为了提高稳定性,我们建立相机畸变模型,增加约束条件,考虑到算法简洁,我们只考虑径向畸变给模型稳定性带来的影响。对于问题四,用两部相机来定位,即双目定位法。利用问题一中的模型和算法,求得两台相机在世界坐标系中的投影矩阵,然后根据图形间的几何关系,即可得出两部相机间的相对位置。关键词:针孔成像,坐标变换,图像处理,相机镜头畸变,双目定位。一、问题重述双目定位是数码相机定位的一种,即用两部相机来定位。对物体上一个特征点,用两部固定于不同位置的相机摄得物体的像,分别获得该点在两部相机像平面上的坐标。只要知道两部相机精确的相对位置,就可用几何的方法得到该特征点在固定一部相机的坐标系中的坐标,即确定了特征点的位置。 标定的一种做法是:在一块平板上画若干个点, 同时用这两部相机照相,分别得到这些点在它们像平面上的像点,利用这两组像点的几何关系就可以得到这两部相机的相对位置。然而,无论在物平面或像平面上我们都无法直接得到没有几何尺寸的“点”。实际的做法是在物平面上画若干个圆(称为靶标),它们的圆心就是几何的点了。而它们的像一般会变形,所以必须从靶标上的这些圆的像中把圆心的像精确地找到,标定就可实现。 图1现设计靶标如下,取1个边长为100mm的正方形,分别以四个顶点(对应为A、C、D、E)为圆心,12mm为半径作圆。以AC边上距离A点30mm处的B为圆心,12mm为半径作圆,如图2所示。 图 2 靶标示意图用一位置固定的数码相机摄得其像,如图3所示。图3 靶标的像我们要解决以下问题:1) 建立数学模型和算法以确定靶标上圆的圆心在该相机像平面的像坐标, 这里坐标系原点取在该相机的光学中心,x-y平面平行于像平面;2) 对由图2、图3分别给出的靶标及其像,计算靶标上圆的圆心在像平面上的像坐标, 该相机的像距(即光学中心到像平面的距离)是1577个像素单位(1毫米约为3.78个像素单位),相机分辨率为1024768;3) 设计一种方法检验问题一中的模型,并对方法的精度和稳定性进行讨论;4) 建立用此靶标给出两部固定相机相对位置的数学模型和方法。二、问题分析1)问题一中要求完成点在不同坐标系中坐标的转换。简单说就是把空间中的一个点,通过某种合理的转换,映射到另外一个坐标平面上,确定映射后的点在该坐标平面上的位置。我们从最简单的小孔成像原理出发,建立针孔模型,考虑影响成像的内外因素,设定相应的参数,并以此确定空间物体到像平面的转换矩阵。摄像机的成像原理比小孔成像更复杂,空间物体在像平面成像的过程中,影响成像的因素很多,这些因素导致成像的畸变。在使模型更符合实际的同时,也考虑到算法的简洁稳定,计算过程中,我们只考虑径向畸变,建立模型。2)问题二通过问题一的模型和算法求解。 把靶标和靶标的像放在相应的坐标系中,测量出世界坐标系和像平面对应点的位置。通过像平面上特征点的位置,还原物体在世界坐标系的位置。再通过变换矩阵算得靶上圆心在像平面的像坐标。3)在问题一的建模中,我们仅考虑了径向畸变,而镜头畸变还包括切向畸变、离心畸变。自然界的光,声会影响靶标的成像。此外在给定的标靶坐标中,测量精度也存在误差。考虑到以上因素,我们在问题一中建立的模型,稳定性有待提高。4)对于问题四,用两部相机来定位,即双目定位法。利用问题一中的模型和算法,求得两台相机在世界坐标系中的投影矩阵,然后根据图形间的几何关系,即可得出两部相机间的相对位置。二、模型假设(1)计算机读取边缘特征点的图像坐标是比较精确的;(2)题目中所给的图形是标准的,从而所给定的坐标系内的坐标是准确的;(3)图像落在相机CCD的中间部分时,镜头透镜的畸变较小,可以忽略。三、符号说明:世界坐标系:相机坐标系:像平面坐标系:图像坐标系:投影矩阵:旋转矩阵:平移矩阵四、模型准备1、建立坐标系世界坐标系:用来表示空间任意一点的坐标,平面于靶标所在平面,轴是A,B,C三个圆的外切线,轴是A,E圆的外切线(原点在靶标外);相机坐标系:,坐标原点取在该相机透镜的光学中心上,轴为摄像机的光轴,它与图像平面垂直,与分别与下面所建图像坐标系的,轴平行。图4 相机模型图以物理单位表示的像平面坐标系:用来表示像点在像平面上的坐标。其原点为光轴与成像平面的交点。、轴分别平行于、。以象素为单位的图像坐标系:数码相机中的CCD通常制成矩形,定义此坐标系的原点为图像的左上角,图像的行为坐标轴,图像的列为坐标轴。图5 像平面上的两个坐标系2、坐标变换和刚体变换考虑多个坐标系,设在坐标系中,点的坐标向量记为,即其中分别为坐标轴的基向量。考虑两个坐标系的情况:和。任务是如何把B坐标系中的P点表示成A坐标系中的P点。当两个坐标系之间是纯平移关系的时候,有。当两个坐标系之间是纯旋转关系的时候。旋转矩阵是个的数组,定义A到B的旋转矩阵为则从B到A的旋转矩阵为一般来说,旋转矩阵可以分解为绕旋转的基本旋转矩阵的乘积。由在坐标系B中,B到B的旋转矩阵是单位阵可知,在坐标系中满足其中为P点在坐标系B中的坐标,为P点在坐标系A中的坐标。若两个坐标系的原点和基向量都是不同的,我们称这两个坐标系之间是一般的刚体变换,且有:在齐次坐标的情况下,以上方程可以写成矩阵乘积的形式,其中,这样,我们就可以用一个矩阵和一个四维向量表示任意的坐标系变换。五、模型的建立与求解1.建立针孔模型目前,计算机视觉中使用的最简单的照相机模型是线性照相机模型,也称针孔模型,这种模型的特点是简单易于研究,且不失准确性。摄相机的成像过程是从三维空间到二维图像平面的投影。透视投影、平行投影和正透视投影是计算机视觉中最常用的三种摄像机模型,其中正透视投影是透视投影的特例,而当摄像机和空间物体之间的距离比空间物体的最大尺寸大很多的情况下,可以用平行投影来简化透视投影模型。本文主要以透视投影模型为研究前提。针对问题一,我们不妨先采用这一模型,然后再结合实际修正模型,以提高模型的精确度和稳定性。设在坐标系中的坐标为,每一个象素在轴与轴方向上的物理尺寸为、,两坐标轴之间的倾斜因子为(如果两坐标轴垂直时),则图像中任意一个象素在两个坐标系下的坐标有如下关系: (1)为了以后计算方便,我们用奇次坐标与矩阵的形式将上式表示为 (2)则坐标可表示为(3)由于相机可安放在环境中的任何位置,因此有必要为相机坐标选择一个基准坐标,我们称其为世界坐标系。由模型准备知相机坐标系与世界坐标系之间的关系可由旋转矩阵和平移矩阵来描述。(4)旋转矩阵为的正交矩阵,平移矩阵为三维平移向量,为矩阵,称之为对应性矩阵。 (5)其中为像距。用齐次坐标与矩阵表示为:(6)将(2)式和(3)式代入(6)式,可以得到空间点与投影点的关系为:其中,为矩阵,称为投影矩阵;由决定,均与相机内部结构有关,因此被称为相机内参数;完全由相机相对于世界坐标系的方位决定,称为相机外参数。2.模型的算法设计对于上面所建立模型的解答要给出适合的算法,本文给出的算法考虑到了算法的可行性和稳定性。算法设计的准备:针问题中图2所示的靶标,运用计算机软件(如Photoshop)对靶标的图像进行处理,得到像上的相关数据:(1)A,B,C,D,E五个圆中两个或三个圆与公切线切点的像坐标;(2)靶标图像的长和宽。算法步骤如下所示:(1) 随机输入4个切点像的坐标;(2) 寻找与之对应的切点坐标;(3) 计算对应矩阵的值,若对应矩阵的个数(的大小可根据精度的要求来确定)则由计算,并计算的方差,若方差较小则转(4),否则转(1);(4) 输入一个靶标的圆心坐标,计算其像的像坐标;(5) 若输入圆心的个数,输出像坐标,算法结束,否则转(4)。上述算法的第三步是算法的关键,因为的大小对圆心像的坐标的精度以及稳定性影响比较大,特别是在对精度和稳定性要求较高的场合,要尽可能地取大一点。算法流程图如下(见图6)图6 算法流程图3.像坐标的求解图7 找对应点的方法若要求出圆心像的坐标,则得求出对应矩阵,由于靶标上的任意一点的坐标都已知,要想建立等式求解,就必须知道几组点与对应点的像的坐标,因此要先给出几组对应点,然后通过计算机软件来求像的坐标。然而,对应点是很难找的,实际处理中大多选用图像边缘上的特殊几个点。这里介绍一种简单而又有效的找对应点的方案。由针孔模型易知直线的像还是直线,作多个圆的公切线,得切点的坐标。这是靶标的像中也可得到与切点对应的像(见图7 所示),而这点的坐标可由计算机较准确的得到。在计算机上利用photoshoph获得靶标像平面上各切点的坐标,以及对应点的空间物理坐标 ,如表1所示:表1 特征点的像坐标和世界坐标特征点像坐标(单位:厘米)世界坐标(单位:毫米)a(3.11,1.40)(12,0,0)b(4.17,1.51)(42,0,0)c(6.28,1.71)(112,0,0)d(3.11,2.22)(42,24,0)e(4.09,3.23)(12,24,0)f(6.14,2.43)(112,24,0)g(2.77,4.52)(12,100,0)h(5.71,4.54)(112,100,0)l(2.72,5.20)(12,124,0)k(5.60,5.12)(112,124,0)根据问题一中所建立的模型,利用MATLAB求解矩阵方程组(源程序见附录一),可得矩阵,取不同点时,得到的相应如下表所示:表2 对应矩阵mMm矩阵10.0344 -0.00810.0000 2.8930 0.0033 0.0332 0.0000 1.3821 0.0000 0.0000 0.0000 1.0000 20.0291 -0.00330.0000 2.7691 -0.0003)0.0262 0.0000 1.9259 0.0000 0.0000 0.0000 1.0000 30.0298 -0.00510.0000 2.8959 0.0011 0.0290 0.0000 1.5574 0.0000 0.0000 0.0000 1.0000 40.0299 -0.00340.0000 2.8155 0.0012 0.0197 0.0000 2.0175 0.0000 0.0000 0.0000 1.0000 矩阵0.030781-0.00502.8433750.0013210.02703301.7207250001依据四个不同的矩阵,通过求得矩阵。利用投影矩阵,可以算的靶标上圆心的坐标,结果见表3:表3 圆点像坐标圆点坐标(单位:毫米)像坐标(单位:像素)A(12,12,0)(325.78,218.62)B(42,12,0)(421.19,222.82)C(112,12,0)(643.83,232.63)D(12,112,0)(592.20,519.39)E(112,112,0)(377.49,505.36)4.模型检验本模型的求解是通过找对应点(切点)的坐标来求解圆心的像坐标,为了探讨模型的精度和稳定性,我们不妨求解切点的像坐标,然后与计算机得到的像坐标进行比较,由模型假设(3)知,这样处理是合理的。测得的十个切点的像坐标与计算机得到的像坐标如表4:表4 误差分析计算位点3.21 4.14 6.29 3.09 4.02 6.17 2.71 5.79 2.59 5.67 1.74 1.78 1.87 2.39 2.43 2.52 4.44 4.57 5.09 5.22 真实位点3.11 4.17 6.28 3.11 4.09 6.14 2.77 5.71 2.72 5.60 1.40 1.51 1.71 2.22 2.23 2.43 4.52 4.54 5.20 5.12 误差-0.10 0.03 -0.01 0.02 0.07 -0.03 0.06 -0.08 0.13 -0.07 0.34 0.27 0.16 0.17 0.20 0.09 -0.08 0.03 -0.11 0.10 作出误差的折线图,如图8(系列1表示X轴方向上的误差,系列2表示Y轴方向上的误差).图8 误差分布由图8可知:X轴方向上的误差范围不超过,具有较高的精度和稳定性。但是,Y轴方向上的误差起伏较大,不稳定精度也不高,究其原因是因为没有作Y轴方向上的切线,所以要想得到较高的精度和较好的稳定性,对应点要尽量得多而且分布要在不同位置。5.模型的改进从上面的误差分析可知,针孔模型除了测量上的误差外还存在着一些不可避免的误差,称为系统误差。虽然针孔模型简单,但在现实中根本不存在这种模型,为了使相机模型接近于现实中的相机,我们考虑相机的畸变。关于相机畸变,国际上有很多学者提出了许多不同的畸变模型,但经典的还是Tsai于1986年提出的径向畸变模型,后来也有学者对他的畸变模型进行补充13,但实验证明并不是考虑的畸变越多,模型越接近于现实,更多的畸变容易引起求解的不稳定。用来表示考虑畸变后的图像坐标,则有:(*)镜头畸变一般包括径向畸变、切向畸变、离心畸变等,如下所示:其中k1、k2为径向畸变系数;p1、p2为离心畸变系数;为切向畸变。一般情况下,使用k1、k2径向畸变系数就足以描述畸变了,因此公式(*)可以表示为:即像点的坐标得到了修正,误差也会减小,修改后的模型更加符合实际中的相机成像规则。六、求相机相对位置的模型建立1.考虑最简单的情况 :两台照相机平行放置在同一平面同一高度图9 双目定位的原理图设空间一点P(X,Y,Z)在两个平行放置的完全相同的摄像机中像点分别是,则在知道基线长(之间的距离)B和像距D的情况下,可以计算出深度(物距)则两部固定相机相对位置 。具体方法如下:a.用两台相机拍摄靶标上的同一目标(不妨设为圆A),得到在两台相机在各自像平面的像。b.利用模型2的求解思路,可求出两个相机的像平面上圆A的像坐标,进而求出c.求物距Z,根据问题2中的数据,利用凸透镜成像原理,实物上两点之间的距离与对应像点之间的角力之比为,即把Z,D代入上式得两部固定相机相对位置最终表达式为 2.考虑到两台照相机在空间中可以任意放置,由问题一模型知其中, 为矩阵,称为投影矩阵; 完全由相机相对于世界坐标系的方位决定,称为相机外参数。由得 设是第一个相机在世界坐标系中对图像坐标系的投影矩阵,是第二个相机在世界坐标系中对图像坐标系的投影矩阵。两个相机相对位置为:其中,可按照问题二的解题思路进行求解。七、模型的评价1.建模方法的科学性 根据题目要求,设出不同要求下的坐标系,方便物体在不同坐标系中的定位。投影矩阵的建立,为不同坐标系之下的点坐标的确定提供方便。针孔模型是最简单的成像模型,从该模型入手,再逐步考虑相机成像中的畸变因素,由简入繁,使问题更容易被理解和接受。2.求解方法的可靠性设定影响投影投影矩阵的内外参数,通过确定靶标的坐标位置和靶标在像平面上的坐标,求解现象矩阵方程组。坐标的确定可以通过计算机或其他工具比较精确地得到,求解线性方程的方法也比较成熟,从而可以保证最后解。3.模型的缺点对理想化的针孔模型求解,所得与现实结果有一定的误差。考虑畸变因素,会导致算法的不稳定。参考文献1李媛,闫蓓,一种基于二维平面靶标的标定匹配方法J.计算机工程与应用,2008,44(13)2刘红宁,基于双目立体视觉拟人机器人定位关键技术的研究J.河北工业大学硕士研究论文3李瑞峰,李庆喜,机器人双目系统的标定与定位算法J.哈尔滨工业大学学报,2007年,第11期4李华,吴朝福,胡占义,一种新的线性摄像机自标定方法J.计算机学报,2000年11月,第3期5崔开涌,王任杰,林小玲,机器人双目视觉系统的算法研究与实现J.计算机工程,2008年,第3期6安雪娥,双目图像计算机测量系统的研究J.电子科技大学,硕士学位论文。附录1、模型求解的部分程序运行软件:Matlab运行环境:windows2003wu = 12 30 100 12 0 0 0 24 0 0 0 0 1 1 1 1xiang = 3.1100 4.1700 6.2800 3.1100 1.4000 1.5100 1.7100 2.2200 1.0000 1.0000 1.0000 1.0000 A=xiang*pinv(wu); yuanxin=12,42,112 12 112;12 12 12 112 112 ;0 0 0 0 0 ; A=xiang*pinv(wu);yuanxin=12,42,112 112 12;12 12 12 112 112 ;0 0 0 0 0;1 1 1 1 1 ;exactpoint=A*yuanxinexactpoint = 3.2078 4.2389 6.6450 2.3931 5.8304 1.8211 1.9211 2.1547 5.1455 5.4791 1.0000 1.0000 1.0000 1.0000 1.00002、模型检验的程序运行软件:Matlab运行环境:windows2003 qiedianqiedian =12

温馨提示

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

评论

0/150

提交评论