推理证明RANSAC算法中迭代次数为何总设置为100,一看就懂,不懂请打我
RANSAC原理:略
迭代计算步骤
-
参数阐述:
- P P P:点云中内点(即要分割部分包含的点云)的比例
- Q Q Q:能够成功分割的概率
- K K K:构建分割模型所需最小点数。例如,线需要两个,面需要三个
- N N N:迭代次数,目标参数
-
推理步骤
- 在某次迭代过程中,随机选取 K K K个点云构建所需的分割模型,则获得的分割模型只包含内点的概率为 P ∗ P ∗ P . . . . = P K P*P*P....=P^K P∗P∗P....=PK,则其对立事件(获得的分割模型至少包含一个外点)的概率为 1 − P K 1-P^K 1−PK
- N N N次迭代后,获得的分割模型至少包含一个外点的概率为 ( 1 − P K ) N (1-P^K)^N (1−PK)N,则对立事件( N N N次迭代后,获得的分割模型均为内点)的概率为 1 − ( 1 − P K ) N 1-(1-P^K)^N 1−(1−PK)N
- 在保证能够成功分割的概率为
Q
Q
Q的前提下,应得如下公式
1 − ( 1 − P K ) N > = Q 1 − Q > = ( 1 − P K ) N l n ( 1 − Q ) > = N ∗ l n ( 1 − P K ) N < = l n ( 1 − Q ) l n ( 1 − P K ) 1-(1-P^K)^N>=Q\\ 1-Q>=(1-P^K)^N\\ ln(1-Q)>=N*ln(1-P^K)\\ N<=\frac{ln(1-Q)}{ln(1-P^K)} 1−(1−PK)N>=Q1−Q>=(1−PK)Nln(1−Q)>=N∗ln(1−PK)N<=ln(1−PK)ln(1−Q) - 假设分割模型为地面,则
K
K
K为3,分割成功率为90%,迭代次数
N
N
N为100,则上式可变为
100
<
=
l
n
(
1
−
0.9
)
l
n
(
1
−
P
3
)
=
l
n
(
0.1
)
l
n
(
1
−
P
3
)
100<=\frac{ln(1-0.9)}{ln(1-P^3)}=\frac{ln(0.1)}{ln(1-P^3)}
100<=ln(1−P3)ln(1−0.9)=ln(1−P3)ln(0.1),那么可得内点所占比例
P
P
P:
P > = 1 − e l n ( 0.1 ) 100 3 P>=\sqrt[3]{1-e^{\frac{ln(0.1)}{100}}} P>=31−e100ln(0.1)
此时 P > = 0.284 P>=0.284 P>=0.284,也就是要在100次迭代内,保证分割地面模型的成功率为90%,内点所占最小比例为28.4%
总结
利用简单几何模型分割模型一般保证内点的比例大于50%>28.4%,所以迭代100次可满足条件。