3d 基本矩阵对应方程结果的意义

3d 基本矩阵对应方程结果的意义,3d,computer-vision,camera-calibration,3d,Computer Vision,Camera Calibration,所以我正在进行立体声校准,我已经完成了,我相信这是正确的,但有些事情我不明白 对于表示x't.F.x=0的对应方程。我不明白这个0是什么意思?因此,当我将其应用于棋盘的检测角时,我得到的值为0.004或类似值。这是否意味着0.004像素的误差?或者它的单位是什么?我搜索了几本计算机视觉书籍,但它们都声明它应该是0,但没有进一步的解释。简短的回答:你没有得到0的原因是,当基本矩阵被估计时,它是用噪声对应完成的,它是通过不精确地解一个超定方程组发现的 一个较长的答案:基本矩阵F是具有7个自由度的秩2

所以我正在进行立体声校准,我已经完成了,我相信这是正确的,但有些事情我不明白


对于表示
x't.F.x=0
的对应方程。我不明白这个0是什么意思?因此,当我将其应用于棋盘的检测角时,我得到的值为0.004或类似值。这是否意味着0.004像素的误差?或者它的单位是什么?我搜索了几本计算机视觉书籍,但它们都声明它应该是0,但没有进一步的解释。

简短的回答:你没有得到0的原因是,当基本矩阵被估计时,它是用噪声对应完成的,它是通过不精确地解一个超定方程组发现的

一个较长的答案:基本矩阵F是具有7个自由度的秩2齐次矩阵。每个对应关系通过基本矩阵方程对F给出一个约束。噪声在实际情况下是不可避免的,这是由未完全定位的特征和通过数学函数模拟相机投影的近似引起的。因此,通常不可能找到完全满足所有点对应的基本矩阵方程的F。具体来说,当有8个或8个以上的对应关系时,这是一种情况,因为它们产生了一个过度确定的系统,其中方程多于未知数。因此,F被发现最适合方程,导致一些残余误差。有一个小的残余误差,例如0.004,对我来说是完全正常的


该误差没有明显的物理或统计解释,通常称为代数误差。使用代数误差的原因是,可以使用简单的封闭形式方法(忽略秩2约束)和奇异值分解在最小二乘意义上对其进行优化。这些解决方案在统计或物理意义上都不是最优的,但在实践中往往效果良好。

@Toby Collins认为代数残差没有几何解释是正确的。我将尝试给你们一个稍微不同的方法来计算几何意义上的残差

我将使用x0和x1,而不是x和x'

实际上,l1=F.x0在图1中给出了一行l1。如果将直线缩放为Hessian标准形式(HNF),使l1的前两个元素具有单位长度,则

err_px1=x1t.l1

将为您提供与图1中线条的像素距离。这个问题是对称的

l0=英尺x1

还将为您提供一行,这次是在图像0中。您还可以将其转换为HNF,并在其他图像中获得像素距离:

err_px0=x0t.l0

通过这种方式,您可以计算有意义的残差,例如,作为到相应极线的平均像素距离