多视图几何算法(二):简介——投影几何

简介——投影几何

无处不在的投影几何

我们对于投影变换一般并不陌生「比方说看书的时候,正方形不像正方形,圆形像椭圆」,投影变换定义就是将这些平面的物体映射到图像上的一种变换。

那么投影变换后会保留什么几何上的特性?明显的,形状不算。「圆形变成椭圆了」长度也不算。角度、距离、距离的比例这些都不会被保留。我们知道,仅有很少的一部分几何会被保留下来。仅存的几个之一就是平直性——我们知道这是映射的最广泛的要求。「我们定义平面的投影几何为:任何对于平面上的点保持其直线的映射」

关于为什么我们需要投影几何的原因:由最开始的我们熟悉的欧式几何说起——欧式几何是关于角度和物件形状的几何学。「欧式几何我们在某些方面处理较为棘手——我们得经常为几何中的基本概念提出意外假设(比方说两条线的相交的特例就是平行线)」对于两条线相交的常用语义描述是说他们相交于无限远处。「这并非总是可信的,因为可能会与其他的格言冲突」比方说无穷点并不存在,这仅仅是一个方便的假设而已。「也许我们可以添加理想点——即平行线相交的点来做出欧式增强空间」

在添加了理想点后,欧式空间就变化了,成为了一个新的几何物件——投影空间。投影空间仅仅是欧式空间的拓展,其有着欧式空间的一切「包括点、线、距离、角度和事件发生率等」,仅仅是多了一个定义——两条直线总是相交于一点「虽然这个点可能在一个未知的无限点上」

Coordinates 坐标

在一个欧式2维空间中的点 $ (x,y) $ ,我们给这对数据加一个坐标,变成一个三维坐标 $ (x,y,1) $ 。「你可能会问为啥最后一个坐标非得是1不可,因为前两个坐标并非完全约束的, $ (kx,ky,k) $ 可能表达的是同一个点,我们也称其为点的 $ \overset{homogeneous \ coordinates}{同质坐标} $ 」

当然我们虽然有了 $ (x,y,1) $ 同质于 $ (x,y) $ ,但 $ (x,y,0) $ 的同质呢?很明显的,这个点是不存在的,我们通过这个能够得到一个无穷远点 $ (x/0,y/0) $

2维空间中的操作我们已经介绍了,同理,我们可以将这个方法拓展到n维空间中。我们将欧式空间 $ IR^n $ 拓展到投影空间 $ IP^n $ 仅需要将点表示为$ \overset{homogeneous \ vector}{同质向量} $ 即可。「我们将2维空间的称为无穷远的线,3维空间称为无穷远的面」

homogeneity 同质

传统意义上欧氏几何中的点都是相同的,没有特殊点。整个空间都是同质的。但加上了最后一位坐标后,就变得不一样了,有个点就被作为源点了。当然我们能找到另一种以另外点作为源点的坐标方法,比方说在欧式空间中坐标轴的平移和旋转都会导致坐标的改变,我们将这个看作是空间本身平移或旋转到另一个位置上了。我们称其为 $ \overset{Euclidean \ transform}{欧式变换} $ 。

更为一般的变换是对欧式空间 $ IR^n $ 做线性变换。这会使得这个空间平移、旋转甚至于线性伸缩。我们将这种变换称为 $ \overset{affine \ transform}{仿射变换} $

不论是欧式变换亦或是仿射变换,无穷远点始终在无穷远点。这些点在这些变换下,至少作为集合都是保留的。但它们在这两种变换下仍旧是可能有其他特殊的转换。

投影几何下的无穷远点就更为一般,它们和其他的点相同。投影空间和欧式空间相同,都是统一的。类比于欧式变换或仿射变换,我们可以定义投影空间下的投影变换。欧式空间 $ IR^n $ 下的线性变换能用矩阵和坐标的相乘来表示。同理,投影空间 $ IP^n $ 是用 $ (n+1) $ 型向量表示的同质坐标,而这个向量会和一个非奇异矩阵相乘。在这种映射下,无穷远的点可以被映射到任何一个点里。即无穷远的点不再会被保留。由此,一个投影空间 $ IP^n $ 中的投影变换可以被同质坐标的线性变换表示:

$$ X' = H_{(n+1) \times (n+1)} X $$

在计算机视觉问题中:投影空间被广泛的应用于一种表示3维世界的方便方法。只需要将其拓展到3维投影空间即可。在真实空间中亦或是它的图像中,都不包括无穷远的点,而我们就要关注于那些虚构的点——即图像中的无穷远线和世界中的无穷远面。我们仍需记住虽然在投影空间中,但那些无穷远的点线面依旧特殊。「虽然和我们纯净投影空间的实质相背,但对于问题的解决有益」在必要时我们可以重新去强调无穷远处的线和面的特殊性。


仿射和欧式几何

我们已经知道投影几何的起源,在此我们又可以重新回看仿射几何和欧式几何的实现。

仿射几何

仿射几何

我们最开始需要明晰的几点:投影空间是同质的,其中并没有特殊的坐标框架。这空间里没有平行线「他们最终相交在无穷远点」。这空间也没有无穷远点「所有的点都是等价的」。即平行在投影几何中是无意义的。

为了寻找其中的意义,我们需要定义某些特殊的线,并认为它是在无穷远的线。「众点平等,但有些点更平等」

