【发布时间】:2015-04-01 07:44:58
【问题描述】:
我正在使用 SIFT 特征检测器和描述符。我正在匹配两个图像之间的点。我正在使用带有 RANSAC 方法的 OpenCV 的 findHomography() 函数。
当我阅读 RANSAC 算法时,据说调整 RANSAC 的阈值参数可以改善结果。但我不想硬编码任何参数。
我知道 RANSAC 正在删除比赛中的异常值。谁能告诉我在应用单应性之前用基本方法去除异常值(不是全部)是否可以改善单应性的结果?
如果是这样,我们如何在 RANSAC 之前应用一个操作来去除异常值?
【问题讨论】:
-
RANSAC 方法通过丢弃异常值来估计您想要的单应性。该方法基于这样的假设运行,即您的大多数样本都与潜在的单应性一致。如果模型不是 100% 准确,则消除了数据中的噪声,并且该参数可以为您提供灵活性。因此,如果模型不准确(例如,因为您有严重的失真),预过滤将无济于事,只有调整阈值才会有帮助。
-
我必须提醒你,如果你使用
findHomography(),你已经假设世界坐标中的所有3D点都在一个平面上。
标签: opencv image-processing computer-vision feature-detection ransac