Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography
随机采样一致性:一个(应用于图像分析和自动制图领域的)模型拟合的范式
作者:Martin A. Fischer

【注】:某些词汇的翻译
Paradigm (范式): a typical example or pattern of something; a model.
<来自网络>是一个领域中主流的行事套路,它包括 philosophy (理念) 和 methods (方法)两部分。
Cartography (制图): map maker; the science or practice of drawing maps.
gross errors(重大误差)
heuristics(探索式方法): a method of solving problems by finding practical ways of dealing with them, learning from past experience.


摘要

一个新的名为随机采样一致性(Random Sample Consensus, RANSAC)的用于从实验数据中拟合出一个模型范式(paradigm)将被介绍。RANSAC 能够解释/平滑(interpreting/smoothing)包含大量重大误差(gross errors)的数据,因此非常适用于自动图像分析中的应用(这个应用中,解释是基于易于出错的(error-prone)特征检测器提供的数据)。本文的主要部分描述了RANSAC在位置确定问题(Location Determination Problem, LDP)中的应用:即,已知一组空间点(路标点landmark)的坐标,且给定了一张图像,确定是由哪些路标点获得(组成)了这张图像。(Given an image depicting a set of landmarks with known locations, determine that point in space from which the image was obtained.)。
??(以下叙述针对的是这个具体问题?)考虑到RANSAC需求,获得了获得解决方案所需的最小地标数量的新结果,并且提出了用于以封闭形式计算这些最小地标解决方案的算法。这些结果为一套能够在复杂的查看和分析条件下解决LDP问题的自动系统提供了基础。实现细节和计算示例同样进行了介绍。

Ⅰ. Introduction

我们将介绍一个新的范式,即随机样本一致性(RANSAC),用于从实验数据中拟合出一个模型的过程;并说明其在场景分析和自动制图中的应用。本文所讨论的应用,即位置确定问题(LDP),在一个不仅仅是使用RANSAC范式的例子的水平上进行了处理;提出了基于何种条件该LDP问题能够被解决的新的基本结论,并描述了一套全面的解决方案,我们预计该方案将在近期内得到实际应用。

(意思是只是捎带着就提出了RANSAC ?。。。)

在很大程度上,场景分析(以及,事实上,一般意义上的科学)都关注根据一组预定义模型(predefined models)对感测数据的解释(interpretation)。从概念上讲,解释涉及两个不同的活动:首先,找到数据与一个可用模型(one of available models)之间的最佳匹配的问题(分类问题);其次,计算所选模型的自由参数的最佳值的问题(参数估计问题)。在实践中,这两个问题不是独立的——解决参数估计问题通常需要解决分类问题。

用于参数估计的经典技术,如最小二乘法,(根据特定的目标函数)优化一个方程描述(模型)对所有的已提供的数据的拟合。这些技术没有内部机制(internal mechanisms)来检测和排除严重错误。 它们是平均技术,它们依赖于假设(平滑假设):任何数据与假定模型(the assumed model)的最大预期偏差是数据集大小的直接函数(a direct function)。 因此,无论数据集的大小如何,总会有足够多的良好值来消除任何重大误差

在许多实际参数估计问题中,平滑假设不成立;即,数据包含未补偿的重大误差。为了解决这种情况,已经提出了几种探索式方法(heuristics)。通常采用的技术是首先使用所有数据导出模型参数,然后定位与该实例化模型(the instantiated model) 最不一致的(farthest from agreement)数据,假设它是一个严重错误,删除它,并迭代此过程直到最大偏差小于某个预设阈值或直到没有足够的数据继续进行。

可以很容易地证明,与一组良好数据混合的单个重大误差(“有毒点”)可能导致上述探索式方法失败(例如,参见图1)。 我们的观点是,平均法不适用于一个未经验证的数据集(averaging is not an appropriate technique to apply to an unverified data set)。

在下一节中,我们将介绍RANSAC范式,该范式能够平滑包含大量重大误差的数据。这种范例特别适用于场景分析,因为经常出错的局部特征检测器是提供给解释算法的数据的来源。局部特征检测器产生两种类型的误差——分类误差(classification errors)测量错误(measurement errors)。当特征检测器错误地将图像的一部分识别为某特征的一次出现时,会发生分类误差。当特征检测器正确识别了特征,但却略微错误地计算其中一个参数(如,它的图像坐标)时,会发生测量误差。测量误差通常遵循正态分布,因此平滑假设适用于它们。然而,分类误差是重大误差,具有比测量误差大得多的影响,且并不能平均掉它们。

