多视图几何算法(三):简介——相机投影

简介——相机投影

相机投影

多视图几何的主旨之一就是如何使用2维去表示3维世界,以及通过相片上的信息去推演3维结构。

这种将3维世界向2维的降维操作我们称之为 $ \overset{projection}{投影} $ 。一般的方法是 $ \overset{central \ projection}{中心投影} $ ——即从3维现实世界中的射线通过空间中的一个定点「即投影中心」,这条线会与空间中的一个被选为 $ \overset{image \ plane}{像平面} $ 相交,这相交的那些点一起表示了点的像。

这就是相机的基本模型,即现实世界中的一个点通过相机的镜头并对底片或者数字设备做出影响,创建那个点的像。如果忽略像聚焦或者镜头厚度,近似的所有线都会经过那个单点——镜头的中心点。

在对成像过程的建模应用投影几何时,我们通常会将现实世界当作3维空间,即带有无限远点的欧式空间 $ IR^3 $ 。而同时对于图片的模型当作一个2维的投影空间 $ IP^2 $ 。而中心投影就是一个从 $ IP^3 $ 到 $ IP^2 $ 的映射。

假设我们将 $ IP^3 $ 中的点协作同质坐标的形式,即 $ (X,Y,Z,T)^T $ ,让投影中心为原点 $ (0,0,0,1)^T $ ,即对于确定的 $ X,Y,Z $ 和 变化的 $ T $ 的点的集合,它们共同组成了一条线,且通过投影中心,即他们最终都会成像于同一点。事实上,像点是在 $ IP^2 $ 中的与 $ (X,Y,Z)^T $ 有着同质坐标的点。

因此,整个映射可以被表示为一个3维同质坐标的映射,即由一个 $ 3 \times 4 $ 的带有 $ \overset{block \ structure}{分块结构} $ 矩阵 $ P = [I_{3 \times 3} \vert O_3] $ 这个矩阵我们将其称为相机矩阵

总的来说我们可以将一个投影相机对空间的一个点的操作表达为一个对同质坐标的线性变换:

$$ \begin{bmatrix} x \\ y \\ \omega \\ \end{bmatrix} = P_{3 \times 4} \begin{bmatrix} X \\ Y \\ Z \\ T \\ \end{bmatrix} $$

如果所有的点在平面上「比方说我们取 $ Z = 0 $ 」,这个线性变化还可以简化:

$$ \begin{bmatrix} x \\ y \\ \omega \\ \end{bmatrix} = P_{3 \times 3} \begin{bmatrix} X \\ Y \\ Z \\ \end{bmatrix} $$

这同样也是投影变换


相机如点

之前的中心投影,只要通过了投影中心的点都会成像在同一点,我们可以大胆地做出假设,只要是在这条线上的点,都是等价的。再进一步,将通过投影中心的这条线用以代表像点。即:所有像点和通过投影中心的线是等价的。

如果我们将通过 $ (0,0,0,1)^T $ 和 $ (X,Y,Z,T)^T $ 的线用它的前三个坐标 $ (X,Y,Z)^T $ 来表示。「明显的 $ k(X,Y,Z)^T $ 表示的同一条线」因此这些线自身也可以用同质坐标表示。实际上它们组成了2维线空间。这些线本身的集合被视作代表了像空间 $ IP^2 $ 。这中间最为重要的就是投影中心了。「废话,它决定了线的集合」即两个在空间中相同点拍摄的相片是 $ \overset{projective \ equivalence}{投影等价} $ 的。这些像可以被相互映射,通过投影变换,其中还不需要任何关于相机中心的任何3D点信息或者位置信息。


标定的相机

我们要了解现实世界和像之间的关系,需要重新回来看欧氏几何来表示。

我们知道欧式几何对于3维世界是指定了 $ IP^3 $ 中的一个特别面,并称其为无穷远面,以及一个特殊的 $ \overset{conic}{圆锥曲线} \Omega $ 并称其为绝对圆锥曲线。

对于一个并非在无限远处的相机,无穷远处平面是会一对一映射到像平面。「因为像平面上的任何一个点都对应了空间中的一条线与无穷远面交于的一点」即无穷远平面并不会告诉我们什么关于像的新信息。而绝对圆锥曲线,作为无穷远处的圆锥曲线也势必会被投影到像中的一条圆锥曲线上。我们称其为 $ \overset{the \ Image \ of \ the \ Absolute \ Conic}{绝对圆锥曲线的像} $ ,或者称其为 $ IAC $ 。如果 $ IAC $ 的位置我们已经知道了,那么我们称这个相机已经标定

在一个标定的相机中,还会遇到从像中的两个点去 $ \overset{back-projected}{反投影} $ 寻找两条线之间的夹角的问题。我们已经知道空间中两条线的夹角由它们在无穷远处与平面相遇的位置,与绝对圆锥曲线相关。

由于在标定的相机中,无穷远平面和绝对圆锥曲线 $ \Omega_{\infty} $ 会一对一投影到像平面和 $ IAC $ 上,这里将 $ IAC $ 定义为 $ \omega $ 。

此时两个像点和 $ \omega $ 之间的投影关系等价于反投影线和无穷远平面和绝对圆锥曲线 $ \Omega_{\infty} $ 的相交。

就结论上来说,只要知道了 $ IAC $ ,我们就能通过直接测量图像去测量任何两条线的角度了。因此对于一个标定了的相机,我们仅需计算一个图像块表示的视图区域或者决定是否一个像中的椭圆会被反投影成一个 $ \overset{circular \ cone}{圆锥体(面)} $ 。而这也是对于场景重建中欧式结构的确定息息相关的。


从画作中进行3维重建

从画作中进行3维重建

通过投影几何这个技术,我们可以从一张简单的图像上进行场景重建。这其中少不了对于成像的场景假设。

典型的假设就是用平行线和消失点去确定场景的仿射结构。

举个例子来说,对相片中的已观测平面去确定那些无穷远线。我们的关于角度的知识「你说假设也行」告诉我们,大多数显而易见的 $ \overset{orthogonal \ lines}{正交线} $ 和正交面,都能被用于去升级到欧几里得的仿射重建上。

当然现阶段这个过程还不是全自动的。然而投影几何的知识能被用于那些允许用户导向的对场景的单视图重建系统中。

这种技术已经被用于重建从旧时代画作导出3维纹理视图模型的应用上。「特别是文艺复兴时期那些透视结构良好的画作上」


单词

lens 镜头
impinge 影响、妨碍
customary 惯常的
allowance 补贴、定额
make allowances for 体谅、考虑到
arbitrary 随机的、专断的
patch 块
cone 圆锥体
orthogonal 直角的、正交的
texture 质感、手感、(文章、音乐)特色、纹理
perspective 透视