【计算机视觉】Lecture 15:鲁棒估计:RANSAC

2024-05-11 07:58

本文主要是介绍【计算机视觉】Lecture 15:鲁棒估计:RANSAC,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

回忆:参数估计

假设我们找到了两幅图像之间的匹配点,我们认为它们是通过一些参数化变换(例如平移;尺度欧几里德;仿射)相关联的。我们如何估计此变换的参数?

基本策略
基于对应点的最小二乘估计

但这个方法有一些问题…

问题:异常点(外点Outliers)

粗略地说,外点是不符合模型的点。

在这里插入图片描述

错误数据->外点

粗略地说,外点是不符合模型的点。
符合模型的点被称为内点

在这里插入图片描述

外点问题

最小二乘估计对外点敏感,因此,一些外点可以极大地扭曲结果。

在这里插入图片描述
解决方法:对外点具有鲁棒性的估计方法。

外点不是唯一的问题

在这里插入图片描述

多结构(Multiple structures )也会扭曲结果。(拟合过程隐式地假设数据中只有一个模型实例)。

鲁棒估计

将估计视为两个阶段的过程:

  1. 将数据点分类为外点或内点

  2. 在忽略外点的情况下将模型拟合到内点

示例技术:RANSAC
(随机一致性采样 RANdom SAmple Consensus)

M. A. Fischler and R. C. Bolles (June 1981). “Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography”. Comm. of the ACM 24: 381–395.

Ransac 过程

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

算法流程

在这里插入图片描述S——求解模型需要的最少的点的个数
N——需要的迭代次数
d——用于判断一个点是否适应于模型的阈值
T——断定一个模型拟合是否合理所需要的周围点个数

直到N次迭代完成
从一组观测数据中采样 S 个点:
一致且随机地;
对这 S 个点拟合模型;
针对采样以外的每个数据点:
根据d测试其到直线的距离,如果距离小于d,则这个点被当做临近直线的内点
结束;
如果有大于等于 T 个点是临近直线的内点,则找到了一个好的拟合模型。用所有的这些内点重新拟合模型;
结束;
使用拟合误差作为评判,从上述多次采样得到的一系列拟合中选择最好的拟合模型

采样次数的选择

e = 一个点是外点的概率
s = 一次采样中点个数(求解模型需要的最少的点的个数)
N = 采样次数(迭代次数,这也是我们想要计算的)
p = 我们得到一次好的采样的理想概率

求解下式得到N:

在这里插入图片描述

在这里插入图片描述

1 - e:选择的采样点是内点的概率

在这里插入图片描述

在一行中选择的采样点均为内点的概率(也就是采样中只包含内点)

在这里插入图片描述

采样中一个或多个点(至少有一个)是外点(此次采样失败)的概率。

在这里插入图片描述
N次采样全部失败的概率

在这里插入图片描述
N次采样中至少有一次采样成功的概率(也就是至少一次采样中的s个点都是仅由内点组成的)

采样次数?

选择N,使得在概率p下,至少有一个随机样本是没有外点的。比如 p = 0.99

在这里插入图片描述

例子:直线拟合问题中的N

  1. 总共数据量n = 12个点
  2. 最小采样大小 s = 2
  3. 两个外点:e = 1 / 6 -> 20%
  4. 所以 N = 5 给了我们 99% 的机会得到一个全内点的采样

在这里插入图片描述

可接受的一致数据集

我们已经看到,我们不必穷尽地采样点的所有子集,我们只需要随机采样 N 个子集。
然而,通常情况下,我们甚至不需要采样 N 个子集!
提前终止迭代:当内点率达到预期的内点率时则终止迭代(如果发现了一种足够好的模型(该模型有足够小的错误率),则跳出主循环)

在这里插入图片描述

RANSAC:选择距离阈值d

通常根据经验选择

