《计算机视觉中的多视图几何》笔记(3)

3 Projective Geometry and Transformations of 3D

这章主要讲的是3D的射影几何,与2D的射影几何差不多。主要区别是:

  1. 3D射影几何对偶的是点和平面,直线是自对偶的。

  2. 3D空间中直线有4个自由度,这一现象并不是那么容易直接得出。一种方法是把直线用正交平面两个交点表示。

    文章目录

    • [3 Projective Geometry and Transformations of 3D](#3 Projective Geometry and Transformations of 3D)
      • [3.1 Points and projective transformations](#3.1 Points and projective transformations)
      • [3.2 Representing and transforming planes, lines and quadrics](#3.2 Representing and transforming planes, lines and quadrics)
        • [3.2.1 Planes](#3.2.1 Planes)
        • [3.2.2 Lines](#3.2.2 Lines)
      • [3.2.3 Quadrics and dual quadrics](#3.2.3 Quadrics and dual quadrics)
        • [3.2.4 Classification of quadrics](#3.2.4 Classification of quadrics)
      • [3.4 The hierarchy of transformations](#3.4 The hierarchy of transformations)
      • [3.5 The plane at infinity](#3.5 The plane at infinity)
      • [3.6 The absolute conic](#3.6 The absolute conic)
      • [3.7 The absolute dual quadric](#3.7 The absolute dual quadric)

3.1 Points and projective transformations

三维空间的齐次坐标就是 x 1 , x 2 , x 3 , x 4 x_1,x_2,x_3,x_4 x1,x2,x3,x4,比二维空间多一个。 x 4 x_4 x4一般是1,如果是0那就代表无穷远的点。

三维空间投影矩阵 H H H是 4 × 4 4 \times 4 4×4的,有15个自由度。

3.2 Representing and transforming planes, lines and quadrics

三维投影空间中点和面是对偶的。也就是说它们可以互相交换运算中的位置。

3.2.1 Planes

三维空间面就是:
π 1 X + π 2 Y + π 3 Z + π 4 = 0 \pi_1 X + \pi_2 Y +\pi_3 Z + \pi_4 = 0 π1X+π2Y+π3Z+π4=0

π 1 , π 2 , π 3 \pi_1,\pi_2,\pi_3 π1,π2,π3就是平面的法向量。

相交关系

  1. 三点确定一个平面
  2. 两个相交平面确定一个线
  3. 三个相交平面确定一个点

下面来讨论这几个关系的代数表述。

三个点确定一平面 我们假设点是 X i X_i Xi, 平面式 π \pi π

确定平面需要解以下方程:

X 1 T X 2 T X 3 T \] π = 0 \\left\[ \\begin{matrix} X_1\^T \\\\ X_2\^T \\\\ X_3\^T \\\\ \\end{matrix} \\right\] \\pi = 0 X1TX2TX3T π=0 书中p67 3.4式给了一个解析解。 **三个平面确定一个点** 把上述方程点和面的位置换一下就行。 \[ π 1 T π 2 T π 3 T \] X = 0 \\left\[ \\begin{matrix} \\pi_1\^T \\\\ \\pi_2\^T \\\\ \\pi_3\^T \\\\ \\end{matrix} \\right\] X = 0 π1Tπ2Tπ3T X=0 ### 3.2.2 Lines 线段在三维空间中表示比较尴尬,因为点和面是对偶的,如果要表示线,那就需要5维向量。本节介绍了3种方法,我们掌握一种就可以了。 **零空间理论** 我们假设 A , B A,B A,B是两个点,经过这两个点的直线除了叉乘,还可以表示为: W = \[ A T B T \] W= \\left\[ \\begin{matrix} A\^T\\\\ B\^T \\end{matrix} \\right\] W=\[ATBT

那么把 A , B A,B A,B换成平面,上式就是两个平面相交形成的点。

3.2.3 Quadrics and dual quadrics

三维空间中的二次曲面定义如下:
X T Q X = 0 X^T Q X = 0 XTQX=0

Q是一个 4 × 4 4 \times 4 4×4的对称矩阵,主要有以下性质:

  1. Q有9个自由度
  2. 8个点确定一个二次曲面
  3. Q如果是奇异矩阵,那么二次曲面退化了
  4. 二次曲面可以确定一个点和一个极平面 π = Q X \pi=QX π=QX
  5. 平面 π \pi π和Q的交线就是圆锥
  6. 如果点变换是 X ′ = H X X'=HX X′=HX,那么Q上的点就会被变换成 Q ′ = H − T Q H − 1 Q'=H^{-T} Q H^{-1} Q′=H−TQH−1
  7. Q Q Q的对偶定义为 Q ∗ Q^* Q∗,是由与Q相切的面组成的

3.2.4 Classification of quadrics

3.4 The hierarchy of transformations

  1. 投影变换15个自由度,不变量是相交的平面、垂直的平面
  2. 仿射变换12个自由度,不变量是平行的平面、体积之间的比例、无穷远处的平面.
  3. 相似变换7个自由度,不变量是无穷远处的圆锥
  4. 刚体变换6个自由度,不变量是体积

3.5 The plane at infinity

我们记得在二维投影空间中有一个无穷远的直线 l ∞ l_{\infty} l∞,那么类似地,在三维投影空间就有一个无穷远平面 π ∞ \pi_{\infty} π∞,在该平面上还有一个绝对圆锥 Ω ∞ \Omega_{\infty} Ω∞

  1. π ∞ \pi_{\infty} π∞是两个平行平面的交点
  2. 平行线的交点在 π ∞ \pi_{\infty} π∞上,与平面平行的直线也在 π ∞ \pi_{\infty} π∞上

结论3.7 无穷远平面在投影变换下保持不变当且仅当该变换是仿射变换。

3.6 The absolute conic

绝对圆锥 Ω ∞ \Omega_{\infty} Ω∞是 π ∞ = ( 0 , 0 , 0 , 1 ) \pi_{\infty}=(0,0,0,1) π∞=(0,0,0,1) 上的圆锥,满足:
X 1 2 + X 2 2 + X 3 2 = 0 X 4 2 = 0 X_1^2 + X_2^2 + X_3^2 = 0 \\ X_4^2=0 X12+X22+X32=0X42=0

写成圆锥表达式就是:
( X 1 , X 2 , X 3 ) I ( X 1 , X 2 , X 3 ) T = 0 (X_1,X_2,X_3)I(X_1,X_2,X_3)^T = 0 (X1,X2,X3)I(X1,X2,X3)T=0

结论3.9 绝对圆锥在投影变换下保持不变,当且仅当该变换是相似变换。

所有的圆都和绝对圆锥相交于两点,所有的球都和绝对圆椎相交于 π ∞ \pi_{\infty} π∞

度量性质 当我们知道了绝对圆锥,我们就可以恢复度量性质,比如直线之间的夹角:

cos ⁡ θ = d 1 T Ω ∞ d 2 ( d 1 T Ω ∞ d 2 ) ( d 1 T Ω ∞ d 2 ) \cos \theta = \frac{d_1^T \Omega_{\infty} d_2}{\sqrt{(d_1^T \Omega_{\infty} d_2)(d_1^T \Omega_{\infty} d_2)} } cosθ=(d1TΩ∞d2)(d1TΩ∞d2) d1TΩ∞d2

3.7 The absolute dual quadric

就是由与绝对圆锥相切的平面组成的圆锥,记为 Q ∞ ∗ Q_{\infty}^* Q∞∗,对偶圆锥也在相似变换下保持不变。 π ∞ \pi_{\infty} π∞是 Q ∞ ∗ Q_{\infty}^* Q∞∗的零向量。

相关推荐
智能砖头18 分钟前
本地文档AI助手:基于LangChain和Qwen2.5的智能问答系统
人工智能·python
聚客AI2 小时前
🛫AI大模型训练到发布一条龙:Hugging Face终极工作流
人工智能·llm·掘金·日新计划
新智元4 小时前
刚刚,谷歌 AI 路线图曝光:竟要抛弃注意力机制?Transformer 有致命缺陷!
人工智能·openai
Maynor9964 小时前
我是如何使用Claude Code
人工智能
知舟不叙4 小时前
基于OpenCV的图像增强技术:直方图均衡化与自适应直方图均衡化
人工智能·opencv·计算机视觉·图像增强
speop4 小时前
【datawhale组队学习】共读AI新圣经
人工智能·学习
Blossom.1185 小时前
基于深度学习的智能图像增强技术:原理、实现与应用
人工智能·python·深度学习·神经网络·机器学习·tensorflow·sklearn
moonsims5 小时前
高开放性具身智能AIBOX平台—专为高校实验室与科研项目打造的边缘计算基座(让高校和科研院所聚焦核心算法)
人工智能
nbsaas-boot5 小时前
技术选型指南:如何选择更适合项目的开源语言及其生态系统
人工智能·架构
AI-星辰5 小时前
始理解NLP:我的第一章学习心得
人工智能·大模型·llm·nlp