H a r b i n I n s t i t u t e o f T e c h n o l o g y计算机视觉测量与导航实验报告院系:航天学院学科:控制科学与工程姓名:TSX学号:任课教师:张永安卢鸿谦日期:2014.05.13摘要人类视觉过程可看成是一个复杂的从感觉到知觉的过程,也就是指三维世界投影得到二维图像,再由二维图像认知三维世界的内容和含义的过程。
信号处理理论与计算机出现以后,人们用摄像机等获取环境图像并转换成数字信号,完成对视觉信息的获取和传输过程,用计算机实现对视觉信息的处理、存储和理解等过程,形成了计算机视觉这门新兴学科。
其中从二维图像恢复三维物体可见表面的几何结构的工作就叫做三维重建。
随着计算机硬件、软件、图像采集、处理技术的迅速发展,三维重建的理论和技术已被广泛应用于航空航天、机器人技术、文字识别、工业检测、军事侦察、地理勘察、现场测量和虚拟植物可视化等领域。
相机标定是三维重建必不可少的步骤,它包括对诸如主点坐标、焦距等与相机内部结构有关的内部参数的确定和对相机的旋转、平移这些外部参数的确定。
价格低廉的实验器材、简单的实验环境、快捷的标定速度和较高的标定精度是现在相机标定研究追求的几大方向。
数码相机的标定就是研究的热点之一。
本次报告介绍了基于棋盘格模板标定的基本原理和算法,利用MATLAB的相机标定工具箱,使用张征友算法对相机进行了标定,记录了标定的过程,并给出结果,最后对影响标定精度的因素进行了分析。
关键词:相机标定张正友角点提取内外参1基于棋盘格标定的基本原理和算法1.1基础知识1.1.1射影几何当描述一张相机拍摄的图像时,由于其长度、角度、平行关系都可能发生变化,因此无法完全用欧氏几何来处理图像,而射影几何却可以,因为在射影几何中,允许存在包括透视投影的更大一类变换,而不仅仅是欧氏几何的平移和旋转。
实际上,欧氏几何是射影几何的一个子集。
1.1.2齐次坐标设欧氏直线上点p的笛卡尔坐标为(x,y)T,如果x1,x2,x3满足x=x1/x2,y =x2/x3,x3≠0,则称三维向量(x1,x2,x3)T为点P的齐次坐标。
当x3= 0时,(x1,x2,0)T规定直线上的无穷远点的齐次坐标。
实际上,齐次坐标是用一个n+ 1维向量来表示原本n维的向量。
应用齐次坐标的目的是用矩阵运算把二维、三维甚至高维空间中的一个点集从一个坐标系变换到另一个坐标系。
形的几何变换主要包括平移、旋转、缩放等。
以矩阵表达式来计算这些变换时,平移是矩阵相加,旋转和缩放则是矩阵相乘,综合起来可以表示为P’=R*P+T(R为旋转缩放矩阵,T为平移矩阵,P为原向量,P′为变换后的向量)。
当n+1维的齐次坐标中第n+1维为0,则表示n维空间的一个无穷远点。
1.1.2二维射影射影平面的构造如下:当,即,i=1,2,3,T与T表示同一个点,我们把T看作与T等价的,记为。
在这个等价的关系下,所有等价类称为齐次向量。
任何具体的向量都是所属等价类的表示。
在的向量等价类组成了射影平面P2,其中记号表示去掉零向量,即不与P2中任何点对应。
反过来,对任何齐次向量,若x3≠0,可以定义x=x1/x2,y =x2/x3,于是确定了欧氏平面上的一个点P(x,y)T。
这样,欧氏平面上的点P 与x3≠0的齐次坐标,建立了一个一一对应,而在欧氏平面上不存在任何对应点。
二维射影平面可以看作三维空间的子集,二维平面上的线性变换叫做平面射 影变换或单应,二维射影变换可以用3 × 3可逆矩阵表示为:'11111213'22122232'31323333x x h h h x h h h x h h h x x ⎛⎫⎛⎫⎛⎫ ⎪ ⎪⎪= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭ (1.1)或者表示为:,此方程中的H 矩阵乘以任意一个非零因子不会改变射影变换,也就是说二维射影变换的H 有八个自由度。
1.1.3 三维射影类似二维射影变换,三维空间变换可以用4 × 4的可逆矩阵 H 表示。
因此,三维空间变换表示为:(1.2)变换矩阵 H 是齐次矩阵,乘以任意一个非零因子不会改变射影变换,因此三维射影变换有 14 个自由度。
1.2 相机模型数码相机图像拍摄的过程实际上是一个光学成像的过程。
相机的成像过程涉及到四个坐标系:世界坐标系、相机坐标系、图像坐标系、像素坐标系以及这四个坐标系的转换:1.2.1理想透视模型——针孔成像模型相机模型是光学成像模型的简化,目前有线性模型和非线性模型两种。
实际的成像系统是透镜成像的非线性模型。
最基本的透镜成像原理如图1.1 所示图1.1 透镜成像原理示意图其中u 为物距,f 为焦距,v 为相距。
三者满足关系式:(1.3)相机的镜头是一组透镜,当平行于主光轴的光线穿过透镜时,会聚到一点上,这个点叫做焦点,焦点到透镜中心的距离叫做焦距f。
数码相机的镜头相当于一个凸透镜,感光元件就处在这个凸透镜的焦点附近,将焦距近似为凸透镜中心到感光元件的距离时就成为小孔成像模型。
①世界坐标系:是客观三维世界的绝对坐标系,也称客观坐标系。
因为数码相机安放在三维空间中,我们需要世界坐标系这个基准坐标系来描述数码相机的位置,并且用它来描述安放在此三维环境中的其它任何物体的位置,用(X W ,Y W ,Z W )表示其坐标值。
②相机坐标系(光心坐标系):以相机的光心为坐标原点,X 轴和Y 轴分别平行于图像坐标系的X 轴和Y 轴,相机的光轴为Z 轴,用(Xc,Yc,Zc)表示其坐标值。
③图像坐标系:以CCD 图像平面的中心为坐标原点,X 轴和Y 轴分别平行于图像平面的两条垂直边,用(x,y)表示其坐标值。
图像坐标系是用物理单位(例如毫米)表示像素在图像中的位置。
④像素坐标系:以CCD 图像平面的左上角顶点为原点,X 轴和Y 轴分别平行于图像坐标系的X 轴和Y 轴,用(u,v)表示其坐标值。
数码相机采集的图像首先是形成标准电信号的形式,然后再通过模数转换变换为数字图像。
每幅图像的存储形式是M ×N 的数组,M 行N 列的图像中的每一个元素的数值代表的是图像点的灰度。
这样的每个元素叫像素,像素坐标系就是以像素为单位的图像坐标系。
像素坐标系与图像坐标系的关系的转换关系为:0xu u dx=+ (1.4) 0yv v dy=+ (1.5) 采用齐次坐标再用矩阵形式将上式表示为:00101011001u dx u x v v y dy ⎛⎫ ⎪⎛⎫⎛⎫ ⎪ ⎪ ⎪⎪= ⎪ ⎪ ⎪⎪ ⎪ ⎪⎝⎭⎝⎭ ⎪ ⎪⎝⎭(1.6)其中00(,)u v 是图像坐标系原点在像素坐标系中的坐标,dx 和dy 分别是每个像素在图像平面x 和y 方向上的物理尺寸。
图像坐标系与相机坐标系的转换为:ccfX x Z =(1.7) ccfX y Z =(1.8) 其中f 为焦距(像平面与相机坐标系原点的距离)。
用齐次坐标系和矩阵表示上述关系:000000100101c c c c X x fYZ y f Z ⎛⎫⎛⎫⎛⎫ ⎪⎪ ⎪ ⎪= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭(1.9)相机坐标系与世界坐标系的变换为:0111c w c w Tc wX X Y Y RT Z Z ⎛⎫⎛⎫ ⎪⎪⎛⎫ ⎪ ⎪= ⎪ ⎪ ⎪⎝⎭ ⎪ ⎪⎝⎭⎝⎭(1.10) 其中R 为3×3正交旋转矩阵,T 为三维平移向量。
将式1.6、式1.9和式1.10综合起来:000011000010000011001010010000010010111w x w c Ty w w x w y Tw w w w w w w u X d u f Y R T Z v v f d Z X a u Y R T a v Z X X Y Y KM M Z Z ⎛⎫ ⎪⎛⎫⎪⎛⎫⎛⎫⎪ ⎪⎛⎫ ⎪ ⎪ ⎪= ⎪⎪ ⎪ ⎪ ⎪⎝⎭ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎪⎝⎭⎪⎝⎭⎛⎫⎛⎫ ⎪⎛⎫ ⎪ ⎪= ⎪⎪ ⎪⎝⎭ ⎪ ⎪⎝⎭⎝⎭⎛⎫⎛⎫⎪ ⎪ ⎪ ⎪== ⎪ ⎪ ⎝⎭⎝⎭1112131421222324313233341w w w X m m m m Y m m m m Z m m m m ⎛⎫⎛⎫ ⎪⎪ ⎪= ⎪⎪ ⎪ ⎪⎪ ⎪⎝⎭⎝⎭(1.11)其中:x xfa d =(1.12)y yfa d =(1.13)0000000010xy a u K a v ⎛⎫ ⎪= ⎪ ⎪⎝⎭(1.14)101TR T M ⎛⎫= ⎪⎝⎭(1.15) x a 和y a 分别是图像水平轴和垂直轴的尺度因子。
K 的参数中只包含焦距、主点坐标等只由相机的内部结构决定,因此称K 为内部参数矩阵,x a 、y a 、0u 、0v 叫做内部参数。
中包含的旋转矩阵和平移向量是由相机坐标系相对于世界坐标系的位置决定的,因此称1M 为相机的外部参数矩阵,R 和T 叫做外部参数,M 叫投影矩阵。
相机标定就是确定相机的内部参数和外部参数。
1.3 基于棋盘格标定的基本原理和算法张正友在1998年提出了一种基于棋盘格模板的相机标定方法成为相机标定研究的经典之作。
这种方法由两部分组成,首先对相机的参数进行估计,再用优化函数进行迭代求精。
1.3.1 相机参数的初始估计假定模板平面在世界坐标系 Z=0 的平面上,则相机成像模型可变化为:()()123120111X u X Yv K r r r t K r r t Y λλ⎛⎫⎛⎫⎛⎫ ⎪ ⎪⎪⎪== ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭(1.16)令()()12312H h h h K r r t λ==,则11112211,r K h r K h λλ--==。
根据已知的空间三维点的坐标与像素坐标系下的坐标用最小二乘法可以求出H 。
根据旋转矩阵的性质,即120T r r =和12||||||||1r r ==(||||•表示向量的二范数),每幅图象可以获得以下两个对内参数矩阵的基本约束:T 1120T h K K h --= (1.17)111122T T TT h K K h h K K h ----= (1.18)由于摄像机有5个未知内参数,所以当所摄取得的图象数目大于等于 3 时,就可以线性唯一求解出。
令11121311222231323330222222200002222210101T yx x y y yy y x yyx y yB B B B K K B a B B a B u a a a a v a a u a u a v v a a a a a a --⎛⎫⎪== ⎪ ⎪⎝⎭⎛⎫⎪- ⎪ ⎪ ⎪=- ⎪⎪⎪--++ ⎪ ⎪⎝⎭()111222132333Tb B B B B B B =()111221221331233233ij i j i j i j i j i j i j i j i j i j v h h h h h h h h h h h h h h h h h h =+++则T Ti j ij h Bh v b =即:()1211220TT v b v v ⎛⎫=⎪ ⎪-⎝⎭,求出内部矩阵的解。