雪花台湾

为什么本质矩阵5自由度,基础矩阵7自由度,单应矩阵8自由度?

一般的说法是基础矩阵7自由度是因为一共9个数,秩为2(行列式不是0)减去一个自由度,尺度等价性再减去一个自由度,但是为什么本质矩阵也满足上面俩条件但是只在6的基础上减去一个自由度呢?


谢邀。

考虑这些矩阵的自由度时,重点在于理解parameterization之后有多少个待定的参数,然后明确一个点,在双视图几何中,fundamental matrix以及essential matrix仅由相机的内参两张图片之间的相对变换决定,与绝对位置没有关系。接下来理一下这几个矩阵的自由度问题:

  1. 最简单的homography(单应矩阵 ),可以将二维射影空间 中的一个点 变换到 中的另一个点 。根据射影空间的性质,必然存在一个 的矩阵,使得 。回顾齐次坐标系的定义,放缩一个点的坐标依然得到这个点本身,所以有 。换句话说,在不加任何限制的情况下,仅仅考虑二维射影空间中的变换,一个单应矩阵 可由9个参数确定,扣去scale的一个,自由度为8。这个部分很好理解。

2. 接下来考虑fundamental matrix(基础矩阵 )的情况。 的推导有两种方法(Chapter 9 in [1]),本质上都是求解图片A中的一个点 与图片B中对应的点 应该满足什么样的约束。第一种是我个人比较喜欢的逆投影表示,由纯矩阵运算推导,过程可以参见这个答案,另一种是几何方法推导,利用transfer via a plane的方法,利用第二种方法可以比较快地推导出自由度为7。这个方法包含以下三步:

由1可知, 作为一个homography matrix,自由度是8,然而 作为一个skew symmetric matrix,秩只有2,由 ,得知 必然为singular matrix,这个额外的条件使得 的自由度为7。

3. 最后来看Essential matrix(本质矩阵 ),也就是题主觉得不解的地方。因为 可以理解为 的一个特例,其中涉及的两个投影矩阵都不包含相机内参。注意开头所说的,双视图几何中绝对位置不重要,所以我们可以不失一般性地假定图片A位于 ,旋转为 ,图片B位于 ,旋转为 。这样, 退化为 ,而 退化为 。换言之,我们可以得到 。 其中 有3个自由度, 有3个自由度,考虑translation在scale上的等价性减去1个自由度,得到自由度为5。

作为对比,我们看一下究竟是什么使得 的自由度比 要少,可以看到其核心就在于 去除了两个相机内参 的影响。在这个答案的结论中,我们得知 ,也就是 。这里可以看出,一个最简单的 也需要4个参数定义,两个内参矩阵就是8个参数,哪怕考虑了 的相对关系一共只需要6个参数,加起来也已经14个参数,超过了最后 矩阵的9个参数,所以 可以用9个参数为起点来考虑。作为对比,在 中, 一共6个参数已经比9要小,所以应该以6作为起点来考虑。

另外一个有趣的点是,为什么 都考虑了scale的等价性,而只有 考虑了singularity的限制呢?这个问题我个人的理解是,singularity的约束实际上来自于skew symmetric矩阵的一个特性:前两个singular value必然相等且第三个singular value为0。在 的计算中,一个homography矩阵 会使得相乘后的结果矩阵singular value发生变化,进而导致结果矩阵可能出现non-singular的情况,因而需要加上singularity的约束。在 的计算中,旋转矩阵 不会改变singular value的值(证明请google之),这使得相乘后的结果依然保持了前两个singular value相等且第三个singular value为0的性质,singularity得到了保持,也就不需要额外的singularity约束了。

Reference:

[1] Hartley, R., Zisserman, A. (2003). Multiple view geometry in computer vision. Cambridge university press.


推荐阅读:
查看原文 >>
相关文章