当我们已经匹配关键点时,为什么我们需要使用 RANSAC?

Why we need to use RANSAC when we already match keypoints?

我目前正在研究将图像拼接在一起的计算机视觉程序。我使用 KAZE 算法寻找关键点并描述它们。比我使用蛮力匹配器来匹配它们。从这个阶段开始,我准备好缝合它们了,我想是因为我知道哪个点属于哪里,对吧?因为我正在研究一些文献等。我看到它们总是匹配关键点然后使用随机的 RANSAC?当我已经通过强力匹配知道哪个关键点属于哪个时,为什么还要使用 Ransac?

感谢您的回答,祝您有愉快的一天

RANSAC(和变体)是一种算法,用于将匹配的关键点稳健地拟合到从一个图像到另一个图像的转换("warp")的数学模型,例如,单应性。这里的关键字是 "robustly":该算法非常努力地尝试识别大量(理想情况下,最大的)可接受的匹配关键点集,从某种意义上说,它们在支持模型的特定值方面彼此一致。

这样做是因为匹配的关键点对可能是 "wrong",要么是因为匹配算法搞砸了(认为左眼与右眼匹配),要么是因为匹配正确,但不符合到模型(当两张图像相隔一段时间拍摄时,想想在行驶中的汽车的同一点上匹配)。当估计过程不稳健时,这些错误匹配或 "outliers" 可能(并且通常会)放弃模型估计。