为什么尺度等价性要减少一个自由度(本质矩阵举例)

为什么尺度等价性要减少一个自由度(本质矩阵举例)

1. 举个例子

举个例子:
x = [ 1 , 1 , 1 ] ⊤ x = [1,1,1]^\top x=[1,1,1],问满足$ A x = 0 Ax=0 Ax=0这个条件的矩阵的自由度是多少?

  • 对于 A = [ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ] A = \begin{bmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{bmatrix} A=a11a21a31a12a22a32a13a23a33一共有9个变量,自由度为9
  • 对于A的每一个行向量,比如 [ a 11 , a 12 , a 13 ] [a_{11}, a_{12}, a_{13}] [a11,a12,a13],只要确定了其中两个元素的值就能算出第三个元素的值(因为 a 11 + a 12 + a 13 = 0 a_{11} + a_{12} + a_{13} = 0 a11+a12+a13=0),那么自由度减去3
  • 再看 A x = 0 Ax=0 Ax=0,对A乘以任意常数 k k k任然满足原等式即 k A x = 0 kAx =0 kAx=0,所以 A A A是尺度等价的。利用这个性质,我们可以对矩阵A进行一下处理,比如令 a 33 = 1 a_{33}=1 a33=1或者说对A每一个元素除一个 a 33 a_{33} a33,这样,我们就令矩阵A的 ( 3 , 3 ) (3,3) (3,3)处的元素为1,然后求其他元素的值,再通过缩放,我们就得到了所有满足条件的矩阵 A A A。所以,因为尺度等价性,自由度减1。所以最后问题的答案是:自由度为5.

2. 本质矩阵的自由度

对于本质矩阵E(Essential Matrix),因为 E = t ∧ R E=t^\wedge R E=tR,平移和旋转各有3个自由度,故 t ∧ R t^\wedge R tR共有6个自由度。但是由于尺度等价性,故 E E E实际上有5个自由度。如何理解呢?参照上面的例子,对于对极约束 x 2 ⊤ E x 1 = 0 x^\top_2Ex_1=0 x2Ex1=0,有:
essential_matrix
现在把矩阵E展开,写成线性模式:
essential_matrix_linear
对于左边的 8 × 9 8 \times 9 8×9的系数矩阵,如果存在解 e 0 = [ e 1 , . . . , e 9 ] ⊤ e_0 = [e_1,...,e_9]^\top e0=[e1,...,e9],那么对 e 0 e_0 e0乘以任意常数k,等式依然成立。所以E具有尺度等价性,自由度减1。如果抛开E这个本质矩阵的约束,考虑任意矩阵,自由度减1后只要求解8个变量即可,这就是八点法(Eight-point-algorithm)的由来。

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

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

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

首先说6个自由度。所谓 3 × 3 3\times 3 3×3的本质矩阵E不过是由三个轴上的位移 x , y , z x,y,z x,y,z和三个轴上的旋转角度 α , β , γ \alpha,\beta,\gamma α,β,γ通过一定的组合构成的矩阵。( t ∧ R t^\wedge R tR代入这几个量的公式实在是太难敲了就不敲了),下面只就给出旋转矩阵的公式:
在这里插入图片描述
虽然E有9个元素,但是当我们确定了 α \alpha α,我们就确定了 s i n α , c o s α sin\alpha,cos\alpha sinα,cosα的值,同理于 β , γ \beta,\gamma β,γ。所以有9个元素的本质矩阵实际上由6个参数决定。然后由于尺度等价性,我们将前文提到的E展开后的向量 e e e中的 e 9 e_9 e9置为1,这里 e 9 = − y ( s i n γ s i n α + c o s γ s i n β c o s α ) + z ( − c o s γ s i n α + s i n γ s i n β c o s α ) e_9 = -y(sin\gamma sin\alpha+cos\gamma sin\beta cos\alpha)+ z(-cos\gamma sin\alpha + sin\gamma sin\beta cos\alpha) e9=y(sinγsinα+cosγsinβcosα)+z(cosγsinα+sinγsinβcosα) e 9 e_9 e9这个元素涉及到的变量有 y , z , α , β , γ y,z,\alpha,\beta,\gamma y,z,α,β,γ五个,因为我们将e9置了1,所以:

  1. 当我们知道这五个变量的其中4个之后,剩下一个变量就可以通过这个等式推出来,剩下的这个变量无法自有变化,自由度减1
  2. e 9 = 1 e_9=1 e9=1提供了一个额外的约束条件,所以只需要6-1=5个约束式便能求解矩阵,自由度为5

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

  • 36
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值