在本文的最后几节中,讨论了RANSAC在位置确定问题中的应用:
给定一组“路标点”(“控制点”),其位置在某些坐标系中已知,确定从中获取地标图像的空间点的位置。

考虑到RANSAC要求,基于能够获得解的最小数目的路标点,推导了一些新成果;然后提出了一套算法,该算法能够以封闭形式计算出这些最小数目路标点的解。(传统技术是迭代的,需要良好的初始猜测以确保收敛。)这些结果构成了自动系统的基础,该系统可以在严苛的观察和分析条件下解决LDP。特别是,即使由于低能见度,地形变化或图像分析错误而错误地定位了大量路标点,系统也能正常运行。还提供实现细节和实验结果以完成我们对LDP应用的描述。

Ⅱ. Random Sample Consensus

RANSAC程序与传统平滑技术相反:RANSAC不是使用尽可能多的数据来获得初始解决方案,然后尝试消除无效数据点,而是尽可能使用尽可能小的初始数据集,并在可能的情况下使用一致数据扩大此集合。例如,给定一个从一组二维点拟合出一条圆弧的任务,RANSAC方法将选择一组三个点(因为确定一个圆最少需要三个点),计算圆心和半径,并计算足够接近该圆的点的数量,以表明它们与它的兼容性(即,它们的偏差小到足以被认为是测量误差)。如果有足够的兼容点,RANSAC将采用平滑技术(如最小二乘法)来计算圆的参数的更好的估计值,因为已经识别出一组相互一致(mutually consistent) 的点。