为此我们从一张白纸出发,想象它无限延展成为一个投影空间 $ IP^2 $ 。我们能看到的就是空间的一小部分,其看起来就像是原始欧式空间的一片。我们先画一条直线,并宣称其是一条在无限远的直线,然后我们再画出两条其他的直线与此被标出的直线相交。「你知道这两条线是相交于“无穷远处的直线”,即它们是平行线。」此外,平行面也是同样的道理。我们想象一下一张记录地球上的一个特别平的平面上的照片。我们能看到在这个平面上无穷远的点在照片上是显示为平行线。「你看图像上的铁轨是不是像在地平线上相交?」在图像上高于地平线的点「就是天上的点」和在地上的点并不相似。然而当我们将相应的线推回到相机的内部后,它会相交于相机后平面上的一个点上。因此对于现实中的物会在相机内部有一个一对一关系的点存在。「即一个在现实世界中无限远的点对应于图像中的一个完全的平行线」在我们的观念中,现实平面和它的像其实是投影平面的几何替换表述,加上了一条区别线而已。这种投影平面和区别线的几何被称为仿射几何,而任何这种将一个空间中的区别线映射到另外一个空间中的变换我们称为仿射变换

通过这种定义一条特别的“无穷远线”的方式,我们能够定义平面中的直平行线。然而,还有一些概念在此中仍然起作用。比方说,我们可以定义在平行线上的两点之间的平均间距:「比方说A,B,C,D四个点,且 $ AB \parallel CD $ ,那么如果AC和BD也是平行线时,我们就能够认为AB和CD之间是等距的」

欧式几何

欧式几何

上面的仿射几何是投影空间中的特例,我们只是挑出了一条特别的线「或者面(看维数)」。同样的,我们再特例话无限仿射几何中的线或者面,就能够得到我们所需要的欧式几何了。为此我们需要引入概念—— $ \overset{absolute \ conic}{绝对圆锥曲线} $ 。

开始我们先考虑2维几何,就用圆来说吧。「注意一个圆并非是仿射几何中的一个概念(你看不管如何伸展这个平面,都会保留无穷远处的线,并将这个圆转换为椭圆)所以仿射几何并不能区别圆和椭圆的区别」

在欧式几何中,它们却有十足的区别:

  • 代数上,椭圆是由一个二元二次方程描述的
  • 几何上,两个椭圆一般有4个交点,而两个圆一般不会多于2个

代数上,这里相交两条2维弧线,应该是去解2个4次方程,理应有4个解,但为啥圆只有2个呢?

( ̄▽ ̄)~■□~( ̄▽ ̄)当然是他们还有两个复交点啊!

我们使用同质向量 $ (x,y,\omega) $ 去表示:

$$ (x-a\omega)^2 + (y-b\omega)^2 = r^2\omega ^2 $$

这个方程表示这个圆是以 $ (x_0,y_0,\omega_0)^T = (a,b,1)^T $ 为圆心的。

即每个圆都会经过这两个点,理所应当,它们也是所有圆的交点。而他们的最后一位是0,即它们在无穷远的线上。由这个显而易见的原因,它们被称为平面的 $ \overset{circular \ point}{虚圆点} $

上面的给我们定义欧式几何的线索:我们从投影几何中引申,首先挑出一个无限远处的线,而两个虚圆点就在这条线上。「当然它们是复点」现在我们就能够定义:任意一个经过了这两个虚圆点的圆锥曲线。「在标准的欧式坐标系统中,虚圆点有坐标 $ (1,\pm i ,0)^T $ 」当我们确定投影平面的欧式结构时,我们可以指定任何一条直线以及任何在上面的两(复)点,把它们认作无穷远线以及虚圆点。

用这种视角,我们可以看到一般圆锥曲线会经过平面内5个任意的点,这个数和一般4次方程的系数相同: $ ax2+by2+\cdots +f\omega ^2 = 0 $ 。「而圆只需要3个点就可以定义了(当然我们可以说圆是必定经过两个特殊虚圆点嘛)」

特别的,那些角度和长度比例的概念也能通过虚圆点来表示出来。

3维欧式几何

3维欧氏几何

与欧式平面定义相似,我们能将同样的想法定义到3维欧式几何上。我们将其看作两个球体的相交于一个愿平面上。对于同质坐标 $ (X,Y,Z,T) $ 所有的球体都会在无限远处相交于以 $ X^2 + Y^2 + Z^2 = 0 \qquad T=0 $ 所定义的曲线上。「这是一个存在于无穷远平面上的2维曲线(或者圆锥曲线)」我们将其称为 $ \overset{absolute \ conic}{绝对圆锥曲线} $ 而这个是我们称为 $ \overset{camera \ calibration}{相机标定} $ 的核心。

当然绝对圆锥曲线仅在欧式坐标系统中被上述等式所定义。3维欧式空间就是投影空间在摘出这个之后的特例化。


单词

camera calibration 相机标定
Precise 清晰的
unambiguous 不含糊的
honed 使……锋利
postpone 延期
ubiquitous 无处不在的
projective geometry 投影几何
planar 平面的
property 财产、属性
perpendicular 垂直的
radii 半径(radius)的复数
troublesome 麻烦的
intersection 相交
dictum 格言
conflict 冲突
Coordinates 坐标
equivalent 等价的
homogeneous 同性质的
homogeneity 同质
stretch 伸展
affine transform 仿射变换
context 背景、上下文
analogy 类比
arbitrary 任意的
fictitious 虚构的
intersect 相交
correspond 相类似
alternative 可替代的
distinguished 杰出的
interval 间隔、间距
arbitrary 任意地
stretch 伸展
distinct 明显的
circular point 虚圆点(别称:圆点)
clue 线索
designate 指定
conic 圆锥曲线
perpendicular 垂直的