RANSAC算法思想

输入

RANSAC的输入:
1.一组观测数据(往往含有较大的噪声或无效点),
2.一个用于解释观测数据的参数化模型,比如y=ax+b
3.一些可信的参数。

步骤

1.在数据中随机选择几个点设定为内群
2.计算适合内群的模型y=ax+b ->y=2x+3 y=4x+5
3.把其它刚才没选到的点带入刚才建立的模型中,计算是否为内群hi=2xi+3,ri
4.记下内群数量
5.重复以上步骤
6.比较哪次计算中内群数量最多,内群最多的那次所建的模型就是我们所要求的解
注意:不同问题对应的数学模型不同,因此在计算模型参数时方法必定不同,RANSAC的作用不在于计算模型参数。(这导致ransac的缺点在于要求数学模型已知)

这里有几个问题:
1.一开始的时候我们要随机选择多少点(n)
2.以及要重复做多少次(k)

原理

p:表示迭代过程中出现过好的模型的概率―
:用于计算模型参数的点均为局内点
w=局内点的数目/数据点的总数目(w未知)
计算模型参数需要n个点
其中n个点中至少有一个点为局外点的概率:(1 - w^n)
那么:1 - p = (1 - w^n ) ^ k
当k趋近于无穷时,p趋近于1
同时,就可以反解k
在这里插入图片描述

优缺点

优点:
1.它能鲁棒的估计模型参数。例如,它能从包含大量局外点的数据集中估计出高精度的参数。
缺点:
1.它计算参数的迭代次数没有上限;如果设置迭代次数的上限,得到的结果可能不是最优的结果,甚至可能得到错误的结果。
2.RANSAC只有一定的概率得到可信的模型,概率与迭代次数成正比。
3.它要求设置跟问题相关的阀值。
4.RANSAC只能从特定的数据集中估计出一个模型,如果存在两个(或多个)模型,RANSAC不能找到别的模型。
5.要求数学模型已知

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值