但是…当测量误差已知,并且是平均值0和方差s2的高斯时:平方误差之和服从 m 自由度的 χ2 分布,其中m是误差测量的自由度(余维数)
(维数+余维数)= 参数空间维数

例子:内点概率 p = 0.95

在这里插入图片描述

RANSAC之后

• RANSAC将数据分为内点和外点,并在支持度最大的情况下从最小内点集中计算出估计值

• 使用所有内点,进行最小二乘估计(即标准最小化),从而改进初始的估计

• 找到与最小二乘直线相关的内点,并再次计算最小二乘。

在这里插入图片描述

实际例子

使用RANSAC稳定航空图像,滤除误匹配

  • 在两个图像中寻找角点

  • 使用NCC进行假设匹配

  • 使用RANSAC查找与仿射变换一致的匹配点

  • 获取找到的内点集并估计一个完整的射影变换(单应性矩阵)

RANSAC算法经常用于计算机视觉,例如同时求解相关问题与估计立体摄像机的基础矩阵,在图像拼接时求变换矩阵的时候。

稳定应用

输入:空中视频序列中的两幅图像。

在这里插入图片描述
注意,相机的运动是有“扰动”的

稳定应用

**步骤1:**从两帧中提取Harris角点。
我们用一个比较小的阈值R,因为我们想要很多角点(为了下一步的匹配)

在这里插入图片描述

**步骤2:**假设匹配。
针对图像1中的每个角点,使用NCC在图像2中寻找匹配的灰度值图像块。确保匹配对在两个方向上都有最高的NCC匹配得分。

在这里插入图片描述

**步骤2:**假设匹配。

在这里插入图片描述

正如你所看到的,很多错误的匹配得到了假设。RANSAC的任务是清理这一烂摊子。

**步骤3:**使用RANSAC将最佳的仿射变换鲁棒地拟合到匹配点集。

在这里插入图片描述
有多少个未知数?
需要多少匹配点?

**步骤3:**使用RANSAC将最佳的仿射变换鲁棒地拟合到匹配点集。

仿射变换有6个自由度。因此我们需要3组匹配点对(每一组点对可以列出两个方程)

随机采样3组匹配点对。针对每一个采样,计算它们所定义的唯一的仿射变换。

如何从3组匹配点对计算仿射变换?
使用最小二乘

在这里插入图片描述

然后使用计算的该变换将所有点从图像1变换到图像2,并查看有多少其他匹配点对确认了该假设。重复N次。

在这里插入图片描述

**步骤4:**取用RANSAC标记的内点集,现在使用最小二乘法来估计一个射影变换,该变换将图像对齐。

在这里插入图片描述

**步骤4:**估计射影变换,该变换将图像对齐

在这里插入图片描述

现在人们(和计算机)更容易看到移动的物体。

稳定例子(Stabilization Examples)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

这篇关于【计算机视觉】Lecture 15:鲁棒估计:RANSAC的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/978949

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

Adblock Plus官方规则Easylist China说明与反馈贴(2015.12.15)

-------------------------------特别说明--------------------------------------- 视频广告问题:因Adblock Plus的局限,存在以下现象,优酷、搜狐、17173黑屏并倒数;乐视、爱奇艺播放广告。因为这些视频网站的Flash播放器被植入了检测代码,而Adblock Plus无法修改播放器。 如需同时使用ads

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学

15 组件的切换和对组件的data的使用

划重点 a 标签的使用事件修饰符组件的定义组件的切换:登录 / 注册 泡椒鱼头 :微辣 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.

参会邀请 | 第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)

第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)将于2024年9月13日-15日在中国张家口召开。 MVIPIT 2024聚焦机器视觉、图像处理与影像技术,旨在为专家、学者和研究人员提供一个国际平台,分享研究成果,讨论问题和挑战,探索前沿技术。诚邀高校、科研院所、企业等有关方面的专家学者参加会议。 9月13日(周五):签到日 9月14日(周六):会议日 9月15日(周日