第二章 3D射影几何和变换

2024-03-24  本文已影响0人  hmta_dhs

系列索引:MVG计算机视觉中的多视图几何
上一篇:第一章 2D射影几何和变换(下)


本章基本上分成三个部分:


2.1 2D射影几何到3D射影几何的对应

(x_1,x_2,x_3)^T \Rightarrow (X_1,X_2,X_3,X_4)^T (当X_4=0时表示无穷远点)

平面(l_1,l_2,l_3)^T \Rightarrow (\pi_1,\pi_2,\pi_3,\pi_4)^T

点在线/面上

l_1x_1+l_2x_2+l_3x_3=(l_1,l_2,l_3)(x_1,x_2,x_3)^T=\mathbf{l}^T\mathbf{x}=0 \\ \Downarrow \\ \pi_1X_1+\pi_2X_2+\pi_3X_3+\pi_4X_4=(\pi_1,\pi_2,\pi_3,\pi_4)(X_1,X_2,X_3,X_4)^T=\mathbf{\pi}^T\mathbf{X}=0

将平面公式写成欧式几何的形式

\mathbf{n\cdot\widetilde{X}}+d=0

其中,\mathbf{n}=(\pi_1,\pi_2,\pi_3)^T\mathbf{\widetilde{X}}=(X,Y,Z)^TX_4=1d=\pi_4,则原点到此平面的距离是d/||\mathbf{n}||.

2D下两点共线,两线交点\Rightarrow3D下三点共面,三面交点

(对偶)二次曲线/面(\mathbf{x}^TC\mathbf{x}=0,\mathbf{l}^TC^*\mathbf{l}=0)\Rightarrow(\mathbf{X}^TQ\mathbf{X}=0,\mathbf{\pi}^TQ^*\mathbf{\pi}=0)

二次曲面的分类

射影变换(\mathbf{x}'=H\mathbf{x},\mathbf{l}'=H^{-T}\mathbf{l},C'=H^{-T}CH^{-1},C^{*'}=HC^*H^T)\Rightarrow(\mathbf{X}'=H\mathbf{X},\mathbf{\pi}'=H^{-T}\mathbf{\pi},Q'=H^{-T}QH^{-1},Q^{*'}=HQ^*H^T)

参数表示

\mathbf{x}=\mu\mathbf{a}+\lambda\mathbf{b}=(\mathbf{a},\mathbf{b})(\mu,\lambda)^T \;\;\text{with}\mathbf{l^T a}=\mathbf{l^T b}=0\\ \Downarrow \\ \mathbf{X}=\mu\mathbf{a}+\lambda\mathbf{b}+\nu\mathbf{c}=(\mathbf{a},\mathbf{b},\mathbf{c})(\mu,\lambda,\nu)^T=M\mathbf{x}\;\;\text {with}\;\;\mathbf{\pi^T a}=\mathbf{\pi^T b}=\mathbf{\pi^T c}=0


2.2 3D射影几何下的直线表示

在3D空间下,直线有4个自由度,因此应该用5维齐次矢量表示。但是5维矢量难以和点或者平面的4维矢量进行互动。在本书中有三种表示方式。

(为什么直线有4个自由度?)

方向向量
2个自由度。
方向向量即单位向量,或者任何模长的向量,有两种理解方式:

  • 三维向量有3个自由度,因为是单位向量,所以少了一个自由度;
  • 在球坐标系中只需两个角即可表示单位向量,不需要长度。

直线
4个自由度。首先有一个方向,这是2个自由度,以该方向为法向的过原点的面与该直线有唯一的交点,确定这个点就确定了这条直线。在平面上的点是2个自由度。

来源:https://blog.csdn.net/xhtchina/article/details/118727224

零空间与生成子空间表示

使用直线上的两个点来表示。假定\mathbf{A}\mathbf{B}是两个不重合的空间点,那么连接这两个点的直线由一个2\times4矩阵W的行的生成子空间表示。

W=\begin{bmatrix} \mathbf{A}^T \\ \mathbf{B}^T \end{bmatrix}

那么:

  1. W^T的生成子空间是在直线\lambda\mathbf{A}+\mu\mathbf{B}上的点束

  2. W的2维右零空间的生成子空间是以直线为轴的平面束

零空间

数学中,一个算子 A零空间是方程A\mathbf{v}=\mathbf{0}的所有解 v 的集合。它也叫做 A, 核空间。用集合建造符号表示为

\text{Null}(A)=\left\{ \mathbf{v}\in V:A\mathbf{v}=\mathbf{0} \right \}

根据对偶原理,一条直线可以由两平面交线来表示。直线可以表示为以\mathbf{P}^T\mathbf{Q}^T为行组成的一个2\times4矩阵W^*的行的生成子空间表示。

