RANSAC算法中迭代次数的计算

博客探讨了RANSAC(Random Sample Consensus)算法在处理包含内外点的数据集时,如何确定最小迭代次数以确保有概率q排除所有外点。内容涉及到概率计算、数据点内点比例p以及所需内点数k,最终通过数学推导得出迭代次数n的最小值应为⌈ln(1−q)ln(1−pk)⌉的结论。

  已知一组数据点中既包含内点又包含外点,其中内点占的比例为ppp,且计算模型参数至少需要kkk个数据点,要求经过RANSAC算法之后有概率qqq的把握以上排除所有外点,那么迭代次数nnn至少应该设定为多少?

解答:
随机选取kkk个点,这kkk个点都为内点的概率为pkp^kpk,那么这kkk个点中至少有一个为外点的概率为1−pk1-p^k1pk
nnn次迭代,每次选择到的数据点都存在外点的概率为(1−pk)n(1-p^k)^n(1pk)n,则至少有一次选择到的都是内点的概率为1−(1−pk)n1-(1-p^k)^n1(1pk)n,依据题意,此概率要大于等于qqq,有,
1−(1−pk)n≥q 1-(1-p^k)^n \geq q 1(1pk)nq
1−q≥(1−pk)n 1-q \geq (1-p^k)^n 1q(1pk)n
两边取对数有,
ln(1−q)≥n⋅ln(1−pk) ln(1-q) \geq n\cdot ln(1-p^k) ln(1q)nln(1pk)
两边同时除以ln(1−pk)ln(1-p^k)ln(1pk)可得(注意两边除以一个负数,不等式要变号),
ln(1−q)ln(1−pk)≤n \frac{ln(1-q)}{ln(1-p^k)} \leq n ln(1pk)ln(1q)n
故迭代次数的最小值为⌈ln(1−q)ln(1−pk)⌉\lceil \frac{ln(1-q)}{ln(1-p^k)} \rceilln(1pk)ln(1q),其中⌈⌉\lceil \rceil表示向上取整符号!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YMWM_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值