RANSAC: Random Sample Consensus

news2024/11/18 1:25:10

目录

  • RANSAC
  • 算法基本思想和流程
  • 迭代次数推导
  • 参考

RANSAC

RANSAC(RAndom SAmple Consensus,随机采样一致)算法是从一组含有外点(outliers)的数据中正确估计数学模型参数的迭代算法。“外点”一般指的的数据中的噪声,比如说匹配中的误匹配和估计曲线中的离群点。所以,RANSAC也是一种“外点”检测算法。RANSAC算法是一种不确定算法,它只能在一种概率下产生结果,并且这个概率会随着迭代次数的增加而加大。

  • 内点:符合模型的数据,或者说带入模型后误差小于阈值
  • 外点:不符合模型的数据,或者说带入模型后误差大于阈值

算法基本思想和流程

RANSAC是通过反复选择数据集去估计出模型,一直迭代到估计出认为比较好的模型。
具体的实现步骤可以分为以下几步:

  1. 选择出可以估计出模型的最小数据集
  2. 使用这个数据集来计算出数据模型
  3. 将所有数据带入这个模型,计算出“内点”的数目
  4. 比较当前模型和之前推出的最好的模型的“内点“的数量,记录最大“内点”数的模型参数和“内点”数
  5. 重复1-4步,直到迭代结束或者当前模型已经足够好了(“内点数目大于一定数量”)

迭代次数推导

假设“内点”在数据中的占比为 t t t
在这里插入图片描述
那么每次计算模型使用 N N N 个点的情况下,选取的点至少有一个外点的概率:
1 − t N 1 - t^N 1tN

在迭代 k k k 次的情况下, k k k 次计算模式都至少采样到一个外点的概率:
( 1 − t N ) k (1-t^N)^k (1tN)k

则采样到正确的 N N N 个点去计算出正确模型的概率:
P = 1 − ( 1 − t N ) k P = 1 - (1-t^N)^k P=1(1tN)k

可以求得:
k = l o g ( 1 − P ) / l o g ( 1 − t N ) k = log(1-P) / log(1-t^N) k=log(1P)/log(1tN)

“内点”的概率 t t t 通常是一个先验值。 P P P 是我们希望RANSAC得到正确模型的概率。如果事先不知道 t t t 的值,可以使用自适应迭代次数的方法。也就是一开始设定一个无穷大的迭代次数,然后每次更新模型参数估计的时候,用当前的“内点”比值当成 t t t 来估算出迭代次数。

参考

RANSAC算法详解(附Python拟合直线模型代码)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/195352.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电脑黑屏却开着机是怎么回事?解决黑屏的快捷方法

我们经常会用到电脑,但是你真的了解电脑相关知识吗?遇到比较复杂的电脑问题,你是否会手足无措?电脑黑屏却开着机这是什么原因造成的,我们有什么好办法恢复黑屏的电脑吗? 本文针对电脑黑屏却开着机的情况&a…

PCB生产工艺 | 第三道之沉铜,你都了解吗?

