【计算机视觉】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

相关文章

《计算机英语》Unit 1 Computer Overview 计算机概述

期末试卷组成 1、选择20道 2、判断20道 3、词汇翻译(单词+词组,参照课后习题) 4、翻译2道(一道原题,参照作业) SectionA About Computer 关于计算机 algorithm          n.  算法  operate          v.  操作  digital           adj. 数字的  integrated circuit

计算机组成原理——RECORD

第一章 概论 1.固件  将部分操作系统固化——即把软件永恒存于只读存储器中。 2.多级层次结构的计算机系统 3.冯*诺依曼计算机的特点 4.现代计算机的组成:CPU、I/O设备、主存储器(MM) 5.细化的计算机组成框图 6.指令操作的三个阶段:取指、分析、执行 第二章 计算机的发展 1.第一台由电子管组成的电子数字积分和计算机(ENIAC) 第三章 系统总线

计算机Java项目|基于SpringBoot的网上摄影工作室

作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库、技术互助 收藏点赞不迷路  关注作者有好处 文末获取源码  项目编号:L-BS-QBBSSPRINGBOOT

【计算机组成原理】部分题目汇总

计算机组成原理 部分题目汇总 一. 简答题 RISC和CICS 简要说明,比较异同 RISC(精简指令集)注重简单快速的指令执行,使用少量通用寄存器,固定长度指令,优化硬件性能,依赖软件(如编译器)来提升效率。 CISC(复杂指令集)包含多样复杂的指令,能一条指令完成多步操作,采用变长指令,减少指令数但可能增加执行时间,倾向于硬件直接支持复杂功能减轻软件负担。 两者均追求高性能,但RISC

剑指Offer—编程题15(链表中倒数第k个结点)

题目:输入一个链表,输出该链表中倒数第k 个结点.为了符合大多数人的习惯,本题从1 开始计数,即链表的尾结点是倒数第1 个结点.例如一个链表有6 个结点,从头结点开始它们的值依次是1 、2、3、4、5 、6。这个个链表的倒数第3 个结点是值为4 的结点. public static class ListNode {int value;ListNode next;} 解题思路:

安徽理工大学2计算机考研情况,招收计算机专业的学院和联培都不少!

安徽理工大学(Anhui University of Science and Technology),位于淮南市,是安徽省和应急管理部共建高校,安徽省高等教育振兴计划“地方特色高水平大学”建设高校,安徽省高峰学科建设计划特别支持高校,国家“中西部高校基础能力建设工程”支持高校,入选教育部“卓越工程师教育培养计划”实施高校、中国人民解放军后备军官培养选拔基地、全国首批深化创新创业教育改革示范高校、首

关于修改计算机的处理器数和最大内存数的问题

问题描述: 刚开始本来是想让计算机的运行速度运行的快点,于是在网上搜索如何让计算机的运行速度更快,找到了一种关于修改计算机内存数和计算机的处理核数可以让计算机运行的更快。 遇到问题: 当我通过命令msconfig →引导→高级选项→勾选了处理器数和最大内存数,然后重启,结构整个计算机都卡的要死,于是记录下来。网上的答案有时候真的是很不负责任,也有可能是自己技术不到位。 结果:取消处理器和内

兰州理工大学24计算机考研情况,好多专业都接受调剂,只有计算机专硕不接收调剂,复试线为283分!

兰州理工大学(Lanzhou University of Technology),位于甘肃省兰州市,是甘肃省人民政府、教育部、国家国防科技工业局共建高校,甘肃省高水平大学和“一流学科”建设高校;入选国家“中西部高校基础能力建设工程”、教育部“卓越工程师计划”、“111计划”、新工科研究与实践项目、国家大学生创新性实验计划,是国家国防教育特色学校、全国毕业生就业典型经验高校、中国政府奖

【论文精读】分类扩散模型:重振密度比估计(Revitalizing Density Ratio Estimation)

文章目录 一、文章概览(一)问题的提出(二)文章工作 二、理论背景(一)密度比估计DRE(二)去噪扩散模型 三、方法(一)推导分类和去噪之间的关系(二)组合训练方法(三)一步精确的似然计算 四、实验(一)使用两种损失对于实现最佳分类器的重要性(二)去噪结果、图像质量和负对数似然 论文:Classification Diffusion Models: Revitalizing

计组_计算机概要与设计

2024.06.23~2024.06.27:计算机组成原理学习笔记 CH1 计算机概要与设计 1.1 计算机的分类1.1.1 传统按照应用分类1.1.2 后PC时代1.1.3 存储容量 1.2 八大伟大设计思想1.2.1 两个设计原则1.2.2 四个提高性能1.2.3 存储器层次1.2.4 冗余提高可靠性 1.3 软硬件基础1.3.1 编程语言分类1.3.2 硬件基础(1) 冯诺依曼