美文网首页
第一章 2D射影几何和变换(上)

第一章 2D射影几何和变换(上)

作者: hmta_dhs | 来源:发表于2024-01-28 20:43 被阅读0次

系列索引:MVG计算机视觉中的多视图几何

1.1 2D射影几何


本节引入了2D射影几何的概念。相比于欧式几何,射影几何增加了无穷远点这个概念。无穷远点是两条平行线的交点(想象一下两条平行铁轨的交点),在射影几何中描述平行性质。
2D射影几何还有一个重要原理是对偶原理,由于2D射影几何中点和直线均由3维向量表示,因此它们两个是可以互换的。


点坐标(x,y) \in \mathbb{R}^2可以写成列向量\mathbf{x}=(x,y)^T

直线的齐次表示:平面上的直线方程ax+by+c=0,因此直线可以用三维矢量(a,b,c)^T表示。由于直线方程等号右面是0,因此将等号两边同时乘上非零数k,即直线ax+by+c=0和直线(ka)x+(kb)y+(kc)=0等价。写成矢量形式就是(a,b,c)^Tk(a,b,c)^T是等价的。这种等价关系下的矢量等价类称为齐次矢量。

射影空间\mathbb{P}^2:在\mathbb{R}^3-(0,0,0)中的矢量等价类的集合。

点的齐次表示:点\mathbf{x}=(x,y)^T在直线\mathbf{l}=(a,b,c)^T的充要条件是ax+by+c=0,即(x,y,1)(a,b,c)^T=(x,y,1)\mathbf{l}=0. 对于任意非零k和直线\mathbf{l},方程(ka,kb,kc)\mathbf{l}=0的充要条件是(a,b,c)\mathbf{l}=0. 因此,当k不为0时,可以使用(kx,ky,k)^T来表示\mathbb{R}^2中的点(x,y)^T. 因此,点也可以使用齐次来表示。齐次矢量\mathbf{x}=(x_1, x_2, x_3)^T可以表示\mathbb{R}^2的点(x_1/x_3, x_2/x_3).当x_3=0时,该点为无穷远点。

\mathbf{x}在直线\mathbf{l}上的充要条件是\mathbf{x}^T\mathbf{l}=0

直线的交点:直线\mathbf{l}和直线\mathbf{l}'的交点是\mathbf{x}=\mathbf{l}\times\mathbf{l}'

点的连线:过点\mathbf{x}和点\mathbf{x}'的直线是\mathbf{l}=\mathbf{x}\times\mathbf{x}'

平行线的交点:平行直线\mathbf{l}=(a,b,c)^T\mathbf{l}'=(a,b,c')^T的交点是\mathbf{x}=\mathbf{l}\times\mathbf{l}'=(c'-c)(b,-a,0)^T

理想点\mathbf{x}=(x_1,x_2,0)^T

无穷远线\mathbf{l}=(a,b,0)^T

对偶原理:2维射影几何中的任何定力都有一个对应的对偶定理,它可以通过互换原定理中点和线的作用而导出。


1.2 二次曲线


在非齐次坐标中,二次曲线的方程是
ax^2+bxy+cy^2+dx+ey+f=0
将上式齐次化,即x \rightarrow x_1/x_3, y \rightarrow x_2/x_3,得
ax_1^2+bx_1x_2+cx_2^2+dx_1x_3+ex_2x_3+fx_3^2=0
或表示为矩阵形式
\mathbf{x}^TC\mathbf{x}=0
其中二次曲线系数矩阵C为
C= \begin{bmatrix} a & b/2 & d/2 \\ b/2 & c & e/2 \\ d/2 & e/2 & f \end{bmatrix}
上式是6元齐次方程,自由度为5

二次曲线的切线:过(非退化)二次曲线C上点\mathbf{x}的切线\mathbf{l}\mathbf{l}=C\mathbf{x}确定。

对偶二次曲线:上面定义的二次曲线C为点二次曲线,根据对偶原理可以定义对偶(线)二次曲线C^*

二次曲线C的切线\mathbf{l}满足\mathbf{l}^TC^*\mathbf{l}=0

其中C^*表示C的伴随矩阵,对于非奇异矩阵C来说,C^*=C^{-1}

退化二次曲线C不满秩,包含两条线(秩为2)或者一条重线(秩为1)
C=\mathbf{lm}^T+\mathbf{ml}^T

