RANSAC及其经典变种

近年来学者们不断在对经典算法RANSAC进行各种改进,本文想总结一下近年来RANSAC算法的各种改进优化。看到一个写得很好的博客系列,可惜博主没有继续写下去了,很希望博主哪天想起来继续写下去,我暂时在这里做一些简单补充吧(此处暂时只搜集到的一些相关文献,后续随着学习的增加会再继续完善~ :p)。

RANSAC简史
RANSAC简史(一)——RANSAC之初

Random Sample Consensus 随机抽样一致

RANSAC算法步骤

1) 从所有的数据中采样n个点,以能确定出模型;

2) 利用采样点计算模型;

3) 利用模型来确定其他点是否是内点;如果内点率达到指定值,算法终止,并用所有内点优化模型;否则,继续上述过程,直到达到指定的迭代次数,此时将最高内点率对应的模型作为最终模型。

核心思想:待求解的模型,应该是能同时使 最多数据点 符合模型。

可能存在的问题

  1. 如何选取能用来确定模型的最小数据量N?
  2. 采样策略?
  • 通常情况下,我们在所有数据中进行随机采样,且所有数据每次被采样的可能性是一样的,而且我们通常不考虑两次采样得到的样本是重复的。
  1. 在第一步中,我们要求采样点尽可能少,同时我们也知道,当数据点存在噪声(通常考虑为高斯噪声)时,样本点的数目越多,求解的模型越准确。这就意味着我们此刻求解的模型不够准确,那么这个不够准确的模型,是否能够用来判断其他点是否是内点?
  • 我们通常认为虽然模型存在误差,但是在后续内点判断中,我们设定一定的误差阈值,因此能够用该模型来近似最终模型。同时,一些RANSAC的改进,采用“局部优化”技术来一定程度解决这一问题。
  1. 如果我们待求解的问题,无法用一个模型,或者无法用一个仅包含若干个参数的模型进行表达,此时是否还能使用“最大一致性”的思路?
  • 涉及 无模型的“最大一致性估计”方法
  1. 如何判断其他点是否为内点?如果通过其他点与模型的符合程度,那么如何设置这样一个阈值?有时一个数据是否为内点还与其他数据相关,那么此时如何考虑数据间的关联?
    (例如两个数据点相冲突,不可能同时为内点。这种情况会发生在:根据两张图特征点匹配,求解其基础矩阵时,如果A图中的两个点,匹配到B图中的同一个点)
  2. 使算法终止的内点率阈值?
    (对于一组数据,通常情况下我们是无法知道其最大内点率,但或许我们可以事先求解出最优模型对应的内点率)
  • 现在已经不太使用这个阈值作为终止条件了。我们通常采用一定置信度下,达到能够保证至少一次所有的采样点都为内点的最少采样次数,作为终止条件。
  1. 如何确定迭代次数上限?
  • 原文[1]中给出了两种方案

RANSAC的改进

《Image Matching from Handcrafted to Deep Features: A Survey》中提到:
在这里插入图片描述

《主成分分析的匹配点对提纯方法》中提到:

在这里插入图片描述

(一)更有效的采样策略

1.PROSAC 渐近样本一致 [6]

PROgressive SAmple Consensus论文翻译

相比经典的 RANSAC 方法均匀地从整个集合中采样,PROSAC 方法是从不断增大的最佳对应点集合中进行采样的。所以这种方法可以节省计算量,提高运行速度。

该方法采用半随机方法,对所有点对进行质量评价计算Q值,然后根据Q值降序排列,每次只在高质量点对中经验模型假设与验证,这样就大大降低了计算量,在RANSAC无法收敛的情况下,PROSAC依然可以取得良好的结果。OpenCV中的RHO方法就是基于PROSAC估算。

2.USAC 全局RANSAC [7]

USAC论文翻译

在这里插入图片描述
stage1: 最小集采样方法采用2.2.2节中的PROSAC。

stage3: 模型(参数)验证采用2.4.3的SPRT测试。

stage4: 产生最终模型,采用2.5.1介绍的Lo-RANSAC。

在本文中,我们通过分析和比较多年来研究的各种方法,对基于RANSAC的鲁棒估计的最新研究进行了全面的综述。通过引入一个新的稳健估计框架,我们为这一分析提供了一个共同的背景,我们称之为全局RANSAC(USAC)。USAC扩展了标准RANSAC的简单假设和验证结构,纳入了许多重要的实际和计算考虑因素。

3.MLESAC [13]

4.NAPSAC [10]

(二)更准确的模型估计

5.LO-RANSAC 局部优化的ransac [2] [4]

(三)更可靠的模型评估

6.R-RANSAC 随机模型验证策略 [3] [11]

(四)深度学习方向的应用

7.DSAC [5]

8.NG-RANSAC [8]

9.Graph-Cut RANSAC [9]


P-RANSAC

参考文献

[1] Martin, A, Fischler, et al. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography[J]. Communications of the ACM, 1981.
[2] Chum O , Jií Matas, Kittler J . Locally Optimized RANSAC. Lecture Notes in Computer Science, 2003.
[3] Matas J , Chum O . Randomized RANSAC with T(d, d) test. BMVC,2002,.
[4] Chum, O. & Matas, Jiri & Obdrzalek, S… (2004). Enhancing RANSAC by generalized model optimization.
[5] Brachmann E , Krull A , Nowozin S , et al. DSAC - Differentiable RANSAC for Camera Localization.CVPR, 2017.
[6] Chum O . Matching with PROSAC — Progressive Sample Consensus.CVPR,2005.
[7] Raguram, Rahul, Chum, et al. USAC: A Universal Framework for Random Sample Consensus.PAMI,2013.
[8] Brachmann E , Rother C . Neural-Guided RANSAC: Learning Where to Sample Model Hypotheses.ICCV, 2019.
[9] Barath D , Matas J . Graph-Cut RANSAC.CVPR, 2018.
[10] MYATT, D. & Torr, Philip & Bishop, John & CRADDOCK, R. & Nasuto, Slawomir. (2002). NAPSAC: HIGH NOISE, HIGH DIMENSIONAL MODEL PARAMETERISATION - IT’S IN THE BAG.
[11] Chum, Ondřej, Matas, Jiří. Optimal Randomized RANSAC. PAMI,2008.
[12] Ma J , Jiang X , Fan A , et al. Image Matching from Handcrafted to Deep Features: A Survey. IJCV, 2020.
[13] Torr, Philip & Zisserman, A… (2000). MLESAC: A New Robust Estimator with Application to Estimating Image Geometry. Computer Vision and Image Understanding.
[14] David Nistér. Preemptive RANSAC for live structure and motion estimation[C]// Springer-Verlag, 2005.
[15] 改进的匹配点提纯算法 mRANSAC

猜你喜欢

转载自blog.csdn.net/Nismilesucc/article/details/113487837