所以我正在进行立体声校准,我已经完成了它,我相信它已经完成,但有些东西我不明白。
对于表示x't.F.x = 0
的对应等式。我不明白这是什么意思?因此,当我在检测到的棋盘角上应用它时,我得到的值为0.004或类似的值。这是否意味着0.004像素的误差?或者它的单位是什么?我搜索了一些计算机视觉书籍,但他们都说它应该是0但没有进一步的解释。
答案 0 :(得分:1)
简短回答:你没有获得0的原因是因为当估计基本矩阵时,它是通过噪声对应来完成的,并且通过不精确地求解一个超定系统来发现方程。
更长的答案:基本矩阵F是具有7个自由度的秩2齐次矩阵。每个对应关系通过基本矩阵方程对F给出单一约束。在实际情况下,噪声是不可避免的,这是由于未完全定位的特征和通过数学函数对相机投影建模的近似造成的。因此,通常不可能找到完全满足所有点对应的基本矩阵方程的F.具体而言,这是存在8个或更多对应关系的情况,因为它们产生过度确定的系统,其中存在比未知数更多的方程。因此,发现F最适合方程,导致一些残余误差。具有例如小的残余误差。 0.004对我来说是完全正常的。
错误没有明显的物理或统计解释,通常称为代数错误。使用代数误差的原因是因为它可以使用奇异值分解paper使用简单的闭合形式方法(忽略秩-2约束)在最小二乘意义上进行优化。这些解决方案在静态或物理意义上并不是最佳的,但它们在实践中往往效果很好。
答案 1 :(得分:0)
我将使用x0和x1代替x和x'。
实际上,l1 = F.x0在图像1中给出了一行l1。如果将线缩放到Hessian法线形式(HNF),使得l1的前两个元素具有单位长度,那么
err_px1 = x1t.l1
将为您提供与图像1中的线的像素距离。问题是对称的。
10 = Ft.x1
也为你提供一条线,这次是在图像0中。你也可以将它转换为HNF并获得另一幅图像中的像素距离:
err_px0 = x0t.l0
通过这种方式,您可以计算出有意义的残差,例如:作为相应极线的平均像素距离。