W^*=\begin{bmatrix} \mathbf{P}^T \\ \mathbf{Q}^T \end{bmatrix}

那么:

  1. W^{*T}的生成子空间是以改直线为轴的平面束\lambda'\mathbf{P}+\mu'\mathbf{Q}

  2. W^*的2维零空间的生成子空间是该直线上的约束

Plücker矩阵

连接AB两点的4\times4反对称矩阵

L=\mathbf{AB}^T-\mathbf{BA}^T

其元素为

l_{ij}=A_iB_j-B_iA_j

Plücker矩阵的主要性质:

  1. L的秩为2,它的2维零空间由以该直线为轴的平面束生成

  2. 表示4个自由度(反对称矩阵6个dof,只有5个比率有意义,\det{L}=0又减去一个dof)

  3. L=\mathbf{AB}^T-\mathbf{BA}^T\mathbb{P}^2中直线\mathbf{l}的矢量积公式\mathbf{l}=\mathbf{x}\times\mathbf{y}向4维空间的推广

  4. 矩阵L与确定它的点\mathbf{A}\mathbf{B}无关

  5. 在点变换\mathbf{X}^{'}=H\mathbf{X}下,该矩阵变换为L^{'}=HLH^T

由平面\mathbf{P}\mathbf{Q}的交线确定的对偶直线Plücker矩阵为

L^*=\mathbf{PQ}^T-\mathbf{QP}^T

在点变换\mathbf{X}^{'}=H\mathbf{X}下,该矩阵变换为L^{*'}=H^{-T}L^{*}H^{-1}

矩阵LL^*的元素关系

l_{12}:l_{13}:l_{14}:l_{23}:l_{42}:l_{34}=l^*_{34}:l^*_{42}:l^*_{23}:l^*_{14}:l^*_{13}:l^*_{12}

Plücker直线坐标

Plücker直线坐标就是Plücker矩阵的6个非零元素

\mathfrak{L}=\left \{ l_{12},l_{13},l_{14},l_{23},l_{42},l_{34} \right \}

由于\det L=0,因此元素满足

l_{23}l_{34}+l_{13}l_{42}+l_{14}l_{23}=0

只有满足上式才对应3维直线。

两条直线\mathfrak{L}\mathfrak{\hat{L}}共面的充要条件是(\mathfrak{L}|\mathfrak{\hat{L}})=l_{12}\hat{l}_{34}+\hat{l}_{12}l_{34}+l_{13}\hat{l}_{42}+\hat{l}_{13}l_{42}+l_{14}\hat{l}_{23}+\hat{l}_{14}l_{23}=0


2.3 三次绕线

\mathbb{P}^2中的2D二次曲线的参数化扩展到\mathbb{P}^3得来




2.4 变换层次

3D射影变换层次

螺旋分解

平面欧式变换可被视为三维欧氏变换的特例:平移向量\mathbf{t}被限制在该平面且旋转轴垂直于该平面。

然而,在一般情况下,3D欧式变换的旋转轴和平移不垂直。通过螺旋分解可以将3D欧式变换简化到类似2D变换

结论:任何具体的平移加旋转运动都等价预绕一根螺旋轴的旋转加沿该螺旋轴的平移。该螺旋轴平行于旋转轴。平移加绕正交旋转轴的运动(称平面运动)等价于仅仅绕某螺旋轴的一个旋转。(将t分解为与旋转轴垂直和平行的两部分)


2.5 无穷远平面

3D的无穷远平面{\pi}_{\infty}对应2D的无穷远线l_{\infty}对应,都是用来确定仿射性质(平行)的,具体来说

对应地,在射影变换H下,无穷远平面{\pi}_{\infty}是不动平面的充要条件是H是仿射变换(并非点点不动;并非唯一不动面)


2.6 绝对二次曲线

3D的绝对二次曲线\Omega_{\infty}对应2D的虚圆点,都是用来确定角度的。对应地,\Omega_{\infty}在标准坐标下表示为
\left.\begin{matrix}\begin{align} x_1^2+x_2^2+&x_3^2\\ &x_4 \end{align} \end{matrix}\right\}=0
对应地,在射影变换H下,绝对二次曲线\Omega_{\infty}是不动二次曲线的充要条件是H是相似变换(并非点点不动)。


2.7 绝对对偶二次曲面

3D的绝对对偶二次曲面Q_{\infty}^*对应2D的虚圆点对偶二次曲线C_{\infty}^*,其标准式为diag(1,1,1,0)

对应地

\cos{\theta}=\frac{\pi_1^TQ_{\infty}^*\pi_2}{\sqrt{(\pi_1^TQ_{\infty}^*\pi_1)(\pi_2^TQ_{\infty}^*\pi_2)}}

上一篇 下一篇

猜你喜欢

热点阅读