退化线二次曲线C^*包含2个点(秩为2)或者1个重点(秩为1),C^*=\mathbf{xy}^T+\mathbf{yx}^T。注意对非可逆矩阵而言,(C^*)^* \neq C


1.3 2D射影变换

射影映射/射影变换/保线变换/单应(homography)变换\mathbb{P}^2 \rightarrow \mathbb{P}^2的映射h满足:\mathbf{x}_1\mathbf{x}_2\mathbf{x}_3共线当且仅当h(\mathbf{x}_1)h(\mathbf{x}_2)h(\mathbf{x}_3)共线

映射h:\mathbb{P}^2 \rightarrow \mathbb{P}^2是摄影映射的充要条件是:存在3*3非奇异矩阵H,使得\mathbb{P}^2的任何一个用矢量x表示的点都满足h(\mathbf{x})=H\mathbf{x}

直线 二次曲线 对偶二次曲线
\mathbf{x}'=H\mathbf{x} \mathbf{l}'=H^{-T}\mathbf{l} C'=H^{-T}CH^{-1} C^{*'}=HC^*H^T

变换层次

  1. 等距变换

\begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix} = \begin{bmatrix} \epsilon \cos \theta & -\sin \theta & t_x \\ \epsilon \sin \theta & \cos \theta & t_y \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix}

其中,\epsilon=\pm 1. 当\epsilon=1时,该等距变换是保向的,称为欧式变换,欧式变换表达式如下。
\mathbf{x}'=H_s \mathbf{x} = \begin{bmatrix} sR & \mathbf{t} \\ \mathbf{0}^T & 1 \end{bmatrix} \mathbf{x}

  1. 相似变换

\begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix}=\begin{bmatrix} s \cos \theta & -s \sin \theta & t_x \\ s \sin \theta & s \cos \theta & t_y \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix}

\mathbf{x}'=H_s\mathbf{x}=\begin{bmatrix} sR & \mathbf{x} \\ \mathbf{0}^T & 1 \end{bmatrix}

  1. 仿射变换

\begin{bmatrix} x' \\ y' \\ 1 \end{bmatrix}=\begin{bmatrix} a_{11} & a_{12} & t_x \\ a_{21} & a_{22} & t_y \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ 1 \end{bmatrix}

\mathbf{x}'=H_A\mathbf{x}=\begin{bmatrix} A & \mathbf{t} \\ \mathbf{0}^T & 1 \end{bmatrix} \mathbf{x}

其中A是一个2\times2的非奇异矩阵,平面仿射变换有6个自由度
仿射矩阵A可以看作两个基本变换(旋转和非均匀缩放的复合):
A=R(\theta)R(-\phi)DR(\phi)
其中R(\theta)R(\phi)分别表示转角为\theta\phi的旋转,而D是对角矩阵D=diag(\lambda_1, \lambda_2)
将矩阵A进行奇异值分解
A=UDV^T=(UV^T)(VDV^T)=R(\theta)R(-\phi)DR(\phi)
仿射变换的本质是在一个特定角的两个垂直方向上进行缩放

平面仿射变换改变的是夹角
  1. 射影变换

\mathbf{x}'=H_p\mathbf{x}=\begin{bmatrix} A & \mathbf{t} \\ \mathbf{v}^T & v \end{bmatrix}\mathbf{x}

H=H_SH_AH_P=\begin{bmatrix} sR & \mathbf{t}/v \\ \mathbf{0}^T & 1 \end{bmatrix}\begin{bmatrix} K & \mathbf{0} \\ \mathbf{0}^T & 1 \end{bmatrix}\begin{bmatrix} I & \mathbf{0} \\ \mathbf{v}^T & v \end{bmatrix}=\begin{bmatrix} A & \mathbf{t} \\ \mathbf{v}^T & v \end{bmatrix}

其中,A=sRK+\mathbf{tv}^T/v,而K是满足\det K=1的归一化上三角矩阵,如果v\neq0,则上述分解是有效的,而且如果s取正值,它还是唯一的。

射影变换

H = \begin{bmatrix} 1.707 & 0.586 & 1.0 \\ 2.707 & 8.242 & 2.0 \\ 1.0 & 2.0 & 1.0 \end{bmatrix}

可以分解为

