已知一组数据点中既包含内点又包含外点,其中内点占的比例为ppp,且计算模型参数至少需要kkk个数据点,要求经过RANSAC算法之后有概率qqq的把握以上排除所有外点,那么迭代次数nnn至少应该设定为多少?
解答:
随机选取kkk个点,这kkk个点都为内点的概率为pkp^kpk,那么这kkk个点中至少有一个为外点的概率为1−pk1-p^k1−pk。
nnn次迭代,每次选择到的数据点都存在外点的概率为(1−pk)n(1-p^k)^n(1−pk)n,则至少有一次选择到的都是内点的概率为1−(1−pk)n1-(1-p^k)^n1−(1−pk)n,依据题意,此概率要大于等于qqq,有,
1−(1−pk)n≥q
1-(1-p^k)^n \geq q
1−(1−pk)n≥q
1−q≥(1−pk)n
1-q \geq (1-p^k)^n
1−q≥(1−pk)n
两边取对数有,
ln(1−q)≥n⋅ln(1−pk)
ln(1-q) \geq n\cdot ln(1-p^k)
ln(1−q)≥n⋅ln(1−pk)
两边同时除以ln(1−pk)ln(1-p^k)ln(1−pk)可得(注意两边除以一个负数,不等式要变号),
ln(1−q)ln(1−pk)≤n
\frac{ln(1-q)}{ln(1-p^k)} \leq n
ln(1−pk)ln(1−q)≤n
故迭代次数的最小值为⌈ln(1−q)ln(1−pk)⌉\lceil \frac{ln(1-q)}{ln(1-p^k)} \rceil⌈ln(1−pk)ln(1−q)⌉,其中⌈⌉\lceil \rceil⌈⌉表示向上取整符号!
博客探讨了RANSAC(Random Sample Consensus)算法在处理包含内外点的数据集时,如何确定最小迭代次数以确保有概率q排除所有外点。内容涉及到概率计算、数据点内点比例p以及所需内点数k,最终通过数学推导得出迭代次数n的最小值应为⌈ln(1−q)ln(1−pk)⌉的结论。
189

被折叠的 条评论
为什么被折叠?



