欧氏空间,是平面几何与立体几何空间的一般化推广,主要用来描述角度和形状,针对的是理想的几何物体。例如,两条平行线永远不会相交,或者相交于无穷远点 (虚拟的点)。
机器视觉中,处理的是工业相机拍摄的图像,属于投影空间的范畴。在相机拍摄到的图像里面,平行线有时也是可以相交的,如下图:
现实世界中的两条铁轨,成像在投影空间中时,相交于某一点,也即无穷远点;但在欧氏空间中,无穷远点是理想点,并没有实际意义。
这样,就需要一种新的表示方法 -- 齐次坐标,将欧氏空间的无穷远点,与投影空间中有实际意义的点,建立起映射关系。
在平面几何里,采用笛卡尔坐标,则一个点可表示为 $(x, y)^{T}$,如果为其增加一个坐标值,表示为 $(x, y, 1)^{T}$,且约定 ($x, y, 1)^{T}$ 和 $(kx, ky, k)^{T}$ 表示的是同一个点 (其中 k ≠ 0),
则这种用一个 N+1 维的向量,来表示 N 维向量的方法,称为齐次坐标法。
这样,由齐次坐标 $(x, y, w)$,可推导出笛卡尔坐标 $ (\dfrac{x}{w}, \dfrac{y}{w})$
欧式空间中,两条平行线方程组,如下:
$\begin{cases} AX + BY + C = 0 \\ AX + BY + D = 0 \end{cases} $ ,其中 C ≠ D
齐次坐标点$(x, y, w)^{T}$ 与 欧氏空间点 $(X, Y)^{T}$ 的对应关系为: $ X = \dfrac{x}{w}, Y = \dfrac{y}{w}$,代入上面方程组得:
$\begin{cases} A\dfrac{x}{w} + B\dfrac{y}{w} + C = 0 \\ A\dfrac{x}{w} + B\dfrac{y}{w} + D = 0 \end{cases} $ => $\begin{cases} Ax+ By + Cw = 0 \\ Ax+ By + Dw = 0 \end{cases} $ => $w = 0$
既然 w = 0,则齐次坐标为 $(x, y, 0)^{T}$,表示的是无穷远点 $(∞, ∞)^{T}$,对应于欧氏空间中的点坐标 $(\dfrac{x}{0}, \dfrac{y}{0})^{T}$
点 $(x, y, z)^{T}$,经过伸缩和平移后,成为点 $ (x', y', z')^{T} = (r_{1}x+t_{1}, r_{2}y+t_{2}, r_{3}z+t_{3})^{T}$,该变换过程可用如下公式表示:
$\begin{bmatrix} x' \\ y' \\ z' \end{bmatrix} = \begin{bmatrix} r_{1} \\ r_{2} \\ r_{3} \end{bmatrix} \begin{bmatrix} x \\ y \\ z \end{bmatrix} + \begin{bmatrix} t_{1} \\ t_{2} \\ t_{3} \end{bmatrix} $
如果使用齐次坐标,则可将平移变换,转化为矩阵乘法,消除了上式中的矩阵加法
$\begin{bmatrix} x' \\ y' \\ z' \\1 \end{bmatrix} = \begin{bmatrix} r_{1} & 0 & 0 & t_{1} \\ 0 & r_{2} & 0 & t_{2} \\ 0 & 0 & r_{3} & t_{3} \\ 0 & 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ z \\ 1\end{bmatrix} $
齐次坐标还可以区分向量和点,具体如何区分的,尚待研究 ... ...
欧氏空间中,当物体被视为刚体时,不管是该物体的位置或朝向发生变化,还是更换观察的坐标系,其大小和形状都保持不变。
形象点说,猪八戒的九齿钉耙,由冰铁铸造而成,便是一种刚体;而镇元子大仙的七星鞭,由于是龙皮做的,故为非刚体。
所谓的刚体变换,就是一个可被看做刚体的物体,从一个状态 (位置和朝向),转换为另一个状态的过程。
如上所示,从世界坐标系到相机坐标系的转换,朝向由旋转矩阵 $R$ 表示,位置则由平移矩阵 $T$ 来表示:
$ P_{c} = R \cdot P_{w} + T$,其中,旋转矩阵 $ R = \begin{bmatrix} r_{11} & r_{12} & r_{13} \\ r_{21} & r_{22} & r_{23} \\ r_{31} & r_{32} & r_{33} \end{bmatrix} $,平移矩阵 $ T = \begin{bmatrix} t_{1} \\ t_{2} \\ t_{3} \end{bmatrix} $
旋转矩阵 R 为正交矩阵,满足下面的 6 个约束条件
$\begin{cases} r_{11}^2 + r_{12}^2 + r_{13}^2 = 1 \\ r_{21}^2 + r_{22}^2 + r_{23}^2 = 1 \\ r_{31}^2 + r_{32}^2 + r_{33}^2 = 1\end{cases} $ 和 $\begin{cases} r_{11}*r_{21} + r_{12}*r_{22} + r_{13}*r_{23} = 0 \\ r_{21}*r_{31} + r_{22}*r_{32} + r_{23}*r_{33} = 0 \\ r_{31}*r_{11} + r_{32}*r_{12} + r_{33}*r_{13} = 0\end{cases} $
若采用齐次坐标形式,则世界坐标系与相机坐标系的关系如下:
$ \begin{bmatrix} X_{c} \\ Y_{c} \\ Z_{c} \\ 1 \end{bmatrix} = \begin{bmatrix} R & T \\ 0^{T} & 1 \end{bmatrix} \begin{bmatrix} X_{w} \\ Y_{w} \\ Z_{w} \\ 1 \end{bmatrix}$
<视觉测量> 张广军,第2章
<Robot Vision> Chapter 13
<An Invitation to 3D Vision> Chapter 2