H=\begin{bmatrix} 2\cos45^{\circ} & -2\sin45^{\circ} & 1 \\ 2\sin45^{\circ} & 2\cos45^{\circ} & 2 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} 0.5 & 1 & 0 \\ 0 & 2 & 0 \\ 0 & 0 & 1 \end{bmatrix}\begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 1 & 2 & 1 \end{bmatrix}

层次射影变换的不变量

层次射影变换的不变量

1.4 1D射影几何

直线射影几何\mathbb{P}^1:直线上的点x使用齐次坐标(x_1,x_2)来表示,而(x_1,0)表示改直线的理想点。直线的摄影变换有一个2\times2的齐次矩阵来表示。

\mathbf{\overline{x}}'=H_{2\times2}\mathbf{\overline{x}}

交比:交比是\mathbb{P}^1的基本射影不变量,给定4个点\overline{\mathbf{x}}_i,交比定义为

Cross(\overline{\mathbf{x}}_1,\overline{\mathbf{x}}_2,\overline{\mathbf{x}}_3,\overline{\mathbf{x}}_4)=\frac{\left| \overline{\mathbf{x}}_1\overline{\mathbf{x}}_2 \right | \left | \overline{\mathbf{x}}_3\overline{\mathbf{x}}_4 \right |}{\left| \overline{\mathbf{x}}_1\overline{\mathbf{x}}_3 \right | \left | \overline{\mathbf{x}}_2\overline{\mathbf{x}}_4 \right |}

其中

\left| \overline{\mathbf{x}}_i \overline{\mathbf{x}}_j\right| = \det{\begin{bmatrix} x_{i1} & x_{j1} \\ x_{i2} & x_{j2} \end{bmatrix}}

  1. 交比的值与各点的齐次表示无关,因为分子和分母的缩放因子相互抵消。

  2. 如果每个点都是有限点且x_2=1,则\left| \overline{\mathbf{x}}_i \overline{\mathbf{x}}_j \right|就表示由\overline{\mathbf{x}}_i\overline{\mathbf{x}}_j的有向距离。

  3. 如果四个点中有一个理想点,交比的定义仍然有效。

  4. 在直线射影变换下交比的值不变

在平面射影变换下,平面上的任何直线都诱导一个1D射影变换。(Under a projective transformation of the plane, a 1D projectiove transformation is induced on any line in the plane.)

共点线:共点线是直线上共线点的对偶。这意味着平面上的共点线也有几何\mathbb{P}^1。特别是,任何四条共线点都有一个确定的交比,如图1.9a所示


下一篇:第一章 2D射影几何和变换(下)

相关文章

  • 2D射影几何与变换

    1.基本表示 列向量:粗体符号如x总是表示列向量,其转置表示行向量。 欧氏空间:,为维度。 射影空间:,为维度。 ...

  • Homography|单应性

    几何变换类型 保距变换 isometry 相似变换 similarity 仿射变换 affine 射影变换 pro...

  • 单应性 (Homography)

    单应性 是几何中的一个概念。单应性是一个从实射影平面到射影平面的可逆变换,直线在该变换下仍映射为直线。 可以用 F...

  • 2019-06-11

    CSS3 2d变换 3d变换 css3 2d变换 111111 222222

  • OpenCV实现图像的几何变换

    图像的几何变换 几何变换主要包括缩放、平移、旋转、仿射变换、透视变换和图像裁剪等。执行这些几何变换的两个关键函数是...

  • transform变换

    transform变换 1. 变换属性 transform 变换分为2D变换和3D变换,描述的是一种变化之后的结果...

  • 几何变换

    相对于点操作改变了图像的值域范围,几何变换关注于改变图像的定义域。原先采用的方法是全局参数化2D变换,之后...

  • 3D数学基础及图形开发(六)矩阵的线性变换-镜像和切变

    线性变换-镜像 2D镜像,基于x轴进行镜像变换。(以轴为镜子)(x轴不变,y取反) 镜像矩阵,2D和3D公式(针对...

  • CSS3动画

    CSS3之2D/3D动画 2D的变换3D的变换动画 2D动画的变换 基本说明 注意:一般要写不同浏览器的适配 移动...

  • 16.帕斯卡定理

    帕斯卡定理,是二次曲线上的定理。同样适应于相交的直线,圆锥曲线。为射影几何的重要定理。 射影几何的定理,单纯用综合...

网友评论

      本文标题:第一章 2D射影几何和变换(上)

      本文链接:https://www.haomeiwen.com/subject/qudiodtx.html