举个例子

举个例子:
为什么尺度等价性矩阵自由度减一 - 图1,问满足为什么尺度等价性矩阵自由度减一 - 图2这个条件的矩阵的自由度是多少?

  • 对于为什么尺度等价性矩阵自由度减一 - 图3一共有9个变量,自由度为9
  • 对于A的每一个行向量,比如为什么尺度等价性矩阵自由度减一 - 图4,只要确定了其中两个元素的值就能算出第三个元素的值(因为为什么尺度等价性矩阵自由度减一 - 图5),那么自由度减去3
  • 再看为什么尺度等价性矩阵自由度减一 - 图6,对A乘以任意常数为什么尺度等价性矩阵自由度减一 - 图7任然满足原等式即为什么尺度等价性矩阵自由度减一 - 图8,所以为什么尺度等价性矩阵自由度减一 - 图9是尺度等价的。利用这个性质,我们可以对矩阵A进行一下处理,比如令为什么尺度等价性矩阵自由度减一 - 图10或者说对A每一个元素除一个为什么尺度等价性矩阵自由度减一 - 图11,这样,我们就令矩阵A的为什么尺度等价性矩阵自由度减一 - 图12处的元素为1,然后求其他元素的值,再通过缩放,我们就得到了所有满足条件的矩阵为什么尺度等价性矩阵自由度减一 - 图13。所以,因为尺度等价性,自由度减1。所以最后问题的答案是:自由度为5.

本质矩阵的自由度

对于本质矩阵E(Essential Matrix),因为为什么尺度等价性矩阵自由度减一 - 图14,平移和旋转各有3个自由度,故为什么尺度等价性矩阵自由度减一 - 图15共有6个自由度。但是由于尺度等价性,故为什么尺度等价性矩阵自由度减一 - 图16实际上有5个自由度。如何理解呢?参照上面的例子,对于对极约束为什么尺度等价性矩阵自由度减一 - 图17,有:
image.png
现在把矩阵E展开,写成线性模式:
image.png
对于左边的为什么尺度等价性矩阵自由度减一 - 图20的系数矩阵,如果存在解为什么尺度等价性矩阵自由度减一 - 图21,那么对为什么尺度等价性矩阵自由度减一 - 图22乘以任意常数k,等式依然成立。所以E具有尺度等价性,自由度减1。如果抛开E这个本质矩阵的约束,考虑任意矩阵,自由度减1后只要求解8个变量即可,这就是八点法(Eight-point-algorithm)的由来。

而从E本质矩阵的角度出发,E具有5个自由度,意思是我们最少可以用5对点来求解E,这就是5点法

为什么最少能用5个点求解本质矩阵

自由度9-1可以理解,但自由度是6-1。这是我学习时候的困惑。下面给出我的理解:

首先说6个自由度。所谓为什么尺度等价性矩阵自由度减一 - 图23的本质矩阵E不过是由三个轴上的位移为什么尺度等价性矩阵自由度减一 - 图24和三个轴上的旋转角度为什么尺度等价性矩阵自由度减一 - 图25通过一定的组合构成的矩阵。(为什么尺度等价性矩阵自由度减一 - 图26代入这几个量的公式实在是太难敲了就不敲了),下面只就给出旋转矩阵的公式:
image.png
虽然E有9个元素,但是当我们确定了为什么尺度等价性矩阵自由度减一 - 图28,我们就确定了为什么尺度等价性矩阵自由度减一 - 图29的值,同理于为什么尺度等价性矩阵自由度减一 - 图30。所以有9个元素的本质矩阵有6个自由度。但是由于尺度等价性,我们将前文提到的E展开后的向量为什么尺度等价性矩阵自由度减一 - 图31中的为什么尺度等价性矩阵自由度减一 - 图32置为1,这里为什么尺度等价性矩阵自由度减一 - 图33为什么尺度等价性矩阵自由度减一 - 图34这个元素涉及到的变量有为什么尺度等价性矩阵自由度减一 - 图35五个,因为我们将e9置了1,所以当我们知道这五个变量的其中4个之后,剩下一个变量就可以通过这个等式推出来,自由度减1。

以上都是个人见解,如果有不对的地方非常希望大家能够指出来,一起交流~