仿射变换和RANSAC:如何计算内点数?

时间:2017-10-28 09:28:40

标签: image image-processing ransac

我有2张图片,我正在使用SIFT查找匹配的功能。 我通过阈值选择了最好的比赛。 在这之后,我试图使用RANSAC有效地确定两张图片之间的仿射变换矩阵。

从我对这个过程的理解(以及互联网上的十亿张幻灯片):

  1. 选择3个随机对应关系(计算仿射变换所需的最小值)。

  2. 估计A。

  3. 计算内部数据。

  4. 对N次试验执行此操作,并选择产生最少内点的A。

    如何具体计算内部数量?

    不幸的是,所有的例子都集中在回归上(例如找到2个点并通过它们拟合一条线,然后根据一些距离进行计数。但在这种情况下,我们正在讨论3个对应关系和"线&#34 ;这里没有意义。

    我在某地读过我们可以用高斯模拟噪音,但我想知道如何继续。

1 个答案:

答案 0 :(得分:0)

RANSAC很简单。测量第二张图像中“应该”的点(使用3点假设)与其位置之间的距离。对于2个图像之间的对称性,您可能希望在两个方向上添加平方误差。然后只需应用一个阈值来计算内点。

找到最佳假设后,然后可以通过回归来改进它。您正在尝试最小化图像坐标中的平方误差(仅适用于内部)。对称地做它听起来很棘手和非线性(另一个回答者可能会纠正我!),但是如果变换非常接近相似性,我猜一个人可以通过单向做法作弊,也可以通过独立处理第二个图像中的x和y来作弊。然后它变成一对线性回归以找到变换矩阵的每一半。