RANSAC及其经典变种
作者:互联网
序
近年来学者们不断在对经典算法RANSAC进行各种改进,本文想总结一下近年来RANSAC算法的各种改进优化。看到一个写得很好的博客系列,可惜博主没有继续写下去了,很希望博主哪天想起来继续写下去,我暂时在这里做一些简单补充吧(此处暂时只搜集到的一些相关文献,后续随着学习的增加会再继续完善~ :p)。
RANSAC简史
RANSAC简史(一)——RANSAC之初
Random Sample Consensus 随机抽样一致
RANSAC算法步骤
1) 从所有的数据中采样n个点,以能确定出模型;
2) 利用采样点计算模型;
3) 利用模型来确定其他点是否是内点;如果内点率达到指定值,算法终止,并用所有内点优化模型;否则,继续上述过程,直到达到指定的迭代次数,此时将最高内点率对应的模型作为最终模型。
核心思想
:待求解的模型,应该是能同时
使 最多
数据点 都
符合模型。
可能存在的问题
- 如何选取能用来确定模型的最小数据量N?
- 采样策略?
- 通常情况下,我们在所有数据中进行随机采样,且所有数据每次被采样的可能性是一样的,而且我们通常不考虑两次采样得到的样本是重复的。
- 在第一步中,我们要求采样点尽可能少,同时我们也知道,当数据点存在噪声(通常考虑为高斯噪声)时,样本点的数目越多,求解的模型越准确。这就意味着我们此刻求解的模型不够准确,那么这个不够准确的模型,是否能够用来判断其他点是否是内点?
- 我们通常认为虽然模型存在误差,但是在后续内点判断中,我们设定一定的误差阈值,因此能够用该模型来近似最终模型。同时,一些RANSAC的改进,采用“局部优化”技术来一定程度解决这一问题。
- 如果我们待求解的问题,无法用一个模型,或者无法用一个仅包含若干个参数的模型进行表达,此时是否还能使用“最大一致性”的思路?
- 涉及 无模型的“最大一致性估计”方法
- 如何判断其他点是否为内点?如果通过其他点与模型的符合程度,那么如何设置这样一个阈值?有时一个数据是否为内点还与其他数据相关,那么此时如何考虑数据间的关联?
(例如两个数据点相冲突,不可能同时为内点。这种情况会发生在:根据两张图特征点匹配,求解其基础矩阵时,如果A图中的两个点,匹配到B图中的同一个点) - 使算法终止的内点率阈值?
(对于一组数据,通常情况下我们是无法知道其最大内点率,但或许我们可以事先求解出最优模型对应的内点率)
- 现在已经不太使用这个阈值作为终止条件了。我们通常采用一定置信度下,达到能够保证至少一次所有的采样点都为内点的最少采样次数,作为终止条件。
- 如何确定迭代次数上限?
- 原文[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]
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
标签:RANSAC,采样,变种,模型,Chum,PROSAC,内点,经典 来源: https://blog.csdn.net/Nismilesucc/article/details/113487837