RANSAC范式更正式地陈述如下:
给定一个需要最少 n n n个数据点来实例化其自由参数的模型,以及一组数据点 P P P(且 P P P中的点的数量大于 n n n, [ # ( P ) &gt; n ] [\#(P)&gt;n] [#(P)>n]),随机从数据点集 P P P中选择一个具有 n n n个数据点的子集 S 1 S1 S1并实例化该模型。使用这个实例化好的模型 M 1 M1 M1从数据点集 P P P中确定出一个子集 S 1 ∗ S1^* S1∗,要求子集 S 1 ∗ S1^* S1∗中的点在 M 1 M1 M1的某个误差容忍值(some error tolerance) 之内。该子集 S 1 ∗ S1^* S1∗被称为 S 1 S1 S1的一致性集合(the consensus set)
如果子集 S 1 ∗ S1^* S1∗的数据点的数目大于某一个阈值 t t t, [ # ( S 1 ∗ ) &gt; t ] [\#(S1^*)&gt;t] [#(S1∗)>t],使用子集 S 1 ∗ S1^* S1∗拟合(可使用最小二乘)新模型 M 1 ∗ M1^* M1∗。(注:阈值 t t t是一个与 P P P中重大误差的数量估计值相关的函数)
如果子集 S 1 ∗ S1^* S1∗的数据点的数目小于该阈值 t t t,则随机从数据点集 P P P中选择一个具有 n n n个数据点的新的子集 S 2 S2 S2并重复上述过程。如果尝试次数达到预先指定次数之后,并没能找到包含 t t t个或更多点的一致性集合,或者认为失败终止该算法,或者使用已找到的点数最多的一致性集合拟合模型。

上述算法有两个明显的改进:第一,如果存在选取点构成点集 S S S 相关理论,则使用确定性选择过程而不是随机选择过程;第二,一旦找到合适的一致性集合 S ∗ S^* S∗并据此实例化了一个模型 M ∗ M^* M∗,则将 P P P中与 M ∗ M^* M∗一致的任意一些新点添加到 S ∗ S^* S∗并基于该更大的集合计算新模型。

RANSAC范式包含三个未指定的参数:(1)用于确定某个点是否与模型兼容的误差容忍值(the error tolerance),(2)要尝试的子集的数量,以及(3)阈值 t t t,其是兼容点的数量,用于表明已找到正确模型。在以下小节中将讨论计算这些参数的合理值的方法。


明确 算法流程、涉及的参数含义及参数值得设置依据。

Random Sample Consensus: A Paradigm for Model Fitting相关推荐

  1. 【论文阅读】24-USAC: A Universal Framework for Random Sample Consensus

    [论文阅读]24-USAC: A Universal Framework for Random Sample Consensus 0.basic info 1. standard RANSAC 1.1 ...

  2. 【点云处理技术之PCL】随机采样一致算法(Random sample consensus,RANSAC)

    文章目录 1. RANSAC介绍 2. RANSAC与最小二乘法 3. RANSAC思路流程 4. 代码举例 1. RANSAC介绍 应用范围:曲线拟合.地面拟合.图像拼接. RANSAC是" ...

  3. 论文阅读笔记《USAC: A Universal Framework for Random Sample Consensus》

      本文总结了RANSAC算法的流程与存在的问题,整理了近几年基于RANSAC提出的改进算法,并整合各个算法的优势,提出一个统一的RANSAC算法框架.因此本文也可以看做是一片关于RANSAC算法的论 ...

  4. 随机抽样一致算法(Random sample consensus,RANSAC)

    作者:桂. 时间:2017-04-25  21:05:07 链接:http://www.cnblogs.com/xingshansi/p/6763668.html 前言 仍然是昨天的问题,别人问到最小 ...

  5. RANSAC(Random Sample Consensus)随机抽样检验一致性

    转载请注明出处: 算法简介 RANSAC算法的基本假设是样本中包含正确数据(inliers,可以被模型描述的数据),也包含异常数据(outliers,偏离正常范围很远.无法适应数学模型的数据),即数据 ...

  6. 贪心搜索(greedy search)、集束搜索(beam search)、随机采样(random sample)

    当我们训练完成一个自然语言生成模型后,需要使用这个模型生成新的语言(句子),如何生成这些句子,使用如下的方法:贪心搜索,集束搜索,随机搜索. 贪心搜索(greedy search)/采样(Sampli ...

  7. pandas对dataframe的数据列进行随机抽样(Random Sample of Columns)、使用sample函数进行数据列随机抽样

    pandas对dataframe的数据列进行随机抽样(Random Sample of Columns).使用sample函数进行数据列随机抽样 目录

  8. pandas对dataframe的数据行进行随机抽样(Random Sample of Rows):使用sample函数进行数据行随机抽样(有放回的随机抽样,replacement)

    pandas对dataframe的数据行进行随机抽样(Random Sample of Rows):使用sample函数进行数据行随机抽样(有放回的随机抽样,replacement) 目录

  9. pandas对dataframe的数据列进行随机抽样(Random Sample of Columns):使用sample函数进行数据列随机抽样(有放回的随机抽样,replacement)

    pandas对dataframe的数据列进行随机抽样(Random Sample of Columns):使用sample函数进行数据列随机抽样(有放回的随机抽样,replacement) 目录

最新文章

  1. golang strings.Fields 使用
  2. Nature:拟南芥微生物组功能研究
  3. Swoole安装popen()找不到
  4. 推一波JAVA学习公众号
  5. 微信公众号发送客服消息【文本、图片】
  6. 【纯干货】中国的支付清算体系是怎么玩的?
  7. erf和erfc函数
  8. matlab画调和曲线图,调和曲线图和轮廓图的比较
  9. java flex 聊天_【转帖】实现了视频私聊功能
  10. 固态硬盘和m.2固态硬盘有什么区别?
  11. r语言c函数调用一个数据多列,r语言如何将多列数据变成一列
  12. python3之面向对象实例烤地瓜
  13. 4.19 C语言练习(已有一个已正序排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中)
  14. 领域模型 PO、VO、DAO、BO、DTO、POJO
  15. 百度坐标转WGS84
  16. Mybatis学习笔记-配置Log4j以便查看MyBatis操作数据库的过程
  17. uniapp canvas 图片加上文字合成一张新图并保存到手机相册
  18. Visual Studio2022编译报错解决方法
  19. AES AES/GCM/NoPadding 加密解密
  20. python取元素_python 如何提取对象内的元素

热门文章

  1. vue请求拦截器 响应拦截器
  2. OpenGL结合C#进行绘图 VS2015
  3. 『房产观澜』 [经济杂谈]中国房地产泡末的四大根本原因、后果及对策
  4. 深度学习笔记-硬件选型
  5. coc.nvim 补全常见问题
  6. 迈向智能化运维的第二步:自动化运维
  7. 2.激发孩子持续的学习动力,这个方法最有效
  8. SDH/PDH数字传输分析仪
  9. 微信小程序实现数据监听
  10. 蓝屏死机”再见?Win10 正测试“绿屏”死机