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.要求数学模型已知
RANSAC算法思想相关推荐
- 利用 ransac 算法拟合平面
1.前言 最近项目中遇到一个问题, 老板给了一组数据然后要求获取其中处于同一个平面上的数据点的信息, 很明显就是使用ransac 算法进行处理. 2. ransac算法思想 这里我们使用自己的理解来说 ...
- SIFT特征点匹配中KD-tree与Ransac算法的使用
转自:http://blog.csdn.net/ijuliet/article/details/4471311 Step1:BBF算法,在KD-tree上找KNN.第一步做匹配咯~ 1.什么是KD-t ...
- openCV中的findHomography函数分析以及RANSAC算法的详解(源代码分析)
本文将openCV中的RANSAC代码全部挑选出来,进行分析和讲解,以便大家更好的理解RANSAC算法.代码我都试过,可以直接运行. 在计算机视觉和图像处理等很多领域,都需要用到RANSAC算法.op ...
- 利用RANSAC算法筛选SIFT特征匹配
关于RANSAC算法的基本思想,可从网上搜索找到,这里只是RANSAC用于SIFT特征匹配筛选时的一些说明. RANSAC算法在SIFT特征筛选中的主要流程是: (1) 从样本集中随机抽选一个RANS ...
- 【opencv学习】RANSAC算法在图像拼接中的应用实战
一:单应性变换 我们得到两张图像的图像后,可以通过BFMatcher得到匹配的点,其实就是一个暴力搜索来比较最相近的特征点(128维度的向量,求向量的近似度). 通过匹配的多个关键点的配对信息,我们能 ...
- 计算机视觉CV中RANSAC算法的学习笔记~
1 致谢 感谢网友叶晚zd的博客, 原文链接如下: https://blog.csdn.net/u013925378/article/details/82907502 2 RANSAC算法介绍 随机抽 ...
- 自适应采样次数的Ransac算法
自适应采样次数的Ransac算法 Ransac基本思想 自适应采样次数的Ransac算法原理 对数据进行拟合操作的同学肯定对Ransac算法不陌生,之前接触过一段时间,最近有空才把这么经典的一个算法分 ...
- (二十二)用RANSAC算法来求线性回归模型的参数
线性回归模型 一.什么是线性回归? 举个例子, 某商品的利润在售价为2 元. 5 元. 10 元时分别为 4 元. 11 元. 20 元, 我们很容易得出商品的利润与售价的关系符合直线:y=2x. 在 ...
- 相机模型与标定(十)--RANSAC算法
转自王先荣先生: http://www.cnblogs.com/xrwang/archive/2011/03/09/ransac-1.html 本文翻译自维基百科,英文原文地址是:http://en. ...
最新文章
- spring 学习—spring 的ioc底层原理(02)
- std::move C++11 标准新特性: 右值引用与转移语义
- Oracle中REGEXP_SUBSTR函数
- 区块链开发公司谈区块链与大数据的关系
- 服务器此时无法接受控制信息,您无法修改域或信任信息,因为无法联系一个主域控制器(PDC)仿真器,请确认当前域的PDC仿真器和网络都联机并正常运行。...
- c/c++ 标准库 string
- java解指派问题,运用Excel规划求解解决指派问题
- 从此刻起 文/毛毛虫
- 网站服务器 网络速度测试,服务器访问速度怎么测试?
- 冉宝的每日一题--8月8日--前缀和+拓扑排序复习
- 怎么开启2345加速浏览器的过滤弹窗广告
- 小红书用户画像分析_用户画像,该怎么分析?
- 三星新平板 Galaxy Note 10.1全拆解
- Java图像处理(后面会补充PS啥的)
- 彩色图像自动色阶调整和自动对比度调整
- 一步一步在 Windows 10 用 visual studio 2019 编译 zmqpp 4.2.0 版
- TowerJ编译java_2020阿里最新出品的泰山版Java开发手册,告别垃圾代码
- QT实战-计算器-刘桂林-专题视频课程
- Java新人之路 -- 集合(上)
- python 通过调取百度接口进行图片OCR文字识别 高识别率
热门文章
- Unity存储路径具体位置整理(Win+Android+ios)
- c语言学生成绩统计表人数比例,计算机等级考试成绩分析(2010-2013).doc
- Mybatis Mysql 批量插入返回id
- 应用统计学第九周作业(SPSS相关性分析,相关系数)
- 基于Appium+WinAppDriver+Python的winUI3应用的自动化框架搭建分享(一)环境配置
- access 组合框模糊筛选
- kingbase(人大金仓)数据库的常用知识点与简单巡检
- 为啥叫四川?是有四条河吗?
- Windows PC上创建大数据职业技能竞赛实验环境之七--疑难问题
- 阿里 2020暑期实习生 笔试回忆