nab*_*abs 6 camera image-processing computer-vision
基本矩阵中有9个参数用于关联左右图像的像素坐标,但仅有7个自由度(DOF).
在我搜索的几个页面上的原因是:
均匀方程意味着我们失去了一定程度的自由
F = 0的决定因素,因此我们失去了另一个自由度.
我不明白为什么这两个原因意味着我们失去了2个自由度 - 有人可以解释一下吗?
我只是为了考试而修改这个,我也被困了很长时间.但现在让我试着以最简单的方式解释这一点.
我们最初有9DOF,因为基本矩阵由9个参数组成,这意味着我们需要9个对应点来计算基本矩阵(F).但由于这两个原因,我们只需要7个对应点.
原因1:
我们失去了DOF,因为我们使用齐次坐标.这基本上是通过添加额外维度将nD点表示为矢量形式的方式.即)2D点(0,2)可以表示为[0,2,1],通常为[x,y,1].使用带有2D/3D变换的齐次坐标时有一些有用的属性,但我假设你知道这一点.
现在给出表达像素坐标的表达式p和p':
p'=[u',v',1] and p=[u,v,1]
Run Code Online (Sandbox Code Playgroud)
基本矩阵:
F = [f1,f2,f3]
[f4,f5,f6]
[f7,f8,f9]
Run Code Online (Sandbox Code Playgroud)
和基本矩阵方程:
(transposed p')Fp = 0
Run Code Online (Sandbox Code Playgroud)
当我们用代数形式复用这个表达式时,我们得到以下结果:
uu'f1 + vu'f2 + u'f3 + uv'f4 + vv'f5 + v'f6 + uf7 + vf8 + f9 = 0.
Run Code Online (Sandbox Code Playgroud)
在线性方程形式Af = 0的均匀系统中(基本上是上述公式的分解),我们得到两个分量A和f.
A:
[uu',vu',u', uv',vv',v',u,v,1]
Run Code Online (Sandbox Code Playgroud)
f(f基本上是矢量形式的基本矩阵):
[f1,f2'f3,f4,f5,f6,f7,f8,f9]
Run Code Online (Sandbox Code Playgroud)
现在,如果我们查看向量A的分量,我们有8个未知数,但由于齐次坐标,有一个已知值1,因此我们现在只需要8个方程.
原因2:
det F = 0.
Run Code Online (Sandbox Code Playgroud)
行列式是可以从方阵获得的值.
我不完全确定这个属性的数学细节,但我仍然可以推断出基本的想法,希望你也可以.
基本上给出了一些矩阵A.
A = [a,b,c]
[d,e,f]
[g,h,i]
Run Code Online (Sandbox Code Playgroud)
可以使用以下公式计算行列式:
det A = aei+bfg+cdh-ceg-bdi-afh
Run Code Online (Sandbox Code Playgroud)
如果我们使用基本矩阵查看行列式,代数看起来像这样:
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)
Run Code Online (Sandbox Code Playgroud)
现在我们知道基本矩阵的行列式为零:
det F = (f1*f5*f8)+(f2*f6*f7)+(f3*f4*f8)-(f3*f5*f7)-(f2*f4*f9)-(f1*f6*f8) = 0
Run Code Online (Sandbox Code Playgroud)
因此,如果我们只得出基本矩阵的f1 ... f9参数中的7个,我们可以使用上面的行列式方程计算出最后一个参数.
因此基本矩阵具有7DOF.
我注意到你在一个月前发布了这个,所以也许你已经有了自己的答案.如果你有自己的逻辑解释,那么很高兴知道你是否同意我的这种解释(将有助于我的修订).否则希望这个帮助.对我有意义.对不起任何错别字,但我希望你至少得到一般的想法.
| 归档时间: |
|
| 查看次数: |
1357 次 |
| 最近记录: |