在基本矩阵中有9个参数来表示左、右图像的像素坐标,但只有7个自由度。
在我搜索过的几页上,这个理由是:
我不明白为什么这两个原因意味着我们失去了2自由度--有人能解释一下吗?
发布于 2018-06-01 09:32:49
由于基本矩阵是由9个参数组成的,所以我们最初有9个自由度,这意味着我们需要9个对应的点来计算基本矩阵(F)。但由于以下两个原因,我们只需要7个相应的点。
理由1
我们失去了1自由度,因为我们使用齐次坐标。这基本上是一种通过添加额外维度将nD点表示为向量形式的方法。( ie) 2D点(0,2)可以表示为0,2,1,通常是x,y,1。当使用齐次坐标进行2D/3D变换时,有一些有用的性质,但我假设你知道。
现在给出表示像素坐标的表达式p和p‘:
p'=[u',v',1] and p=[u,v,1]基本矩阵:
F = [f1,f2,f3]
[f4,f5,f6]
[f7,f8,f9]和基本矩阵方程:
(transposed p')Fp = 0当我们以代数形式重复这个表达式时,我们得到以下结果:
uu'f1 + vu'f2 + u'f3 + uv'f4 + vv'f5 + v'f6 + uf7 + vf8 + f9 = 0. 在Af=0形式的齐次线性方程组(基本上是上述公式的因式分解)中,我们得到了两个分量A和f。
答:
[uu',vu',u', uv',vv',v',u,v,1] F (f本质上是向量形式的基本矩阵):
[f1,f2'f3,f4,f5,f6,f7,f8,f9]现在,如果我们看看向量A的分量,我们有8个未知数,但由于齐次坐标,我们有一个已知值1,因此我们现在只需要8个方程。
理由2
det F = 0.行列式是从方阵中得到的值。
我不完全确定这个属性的数学细节,但我仍然可以推断出基本的想法,希望你也可以。
基本给定一些矩阵A
A = [a,b,c]
[d,e,f]
[g,h,i]行列式可以使用以下公式计算:
det A = aei+bfg+cdh-ceg-bdi-afh如果我们看使用基本矩阵的行列式,代数看起来会是这样的:
F = [f1,f2,f3]
[f4,f5,f6]
[f7,f8,f9]
det F = (f1*f5*f8)+(f2*f6*f7)+(f3*f4*f8)-(f3*f5*f7)-(f2*f4*f9)-(f1*f6*f8)现在我们知道基本矩阵的行列式是零:
det F = (f1*f5*f8)+(f2*f6*f7)+(f3*f4*f8)-(f3*f5*f7)-(f2*f4*f9)-(f1*f6*f8) = 0因此,如果我们只计算出基本矩阵的9个参数中的7个,我们就可以用上面的行列式方程计算出最后一个参数。
因此,基本矩阵具有7自由度。
发布于 2019-04-20 07:08:00
F只有7个自由度的原因是
希望能帮上忙。
发布于 2020-09-03 10:29:01
对于nbro的最高票数答案,我认为可以这样解释,当我们有第二个理由时,矩阵F有一个rank2,所以它的行列式是零作为对f变量函数的约束。因此,我们只需要7分来确定其余的变量(f1-f8),与先前的竞争对手。8个方程,8个变量,只留下一个解。所以有7自由度。
https://stackoverflow.com/questions/49763903
复制相似问题