Matrix 五点基本矩阵估计的Sampson误差

Matrix 五点基本矩阵估计的Sampson误差,matrix,computer-vision,ransac,pose-estimation,reprojection-error,Matrix,Computer Vision,Ransac,Pose Estimation,Reprojection Error,我使用Nister的5点法计算基本矩阵。使用RANSAC和Sampson误差阈值进一步改进了异常值抑制。我随机选择5个点集,估计基本矩阵并计算匹配向量的Sampson误差。Sampson误差低于阈值t(在我使用的示例中设置为0.01)的点坐标被设置为内线。对所有基本矩阵重复该过程,我们保留内联线得分最佳的矩阵 我注意到,d的大多数值,即sampson错误向量太大:例如,如果d的大小为(1x1437),如果我这样做 然后length(g)=1425,这意味着只有7个值是该阈值的内联项,这是不正确的

我使用Nister的5点法计算基本矩阵。使用RANSAC和Sampson误差阈值进一步改进了异常值抑制。我随机选择5个点集,估计基本矩阵并计算匹配向量的Sampson误差。Sampson误差低于阈值
t
(在我使用的示例中设置为
0.01
)的点坐标被设置为内线。对所有基本矩阵重复该过程,我们保留内联线得分最佳的矩阵

我注意到,
d
的大多数值,即sampson错误向量太大:例如,如果
d
的大小为(1x1437),如果我这样做

然后
length(g)=1425
,这意味着只有7个值是该阈值的内联项,这是不正确的

如何设置阈值?如何解释Sampson错误值


请帮帮我。谢谢

桑普森距离是几何距离的一阶近似值。可以理解如下:

给定一个基本矩阵F和一对对应关系(x,x'),使得x'Fx=e,这对对应关系的距离/误差是多少?几何距离是为所有对应关系(y,y')定义的,因此y'Fy=0,| | | x-y | | ^2+| | x'-y'| | ^2的最小值(换句话说,精确满足F矩阵的最接近(x,x')的对应关系对)。可以证明,桑普森误差是这个最小距离的一阶近似值


直观地说,桑普森误差可以粗略地认为是一个点x到对应的极线x'F之间的平方距离。在这种情况下,0.01的阈值太小了(你很少能找到一个基本矩阵,使得所有对应都在0.1像素精度内)。根据图像对的大小/分辨率/质量,建议的阈值将介于1到10之间(1到3像素错误)。

0.01是一个太小的阈值。 作为最后一个答案,1到10更好

x和x'使用桑普森误差意味着它们都不在各自的极线上,我们需要计算这两个点的误差

如果固定x,使用F和x计算第二幅图像中的线(此图像上的x'),则可以计算点到线(x'到极线)的距离。这意味着你认为x点是正确的,就在它的直线上


这两种方法是不同的。

0.01在处理标准化摄影机时不是太小,也就是说,将像素坐标与反向固有参数矩阵相乘

我认为,从你的回答来看,有点不清楚为什么不能在相应的极线上投射x,x',并求出点和它们的投射之间的距离。
g=find(abs(d)>0.01);
length(g)