各个变换的层次

不同的变换有不同的结构,理解这些对于EIgen中的一些结构的理解有较好的帮助.这篇主要内容来源于<计算机视觉中的多视图几何>一书的1.4小节

这里要注意的是,这里所涉及的变换是针对于平面上的运动,也就是对于平面射影变换,其射影线性群为\(PL(3)\)

\(PL(3)\)中重要的子群就是仿射群以及欧式群, 仿射群是由\(PL(3)\)中最后一行为(0,0,1)的矩阵组成的子群; 欧式群是仿射群的子群,其左上角2x2矩阵是正交的.

等距变换 Isometries

等距变换是平面\(\mathbb{R}^{2}\)的变换,其保持欧氏距离不变,一个等距变换可以表示为 \[ \left(\begin{array}{l} x^{\prime} \\ y^{\prime} \\ 1 \end{array}\right)=\left[\begin{array}{ccc} \epsilon \cos \theta & -\sin \theta & t_{x} \\ \epsilon \sin \theta & \cos \theta & t_{y} \\ 0 & 0 & 1 \end{array}\right]\left(\begin{array}{l} x \\ y \\ 1 \end{array}\right) \] 其中\(\epsilon=\pm 1\),如果\(\epsilon=+ 1\) 那么这个等距变换就是 保向的并且也是欧式变换; 如果\(\epsilon=- 1\),那么这个变换是逆向的,比如反射(diag(-1,1,1)和欧式变换的复合;

分块形式 \[ \mathbf{x}^{\prime}=\mathrm{H}_{\mathrm{E}} \mathbf{x}=\left[\begin{array}{cc} \mathrm{R} & \mathbf{t} \\ \mathbf{0}^{\top} & 1 \end{array}\right] \mathbf{x} \] 其中R就是旋转矩阵,t就是平移矢量

自由度

平面欧式变换有三个自由度: 旋转一个,平移两个.

不变量

长度,面积,角度等

群和定向

\(\epsilon=+ 1\),R阵的行列式是1那么他就是保向的.

保向的等距变换形成一个群,但是逆向的不是

相似变换 Similarity transformations

相似变换是一个等距变换和一个均匀变换的复合 \[ \left(\begin{array}{l} x^{\prime} \\ y^{\prime} \\ 1 \end{array}\right)=\left[\begin{array}{ccc} s \cos \theta & -s \sin \theta & t_{x} \\ s \sin \theta & s \cos \theta & t_{y} \\ 0 & 0 & 1 \end{array}\right]\left(\begin{array}{l} x \\ y \\ 1 \end{array}\right) \] 分块形式 \[ \mathbf{x}^{\prime}=\mathrm{H}_{\mathrm{S}} \mathbf{x}=\left[\begin{array}{ll} s \mathrm{R} & \mathbf{t} \\ \mathbf{0}^{\top} & 1 \end{array}\right] \mathbf{x} \] 其中标量\(s\)表示均匀缩放, 相似变换在变换的时候保持了"形状"

自由度

四个自由度,相比等距变换,多了缩放因子这个自由度,变换可以用两组对应点来计算

不变量

直线的夹角不受旋转,平移和均匀缩放的影响,所以是相似不变量(如平行线总是平行线)

直线线段长度的比值

面积的比值

仿射变换 Affine transformations

仿射变换是一个非奇异线性变换与一个平移变换的复合 \[ \left(\begin{array}{l} x^{\prime} \\ y^{\prime} \\ 1 \end{array}\right)=\left[\begin{array}{ccc} a_{11} & a_{12} & t_{x} \\ a_{21} & a_{22} & t_{y} \\ 0 & 0 & 1 \end{array}\right]\left(\begin{array}{l} x \\ y \\ 1 \end{array}\right) \] 分块形式 \[ \mathbf{x}^{\prime}=\mathrm{H}_{\mathrm{A}} \mathbf{x}=\left[\begin{array}{cc} \mathrm{A} & \mathbf{t} \\ \mathbf{0}^{\mathrm{T}} & 1 \end{array}\right] \mathbf{x} \] 其中\(\mathrm{A}\)是一个2x2的非奇异矩阵

自由度

6

相比较与相似变换,平面仿射变换有六个自由度(六个矩阵元素),变换可以使用三组对应点来计算

矩阵A的理解

仿射矩阵A可以分解成以下形式 \[ \mathrm{A}=\mathrm{R}(\theta) \mathrm{R}(-\phi) \mathrm{D} \mathrm{R}(\phi) \]

\[ \mathrm{D}=\left[\begin{array}{cc} \lambda_{1} & 0 \\ 0 & \lambda_{2} \end{array}\right] \]

(这边理解也就是在右边加上一个原图的矩阵,然后每个矩阵向右结合)

因此仿射矩阵A可以看成是一个原图的旋转(\(\phi\)),然后在原图旋转的基础上在xy方向上分别进行\(\lambda\)的缩放,然后再加上一个回转(\(-\phi\))和最后一个旋转(\(\theta\))的复合

正因如此,其比相似变换多了两个自由度: 1. 缩放方向的角度\(\phi\) ; 2. 缩放参数比率\(\lambda_1 : \lambda_2\)

本质就是在一个特定角的两个垂直方向上进行缩放,如下图所示

不变量

  1. 平行线

两个平行线在仿射变换后相较于另一个无穷远点,但他们仍然平行

  1. 平行线段的长度比
  2. 面积比

射影变换 Projective transformations

射影变换是齐次坐标的一般非奇异线性变换,是仿射变换的推广,其分块形式如下 \[ \mathbf{x}^{\prime}=\mathrm{H}_{\mathrm{P}} \mathbf{x}=\left[\begin{array}{cc} \mathrm{A} & \mathbf{t} \\ \mathbf{v}^{\top} & v \end{array}\right] \mathbf{X} \] 其中矢量\(\mathbf{v}=\left(v_{1}, v_{2}\right)^{\top}\)

自由度

8

虽然有九个元素,但是只有他们的比率是有意义的,可以使用不共线的四组点来解算

其不能确定是否保向

不变量

四共线点的交比:也即是直线比率的比率是射影不变量

射影变换的分解

射影变换可以分解成为一系列变换的复合,变换链中每个矩阵都比它前面的一个矩阵所表示的变换层次高 \[ \mathrm{H}=\mathrm{H}_{\mathrm{S}} \mathrm{H}_{\mathrm{A}} \mathrm{H}_{\mathrm{P}}=\left[\begin{array}{cc} s \mathrm{R} & \mathrm{t} \\ 0^{\mathrm{T}} & 1 \end{array}\right]\left[\begin{array}{cc} \mathrm{K} & 0 \\ 0^{\mathrm{T}} & 1 \end{array}\right]\left[\begin{array}{cc} \mathrm{I} & 0 \\ \mathrm{v}^{\mathrm{T}} & v \end{array}\right]=\left[\begin{array}{cc} \mathrm{A} & \mathrm{t} \\ \mathrm{v}^{\mathrm{T}} & v \end{array}\right] \] 其中\(A=s R K+t v^{\top}\),而K是满足\(\operatorname{det} K=1\)的归一化上三角矩阵.

矩阵\(\mathrm{H}_{\mathrm{S}}, \mathrm{H}_{\mathrm{A}}, \mathrm{H}_{\mathrm{P}}\)分别是相似变换,仿射变换和射影变换.对平面的矫正过程便是:$ {}$(2 dof) 移动无穷远直线; $ {}$(2 dof)影响仿射性质而不影响无穷远直线; $ _{}$是一般的相似变换,其不影响仿射以及射影的性质.

如果只是使用部分性质,那么可以变换到响应的变换下进行测量

### 常见平面变换的几何性质

三维变换的层次

这边可以扩展得到三维变换的层次