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

Image processing 为什么基本矩阵有7个自由度?,image-processing,camera,computer-vision,Image Processing,Camera,Computer Vision,基本矩阵中有9个参数用于关联左右图像的像素坐标,但只有7个自由度(DOF) 在我搜索过的几页中,其原因是: 齐次方程意味着我们失去了一定的自由度 F=0的行列式,因此我们失去了另一个自由度 我不明白为什么这两个原因意味着我们失去了2个自由度——有人能解释吗?我们最初有9个自由度,因为基本矩阵由9个参数组成,这意味着我们需要9个对应点来计算基本矩阵(F)。但由于以下两个原因,我们只需要7个对应点 理由1 由于使用齐次坐标,我们失去了1个自由度。这基本上是一种通过添加额外维度将nD点表示为向量形式的

基本矩阵中有9个参数用于关联左右图像的像素坐标,但只有7个自由度(DOF)

在我搜索过的几页中,其原因是:

  • 齐次方程意味着我们失去了一定的自由度

  • F=0的行列式,因此我们失去了另一个自由度


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

    我们最初有9个自由度,因为基本矩阵由9个参数组成,这意味着我们需要9个对应点来计算基本矩阵(F)。但由于以下两个原因,我们只需要7个对应点

    理由1 由于使用齐次坐标,我们失去了1个自由度。这基本上是一种通过添加额外维度将nD点表示为向量形式的方法。ie)2D点(0,2)可以表示为[0,2,1],通常为[x,y,1]。在二维/三维变换中使用齐次坐标时,有一些有用的特性,但我假设您知道这一点

    现在给出表示像素坐标的表达式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

    A:

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

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

    理由2 行列式是可以从平方矩阵中获得的值

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

    基本上给出了一些矩阵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个自由度。

    F只有7个自由度的原因如下

  • F是一个3x3齐次矩阵。同质意味着矩阵中存在尺度模糊,因此尺度无关紧要(如@Curator Corpus的示例所示)。这降低了一个自由度
  • F是秩为2的矩阵。它不是满秩矩阵,所以它是奇异的,行列式为零(证明)。F是秩为2的矩阵的原因是它将2D平面(图1)映射到通过(图2的)对极的所有线(图2中)
    希望能有帮助

    至于nbro的最高票数答案,我认为可以这样解释,我们有理由二,矩阵
    F
    有rank2,因此它的行列式是零,作为
    F
    变量函数的约束。因此,我们只需要7个点来确定其余变量(f1-f8),使用前面的constriant。8个方程,8个变量,只剩下一个解。所以有7个自由度。

    这是迄今为止我能找到的最好的解释。但我在5自由度的基本矩阵上挣扎。有什么建议吗?谢谢顺便说一句,如果“该属性的数学细节”表示det(F)=0。我的理解是F中的斜对称矩阵具有秩2,矩阵乘法的性质是秩(AB),简单地说,本质矩阵(E)是考虑相机固有参数的基本矩阵。现在公式是(转置p’)Ep=0,我们尝试求解E。E矩阵可以分解并求解旋转(R)和平移(t)分量,以匹配p,p是5自由度。在典型的三维几何变换中,我们有9个自由度(平移、旋转、缩放)。但在这种情况下,我们有5个自由度,因为对于基本矩阵,我们在一个规范化的坐标系中工作,因此比例变得模糊(现在下降6个自由度)。我们还失去了一个平移轴的另一个5个自由度(不太确定,但基本上旋转或平移之一不会改变最终计算的E)。我只是把它理解为“基本上知道相机的内在参数,减少了求解E所需的点数(但不一定是数学问题)。”曾经是7点算法的线性问题,现在变成了5点算法的非线性问题。也许他们的论文会给你更多的细节。对不起,我帮不了你什么忙,因为我没有必要深入研究这个问题。记住一些我能回忆起来的事实,这是如何解释F有7个自由度的呢?当然,很明显,F是尺度不变的,所以最多有8个自由度,但是秩2是如何减少自由度的呢?好问题。下面是逻辑流程。F有一个秩为2的矩阵。2.那么它的行列式是零。3. @馆长语料库显示det F=(f1*f5*f8)+(f2*f6*f7)+(f3*f4*f8)-(f3*f5*f7)-(f2*f4*f9)-(f1*f6*f8)=0。所以对于任意两个未知变量,比如f9和f8,我们可以建立一个方程,f9=a*f8+b,其中a,b是由其余变量(f1-f7)确定的系数。请注意,f9也满足馆长理由1中解释的c+d*f8=f9的方程(其中c,d也是f1-f7的系数)。结合两个方程,确定f9和f8。有帮助吗?
    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