第二章空间几何变换与摄像机模型2.1空间几何变换2.2几何变换的不变量2.3欧式空间的刚体变换2.4摄像机透视投影模型2.5摄像机透视投影近似模型空间几何变换与计算机视觉有着密切的关系,是计算机视觉的重要数学工具之一!2.1空间几何变换空间几何变换描述的是空间几何从一种状态按照一定的原则转换到另一种状态2.1.1齐次坐标齐次坐标:所谓齐次坐标就是用n+1维矢量表示一个n维矢量。n维空间中点的位置矢量用非齐次坐标表示时,具有n个坐标分(P1,P2,...,Pn),且是唯一的。若用齐次坐标表示时,此矢量有n+1个坐标矢量(hP1,hP2,...,hPn,h),且不是唯一。例:若二维点(x,y)的齐次坐标表示为(hx,hy,h),则(h1x,h1y,h1),(h2x,h2y,h2),...,(hmx,hmy,hm)都表示二维空间中同一点(x,y)的齐次坐标。为什么要使用齐次坐标?齐次坐标的优越性有以下两点:1、提供了用矩阵运算二维、三维甚至高维空间中的一个点集从一个坐标系换到另一个坐标系的有效方法。2、可以表示无穷远点。例:n+1维中,h=0的齐次坐标实际上表示了一个n维的无穷远点。2.1.2射影变换(projectivetransformation)射影变换是一个最为广义的线性变换一维射影变换如右图所示:过O点的直线束分别交直线L1与L2于A,B,C,D和A',B',C',D'。对于L1上的任意一点,例如,点A,总可以在L2上找到与其对应的点A',A'为OA射线与L2的交点。当OA与L2平行时,则定义OA与L2的交点A'为L2上的无穷远点。实际上这种几何关系给出了L1与L2之间的一个一一对应的变换,称之为一维中心射影变换。以上两个中心射影变换的积就表示了L1到L3之间的变换关系,于是我们就称由有限次中心射影变换的积定义的两条直线间的一一对应变换为一维射影变换。同样,L2上的点列A',B',C',D'又可以通过以另一点O'为中心的一维中心射影变换为L3上的点列A'',B'',C'',D''。n维射影空间的射影变换可以用代数式表示为ρy=TPx,其中,ρ为一比例因子,x与y分别为变换前后空间店的齐次坐标,x=(x1,x2,...,xn+1)T,y=(y1,y2,...,yn+1)T,TP为满秩的(n+1)×(n+1)矩阵。摄影变换由TP矩阵决定,矩阵TP有(n+1)2个参数,但TP与kTP表示同一变换(因等式两边都是齐次坐标),故TP的独立参数为(n+1)2-1。以一维射影变换为例写出上述变换:由该式得:由以上两式相除,并取21yyy21xxx,,得到变换前后点的非齐次坐标的关系射影变换中用非齐次坐标表示的关系是非线性的。如右图所示,在三维射影空间,射影变换矩阵Tp可以表示为:式中,Tp为4×4可逆矩阵,它有16个参数,但可以用一个非零的比例因子归一,因此有15个自由度。仿射变换是射影变换的特例,在射影变换中,当射影中心平面变为无限远处时,射影变换就变成了仿射变换。如图所示:2.1.3仿射变换(affinetransformation)同样,以一维仿射变换为例写出上述变换将以上两式相除得到变化前后点的非齐次坐标关系:由上式得:可以看出用非齐次坐标表示的射影变换为非线性变换,而仿射变换为线性变换。三维仿射空间,仿射变换矩阵可以表示为:用其次坐标,上式可重新写成ρy=TAx,其中仿射变换矩阵TA可以表示为:仿射变换有12个自由度。2.1.4比例变换(metrictransformation)比例变换是带有一比例因子的欧氏变换。比例变换不改变物体空间的形状,只是改变大小,所以有时将比例变换称为相似变换。在三维比例空间中其变换形式可表示为:δ是比例因子,称为缩放因子。用齐次坐标,上式可重新写成ρy=TMx,其中比例变换矩阵TM可以表示为:rij组成了一个正交矩阵。它是一旋转矩阵,该旋转矩阵有3个自由度。比例变换有7个自由度,其中3个旋转,3个平移和1个比例因子。2.1.5欧氏变换(Euclideantransformation)欧氏变换是在欧式空间进行的变换,与比例变换很类似,只是比例因子取为1。欧氏变换代表了在欧式空间中的刚体运动或刚体变换。在三维欧式空间其变换形式为:rij组成了一个正交矩阵。它是一旋转矩阵,该旋转矩阵有3个自由度。用齐次坐标,上式可重新写成ρy=TEx,其中欧氏变换矩阵TE可以表示为:欧氏变换有6个自由度,其中3个旋转,3个平移。2.1几何变换的不变量上节所讲的空间几何变换中,某些几何特性在变换前后具有不变化的特性,这样的特性或特征量称为不变特性或不变量。不变量广泛用于计算机视觉中的特征点的提取及模式识别等,在计算机视觉中起着重要作用。2.2.1简比(simpleratio)与交比(crossratio)如图,直线L上三个点A、B、C,以A、B为基础点,点C为分点(该点C为内分点或外分点),由分点与基础点所确定的两个有向线段之比称为简比,记为SR(A,B;C)=一条直线上四个点中的两个简比的比值称为交比,如图直线L上的四个点A、B、C、D的交比为:BDADBCACDBASRCBASR);,();,(CR(A,B;C,D)=BCAC对于上图中,线束O中任意4条直线的交比称为线束交比CR(l1,l2;l3,l4),既有:CR(l1,l2;l3,l4)=),(sin),(sin),(sin),(sin42413231llllllll2.2.2不变量下面给出各种几何变换的一些基本且重要的不变形和不变量,在此不做证明。射影变换不变量和不变性如下:1、同素性(几何元素点、线、面等变换后仍保持原先的种类)和接合性是射影不变换性质;2、保持直线上点列的交比不变;3、保持线束的交比不变;4、如果平面内有一线束的四直线被任一直线所截,则截点列的交比和线束的交比相等;5、点列交比是射影变换的基本不变量,是射影变换的充分必要条件,且共线四点交比具有如下特性:(如前页图所示)1)CR(A,B;C,D)=CR(C,D;A,B);2)CR(A,B;C,D)=CR(B,A;D,C);3)CR(A,B;C,D)=1/CR(A,B;D,C)=1/CR(B,A;C,D);4)CR(A,B;C,D)=1-CR(A,C;B,D)=1-CR(D,B;C,A)。仿射变换除具有以上射影变换不变性外,还具有如下特性:仿射变换是摄影变换的特例1、两条直线间的平行性是仿射变换的不变换;2、共线三点的简比是仿射变换的基本不变量;3、两个三角形的面积之比是仿射不变量;4、两条封闭曲线所围成的面积之比是仿射不变量。比例变换不变性:比例变换除具有仿射变换的不变性外,还保持两条相交直线的夹角不变,因此,其形状保持不变。欧氏变换不变性:欧氏变换不仅保持两条相交直线的夹角不变,而且还保持任意两点的距离不变,因此其形状和大小均保持不变。不变量在计算机视觉中有着广泛应用,下面我们来看一个交比应用于空间平面多边形识别的例子:右图示出了空间平面多边形的一种摄影关系,为清晰起见,空间平面多边形ABCDEF及其射影多边形A'B'C'D'E'F'分别重绘如下:由交比的不变性,有:CR(P1,P2;P3,P4)=CR(P1',P2';P3',P4')在空间平面中有:CR(P1,P2;P3,P4)=CR(AB,AE;AC,AD)类似地,在投影平面中,也可以得到:CR(P1',P2';P3',P4')=CR(A'B',A'E';A'C',A'D')于是对于顶点A及其投影点A',有:CR(AB,AE;AC,AD)=CR(A'B',A'E';A'C',A'D')即由顶点的其他四个相邻顶点连线计算的交比是射影不变的。同理,对其他顶点也可分别计算出其交比值,于是得到一个交比序列。因此,对于平面多边形的顶点A,B,C,D,E,F,得到交比序列:CR=(CRA,CRB,CRC,CRD,CRE,CRF)其维数为多边形的顶点数。另外,多边形各顶点的凹凸性在射影变换中是不变的。于是,可以把各顶点凹凸性加入到交比序列中,如以正值表示凸顶点,以负值表示凹顶点,形成该平面多边形的一个特征矢量CR。特征矢量CR反映了空间平面多边形的结构和形状,可由投影图像精确获得其与视点位置无关,可以作为平面多边形的一个不变形状描述子,能定量地区分两个相似形状的细微差别。2.3欧氏空间的刚体变换计算机视觉中,刚体变换通常用于两个方面:一是计算一个刚体经过旋转和平移后的新坐标,另一是计算同一个刚体在不同坐标系中的坐标。本节介绍刚体变换的过程和旋转矩阵的表示形式。2.3.1刚体变换过程在欧氏空间当物体被看做理想的刚体时,无论该物体的位置和方向发生任意变化,或者是在不同的坐标系观察同一物体,物体的形状和大小均保持不变,并且都可看成是刚体坐标的变换。如图,在欧氏空间有一点P,P点在两个坐标系中的坐标分别是p=(x,y,z)T和p'=(x',y',z')T,则有下列变换公式:p'=Rp+tt=(tx,ty,tz)T是一个三维向量,称为平移向量,表示第一个坐标系远点在第二个坐标系上的坐标。R是一个3×3的正交矩阵且它的行列式值等于一,表示旋转变换。且有:该式表明P点在第二个坐标系中的坐标p'是由其在第一个坐标系中的坐标p通过旋转和平移变换得到的。旋转矩R有9个参数,但并不是互相独立的,具有如下特性:1、RRT=RTR=I,因此R-1=RT;2、||RU||=||U||;3、RU•RV=U•V;4、RU×RV=R(U×V)。其中,I是3×3单位矩阵,U和V为两个任意的三维向量,||•||为向量的模。因此,R只有3个独立参数,即R的9个元素满足以下六个约束条件:实际上,式p'=Rp+t描述了第一个坐标系到第二个坐标系的转换过程,即旋转第一个坐标系,使其方向与第二个坐标系完全一致,然后再将第一个坐标系平移到第二个坐标系的位置上,则两个坐标系完全重合。2.3.2旋转矩阵的表示形式比较常用的旋转矩阵的表示形式有三种:欧拉角表示法、四元数表示法和旋转轴表示法,本节主要介绍前两种表示法。1、欧拉角表示法:如图:被称为欧拉角的三个角度ψ、θ和φ能很好描述刚体的旋转变换:绕x轴旋转ψ角(偏转);绕y轴旋转θ角(俯仰),绕z轴旋转φ角(侧倾)。各角度旋转正方向定义为从坐标系原点沿各轴正方向观察时的逆时针旋转方向。且对应上节定义的旋转矩阵R,有如下关系:用旋转矩阵表示刚体的旋转变换简化了许多运算,但它需要9个元素来完全描述这种旋转变换,比较麻烦。2、四元数表示法:四元数是一个四元矢量q=(q1,q2,q3,q4),可用来描述坐标旋转。如图所示,对于二维平面上的单位圆,单位圆的任何一个位置对应于一个旋转角,即极角。联想三维空间中的单位球体,任意一个位置对应于绕x轴和绕y轴旋转的两个角ψ、θ,但是绕z轴的旋转角φ却无法描述。这时考虑如果再增加一个自由度就可以表示所有三个旋转角,这样就产生了四维空间的单位球,且定义如下:三维空间中的所有三个旋转角度可以通过四维单位球上的点来表示,四维单位球上点的四元坐标构成了单位四元数。一个旋转可以用两个单位四元数来表示(q和-q),但是,给定一个四元数只对应唯一一个旋转。针对计算机视觉,旋转角一般不超过π,所以可附加条件,保证一个四元数的第一个元素为正。这样,旋转和四元数之间就有了一一对应关系。用单位四元数表示刚体变换的旋转矩阵(即上节定义矩阵R)如下:其中:所以:在计算出单位四元数之后,就可以利用上式计算旋转矩阵。刚体变换可以很方便的用七个元素(q0,q1,q2,q3,q4,q5,q6)表示,前四个量是单位四元数,后三个量是平移量。若用R(q)表示对应于单位四元数的旋转矩阵,则刚体变换式为:p'=R(q)p+(q4,q5,q6)T2.4摄像机透视投影模型摄像机通过成像透镜将三维场景投影到摄像机二维平面上,这个投影可用成像变换描述,即摄像机成像模型。2.4.1图像坐标系、摄像机坐标系与世界坐标系1、图像坐标系:摄像机采集的图像以标准电视信号的形式经高速图像采集系统变换为数字图像,并输入计算机。每幅数字图像在计算机内为M×N数组,