三视图几何
在上一次博文中,讨论了如何从一组点的两个视图重建一组点,以及相机的相对位置。 重建可能仅限于空间的射影变换,以及对相机矩阵的相应调整。
在本博文中,我们考虑三种观点的情况。 而对于两个视图,基本代数实体是基础矩阵(fundamental matrix),对于三个视图,这个角色由三焦点张量扮演。
三焦点张量是3×3×3数字阵列,其涉及三个视图中对应点或线的坐标。 正如基础矩阵由两个相机矩阵确定,并确定它们直到射影变换。
因此在三个视图中,三焦点张量量由三个相机矩阵确定,并且反过来确定它们,再次直到射影变换。 因此,三焦点张量包含三个相机的相对射影几何形状。
通常我们将张量的一些指数写为下指数(low indices)而另一些指数作为上指数(high indices)。
这些被称为协变(covariant)和逆变(contravariant)指数。 三焦张量的形式为 T i j k \mathcal{T}_i^{jk} Tijk,具有两个上指数和一个下指数。
三个视图中的图像实体之间的最基本关系涉及两条线和一个点之间的对应关系。 我们考虑在一个图像中的点 x \rm x x和在另外两个图像中的两个线 I ′ \rm I^\prime I′和 I ′ ′ \rm I^{\prime\prime} I′′ 的一个对应关系 x ↔ I ′ ↔ I ′ ′ \rm x \leftrightarrow I^\prime \leftrightarrow I^{\prime\prime} x↔I′↔I′′。
这种关系意味着在空间中有一个点 X \rm X X映射到第一个图像中的 x \rm x x,而且在另外两个图像中映射成位于线 I ′ \rm I^\prime I′和 I ′ ′ \rm I^{\prime\prime} I′′ 上的两个点 x ′ \rm x^\prime x′ 和 x ′ ′ \rm x^{\prime\prime} x′′ ,并且这两个点在线。 然后通过三焦点张量关系将这三个图像的坐标相关联:
(1) ∑ i j k x i l j ′ l k ′ ′ T i j k = 0 \sum\limits_{ijk}x^il^\prime_jl^{\prime\prime}_k\mathcal{T}_i^{jk}=0\tag{1} ijk∑xilj′lk′′Tijk=0(1)
该关系在张量的元素之间给出简单线性关系。 利用足够多的这种对应关系,可以线性地求解张量的元素。
幸运的是,人们可以从点对应关系 x ↔ x ′ ↔ x ′ ′ \rm x\leftrightarrow x^\prime \leftrightarrow x^{\prime\prime} x↔x′↔x′′获得更多等式。
实际上,在这种情况下,人们可以选择任何通过点 x ′ \rm x^\prime x′ 和 x ′ ′ \rm x^{\prime\prime} x′′的两条线 I ′ \rm I^\prime I′和 I ′ ′ \rm I^{\prime\prime} I′′ 并生成公式1那样的关系。
由于可以选择两条通过 x ′ \rm x^\prime x′的独立线,另外两条通过 x ′ ′ \rm x^{\prime\prime} x′′,因此可以用这种方式获得四个独立的方程。 总共七个点对应足以用这种方式线性地计算三焦点张量。 它可以使用非线性方法从最少六个点对应计算。
然而,张量的27个元素不是独立的,而是由一组所谓的内部约束(internal constraints)相关联。 这些约束非常复杂,但是可以以各种方式计算满足约束的张量,例如通过使用6点非线性方法。 基础矩阵(它是2视图张量)也满足内部约束但是相对简单的:元素服从 det F = 0 \det \rm F=0 detF=0。
与基础矩阵一样,一旦三焦点张量已知,就可以从中提取三个摄像机矩阵,从而获得场景点和线的重建。 与以往一样,这种重建仅在3D射影变换时才是唯一的; 这是一个射影重建。
因此,我们能够将两个视图的方法概括为三个视图。 使用这种三视图方法进行重建有几个优点。
- 可以使用线和点对应的混合来计算投影重建。 使用两个视图,只能使用点对应关系。
- 使用三个视图为重建提供了更大的稳定性,并且避免了仅使用两个视图进行重建时可能发生的不稳定配置。