衔接上文,继续为朋友们分享普通单双面板的生产工艺流程。 如图,第三道主流程为沉铜。 沉铜的目的为: 在整个印制板(尤其是孔壁)上沉积一层薄铜,以便随后进行孔内电镀,使孔金属化(孔…

小众点评项目要点内容总结【面试用】

小众点评项目要点 文章目录小众点评项目要点1.使用Redis代替Session登录1.1 Session登录存在的问题1.2 使用Redis代替Session登录分析1.3 使用Redis登录的流程1.4 解决Redis中有效期问题2.使用Redis作为缓存2.1 为什么使用缓存2.2 缓存策略2.3 解决缓存穿透2.4 解决缓存雪崩2.5…

CSS响应式设计——(视口/网格视图/媒体查询/图像/视频)看这一篇就够了

目录 响应式网页设计 - 简介 什么是响应式网页设计? 为所有用户获得最佳体验的设计 响应式网页设计 - 视口 什么是视口? 设置视口 把内容调整到视口的大小 响应式网页设计 - 网格视图 什么是网格视图? 构建响应式网格视图 实例 C…

【冷知识】如何快速获取自己的微信公众号关注页的链接地址?

一:业务场景 目前微信公众号的关注方法基本有三种: 扫描公众号二维码搜索公众号账号名称通过阅读公众号发布出来的公众图文,点击上面的微信号名称(右上角三点),可以查看公众号,进入关注页面。 但是如果想实现通过一个链接直接跳转到公众号的关注页面,…

VRP系统(视图介绍以及基本命令)

前言 VRP (Versatile Routing Platform)即通用路由平台,是华为在通信领域多年的研究经验结晶,是华为所有基于IP/ATM构架的数据通信产品操作系统平台。运行VRP操作系统的华为产品包括路由器、局域网交换机、ATM交换机、拨号访问服务器、IP电话网关、电信级…

【Hadoop】Hadoop 3.x 新特性总览

Hadoop 3.x 新特性剖析系列11. 概述2. 内容2.1 JDK2.2 EC技术2.3 YARN的时间线V.2服务2.3.1 伸缩性2.3.2 可用性2.3.3 架构体系2.4 优化Hadoop Shell脚本2.5 重构Hadoop Client Jar包2.6 支持等待容器和分布式调度2.7 支持多个NameNode节点2.8 默认的服务端口被修改2.9 支持文件…

数据量过大,使用saveBatch保存数据太慢如何解决:

数据量过大,使用saveBatch保存数据太慢如何解决: 在使用mybatis-plus的saveBatch方法时发现保存太慢,会生成一大堆的insert,而不是一批一批的,影响因素可能有两个,如下: 1. mybatis-plus使用s…

一文读懂SCADA系统的组件功能及应用

什么是SCADASCADA是一个功能强大的控制系统,旨在收集,分析和可视化来自工业设备的数据。SCADA系统自动提取、监控、处理、分发、记录和显示从远程现场设备(如传感器、工厂机器、电机、泵、阀门)和工业企业、制造设施、核电站和炼油厂等资产密集型环境中的…

kkFileView 文件在线预览部署

一、什么是kkFileView kkFileView为文件文档在线预览解决方案,该项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等等。 官方地址kkFi…

MasterSlave概念与配置与eeprom信息擦除解决步骤

目录 一、Master&Slave概念与配置​ 1.Master&Slave概念​ 2.期待协商结果​ 3.RENIX配置​ 4.帮助文档​ 二、eeprom信息擦除解决步骤​ 1.使用SSH管理软件连接​​网络测试仪​​ 2.使用“cd /opt/eeprom”命令进入eeprom文件夹 3.进入eeprom文件夹 4.重启…

GPU云服务器CentOS环境下的配置教程

CnetOS环境部署 CentOS是支持自动安装的cuda以及相关驱动的,我们就直接安装吧 测试环境 登录后首先检查系统是否有支持 CUDA 编程的 GPU,使用如下命令查看当前GPU的型号。可以识别出NVIDIA T4 lspci | grep -i nvidia输入nvidia-smi,这里…

KernelShark分析内核任务执行过程

一、KernelShark简介 KernelShark是一个非常实用的工具,其可以搭配 trace-cmd 使用,将内核的任务执行过程以直观的形式展现出来。下面的文档中详细的介绍了KernelShark的使用方法和功能,这里不再详细描述 https://www.kernelshark.org/Docum…

C语言--模拟实现库函数strcpy

目录前言strcpy实现的基本原理函数的模拟实现代码优化assert--断言const关键字strcpy的返回值结语前言 本章内容我们将通过相关函数来实现库函数中的strcpy。 strcpy实现的基本原理 C语言 strcpy()函数用于对字符串进行复制(拷贝)。需要的头文件为 &l…

IPtables进行端口复用

目录第一种方式:ICMP做遥控开关1、创建端口复用链2、创建端口复用规则,将流量转发至22端口3、开启开关4、关闭开关5、lets do it第二种方式:利用tcp数据包的关键字做遥控开关1、端口复用链2、端口复用规则(与上面一致)3、开启开关4、关闭开关…

手机上怎么制作动图?两招教你手机在线制作gif动画

想要在手机上制作gif动态图片,还不想下载软件的时候要怎么办呢?很简单,下面给大家分享两招在线gif制作(https://www.gif.cn/)的工具,不需要下载任何软件。小白也能轻松上手,支持原画质导出&…

STM32 (十五)ESP8266WIFI

简介1 ESP8266wifi 模块低功耗串口WiFi模块ESP8266内置一个Tensilica(泰思立达) Xtensa架构的32位处理器L106,具有5级流水线(ARM CortexM3是3级流水线),最大时钟速度为160MHz,可以使用高达16MB的外部SPI Flash。 该模块…

Kotlin Navigation开发

前言 其实小编之前一直都是用的Java来开发Android,但是工作需求,开始了Kotlin的编程,接触到了JetPack,发现其中的Navigation特别有意思,今天来给大家分享一下,我们做一个四个页面吧,从APP的 欢…

2023年PMP考试如何备考?

下面我给各位正在学习备考或者正在犹豫是否报名的朋友分享下我的想法和学习经验,希望对各位朋友有帮助。 一, 关于读PMBOK 在整个学习和备考期间我总共读了五遍PMBOK,第一遍是粗略的读,在读的时候一定要有耐心,因为在…

电商系统的高质量容量保障是怎样“炼成”的?

一分钟精华速览 容量保障的目标是保证服务在大量用户访问时,依然可以正常为用户提供服务。比如,在“双11”购物节的超高访问量下,各电商系统依然能够稳定地运行,可以说容量保障是所有技术人都应当具备的技能。 知名技术博主老张…