美文网首页
第二章 3D射影几何和变换

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

作者: hmta_dhs | 来源:发表于2024-03-24 22:01 被阅读0次

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


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

  • 2D点&2D线3D点&3D面的类比扩展
  • 3D直线表示
  • 2D虚圆点及其对偶二次曲线在3D射影几何的对应:绝对二次曲线绝对对偶二次曲面

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)

  • 二次曲面自由度为9(4\times4对称矩阵的10自由度减去一个齐次),9点确定一个二次曲面

  • 如果矩阵Q是奇异的,则该二次曲面是退化的

  • 二次曲面配极:极平面\pi=Q\mathbf{X},当Q为非奇异并且X在二次曲面之外时,极平面由过\mathbf{X}且与过Q相切的射线组成的锥与Q相接触的点来定义。如果\mathbf{X}Q上,那么Q\mathbf{X}Q在点\mathbf{X}的切平面。

  • 平面与二次曲面的交线是二次曲线

  • 二次曲面的分类:

二次曲面的分类

射影变换(\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}对应,都是用来确定仿射性质(平行)的,具体来说

  • 两平面平行的充要条件是其交线在{\pi}_{\infty}
  • 如果一条直线与另一条直线或平面交于{\pi}_{\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是相似变换(并非点点不动)。

  • 所有的圆交\Omega_{\infty}于两点,该两点为该圆支撑平面的虚圆点
  • 所有球面交\pi_{\infty}\Omega_{\infty} (对应:每一圆周交\mathbf{l}_{\infty}于虚圆点)
  • 两条3D直线的方向分别是d_1d_2,则夹角为\cos{\theta}=\frac{d_1^T\Omega_{\infty}d_2}{\sqrt{(d_1^T\Omega_{\infty}d_1)(d_2^T\Omega_{\infty}d_2)}}

2.7 绝对对偶二次曲面

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

对应地

  • 在射影变换H下,绝对对偶二次曲面Q_{\infty}^*不动的充要条件是H是相似变换。
  • 无穷远平面\pi_{\infty}Q_{\infty}^*的零向量(无穷远线l_{\infty}C_{\infty}^*的零向量)
  • 两平面\pi_1\pi_2的夹角

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

相关文章

  • Homography|单应性

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

  • 2D射影几何与变换

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

  • 单应性 (Homography)

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

  • OpenCV实现图像的几何变换

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

  • SceneKit框架之SCNode

    SCNNode是什么 苹果文档原话:SCNNode是场景图的结构元素,表示3D坐标空间中的位置和变换,可以将几何图...

  • 16.帕斯卡定理

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

  • 几何变换

    几何变换是指将一幅图像映射到另一副图像内的操作,根据映射关系的不同,有缩放、翻转、仿射变换、透视、重映射等。 1....

  • 几何变换

    几何变换详解在三维图形学中,几何变换大致分为三种,平移变换(Translation),缩放变换(Scaling),...

  • 几何变换

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

  • 几何变换

    缩放 在shape属性中,第一个值对应的是行数,第二个值对应的是列数 在dsize参数中,第一个值对应的是列数,第...

网友评论

      本文标题:第二章 3D射影几何和变换

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