机器视觉与机器学习:算法原理、框架应用与代码实现
上QQ阅读APP看书,第一时间看更新

3.1 射影几何与几何变换

射影几何是研究图形的射影性质,即经过射影变换后依然保持不变的图形性质的几何学分支学科。机器视觉中常涉及欧式几何(Euclidean Geometry)、仿射几何(Affine Geometry)、射影几何(Projective Geometry)和微分几何(Differential Geometry)。

常用的空间几何变换有刚体变换、空间相似变换(含平移、旋转、相似变换)、仿射变换、投影变换(也叫透视变换)与非线性变换等。其中仿射变换为射影变换的特例,在射影几何中已证明,如果射影变换使无穷点仍变换为无穷远点,则变换为仿射变换。经仿射变换后,线段间保持其平行性,但不保持垂直性。平面仿射变换的实质是平面与平面之间的平行投影。平面透视变换的实质是平面与平面之间的中心投影。

射影变换保持直线、直线与点的接合性及直线上点列的交比不变。仿射变换除具有以上不变性外,还能保持直线与直线的平行性、直线上点列的简比不变。欧式变换除具有仿射的不变性外,还能保持两条相交直线的夹角和任意两点的距离不变。

3.1.1 空间几何变换

1. 二维变换

1)平移变换:二维平移可以写成x=x+t或者

或者

式中,I是2×2的单位矩阵,x为二维向量,t为二维平移向量,0是零向量。

2)旋转+平移:该变换也称为二维刚体运动或二维欧式变换,θ为旋转角,t为平移向量,则变换关系可以写成

式中

R是一个正交旋转矩阵,有

RTR=1,‖R‖=1

3)缩放平移:也叫相似变换,该变换可以表示为

或者

相似变换能保持直线间的夹角不变。

4)仿射变换:仿射变换可以表示为

式中,A是2×3矩阵,即

仿射变换后平行线将保持平行性。

5)投影变换:也叫透视变换或同态变换,作用在齐次坐标上,变换公式为

式中,是一个任意的3×3矩阵,是齐次的,即它只在相差一个尺度量的情况下是已定义的,而仅尺度量不同的两个是等同的。要想获得非齐次结果,得到的齐次坐标必须经过规范化,即

式中,(xy)为变换前坐标,(x′y′)为变换后的坐标。

由于变换是齐次的,同一个投影变换矩阵可以相差一个非零常数因子,因此投影变换仅有8个自由度,直线在投影变换后仍然是直线。图3-1为图像二维变换的效果。

2. 三维变换

1)平移:三维平移可以写为x=x+t3D或者

式中,I3D是3×3的单位矩阵,t3D为三维向量。

2)旋转+平移:该变换也称为三维刚体运动,即三维欧式变换,可以写成

式中,R3D是一个3×3的正交矩阵,有和‖R3D‖=1。

3)缩放旋转:该变换可以表示为

图3-1 图像二维变换

a)原图像 b)仿射变换后的图像 c)投影变换后图像

它能够保持直线和平面间的夹角。

4)仿射变换:仿射变换可以表示为

式中A3D是3×4矩阵,即

仿射变换后原来的平行线和平行面会保持平行性。

5)投影变换:也叫三维透视变换或同态映射,作用在齐次坐标上,表示为

式中,是一个任意的4×4齐次矩阵。与二维投影变换相同,要想获得非齐次结果,得到的齐次坐标就必须经过规范化。由于变换是齐次的,射影变换可以相差一个非零常数因子,因此三维投影变换有15个自由度。直线在投影变换后仍然是直线。

3.1.2 三维到二维投影

在计算机视觉与计算机图形学中,最常用的是三维透视投影,如图3-2所示。投影变换将三维空间坐标中的点映射到二维平面中,即空间中点的三维信息投影后变成图像亮度信息,丢失了图像的三维信息,投影后就不可能恢复该点到图像的距离了,因此二维传感器没有办法测量到表面点的距离。

图3-2中点Pxyz)与成像平面上的对应点pxpypzp)在深度方向的大小分别为dz。根据相似三角形,在图3-2中有

图3-2 透视投影示意图

a)整个三维空间 b)yz平面

以及

进一步可以得到三维空间中点Pxyz)与成像平面上对应点pxpypzp)对应关系为

d为相机焦距时,有

因而有

式中,为投影矩阵。

以上分析基于理想条件,即光学中心在像平面坐标原点,相机没有旋转和平移。如果光学中心位于像平面中心(u0v0)的位置且传感器轴间倾斜s,则M矩阵被修正为如下形式:

式中,αβ为归一化焦距。

如果相机与世界坐标系有旋转和平移,则

式中,为旋转和平移组合而成的矩阵。