首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么基本矩阵有7个自由度?

为什么基本矩阵有7个自由度?
EN

Stack Overflow用户
提问于 2018-04-10 22:45:11
回答 3查看 8.2K关注 0票数 17

在基本矩阵中有9个参数来表示左、右图像的像素坐标,但只有7个自由度。

在我搜索过的几页上,这个理由是:

  1. 齐次方程意味着我们失去了一个自由度。
  2. F= 0的行列式,因此我们失去了另一自由度。

我不明白为什么这两个原因意味着我们失去了2自由度--有人能解释一下吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 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‘:

代码语言:javascript
复制
p'=[u',v',1] and p=[u,v,1]

基本矩阵:

代码语言:javascript
复制
F = [f1,f2,f3]
    [f4,f5,f6]
    [f7,f8,f9]

和基本矩阵方程:

代码语言:javascript
复制
(transposed p')Fp = 0

当我们以代数形式重复这个表达式时,我们得到以下结果:

代码语言:javascript
复制
uu'f1 + vu'f2 + u'f3 + uv'f4 + vv'f5 + v'f6 + uf7 + vf8 + f9 = 0. 

在Af=0形式的齐次线性方程组(基本上是上述公式的因式分解)中,我们得到了两个分量A和f。

答:

代码语言:javascript
复制
[uu',vu',u', uv',vv',v',u,v,1] 

F (f本质上是向量形式的基本矩阵):

代码语言:javascript
复制
[f1,f2'f3,f4,f5,f6,f7,f8,f9]

现在,如果我们看看向量A的分量,我们有8个未知数,但由于齐次坐标,我们有一个已知值1,因此我们现在只需要8个方程。

理由2

代码语言:javascript
复制
det F = 0.

行列式是从方阵中得到的值。

我不完全确定这个属性的数学细节,但我仍然可以推断出基本的想法,希望你也可以。

基本给定一些矩阵A

代码语言:javascript
复制
A = [a,b,c]
    [d,e,f]
    [g,h,i]

行列式可以使用以下公式计算:

代码语言:javascript
复制
det A = aei+bfg+cdh-ceg-bdi-afh

如果我们看使用基本矩阵的行列式,代数看起来会是这样的:

代码语言:javascript
复制
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)

现在我们知道基本矩阵的行列式是零:

代码语言:javascript
复制
det F = (f1*f5*f8)+(f2*f6*f7)+(f3*f4*f8)-(f3*f5*f7)-(f2*f4*f9)-(f1*f6*f8) = 0

因此,如果我们只计算出基本矩阵的9个参数中的7个,我们就可以用上面的行列式方程计算出最后一个参数。

因此,基本矩阵具有7自由度。

票数 24
EN

Stack Overflow用户

发布于 2019-04-20 07:08:00

F只有7个自由度的原因是

  1. F是一个3x3齐次矩阵。同质意味着矩阵中存在标度模糊,因此标度并不重要(如@Curator Corpus的例子所示),这降低了一个自由度。
  2. F是一个秩为2的矩阵,它不是满秩矩阵,所以它是奇异的,其行列式是零(证明这里)。F是一个秩为2的矩阵的原因是它将一个2D平面(image1)映射到通过表2的所有线(在图2中)。

希望能帮上忙。

票数 6
EN

Stack Overflow用户

发布于 2020-09-03 10:29:01

对于nbro的最高票数答案,我认为可以这样解释,当我们有第二个理由时,矩阵F有一个rank2,所以它的行列式是零作为对f变量函数的约束。因此,我们只需要7分来确定其余的变量(f1-f8),与先前的竞争对手。8个方程,8个变量,只留下一个解。所以有7自由度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49763903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档