美文网首页3D视觉工坊
计算机视觉原理——RANSAC

计算机视觉原理——RANSAC

作者: 3D视觉工坊 | 来源:发表于2018-09-27 22:21 被阅读11次

一 前言

对于上一篇文章——一分钟详解「本质矩阵」推导过程中,如何稳健地估计本质矩阵或者基本矩阵呢?正是这篇文章重点介绍的内容。

基本矩阵求解方法主要有:

  1. 直接线性变换法
  • 8点法
  • 最小二乘法
  1. 基于RANSAC的鲁棒方法。

先简单介绍一下直接线性变换法:



注:
三个红线标注的三个等式等价。

在上述分析过程中,如果n>=8时,最小二乘法求解是否是最优估计呢?

接下来,我们重点探讨一下这个问题。

二 稳健估计

2.1 稳健的定义

稳健(robust):对数据噪声的敏感性。


对于上述采样,如果出现外点(距离正确值较远),将会影响实际估计效果。

2.2 RANSAC——随机一致性采样

RANSAC主要解决样本中的外点问题,最多可处理50%的外点情况。

基本思想:
RANSAC通过反复选择数据中的一组随机子集来达成目标。被选取的子集被假设为局内点,并用下述方法进行验证:

  1. 有一个模型适用于假设的局内点,即所有的未知参数都能从假设的局内点计算得出。
  2. 用1中得到的模型去测试所有的其它数据,如果某个点适用于估计的模型,认为它也是局内点。
  3. 如果有足够多的点被归类为假设的局内点,那么估计的模型就足够合理。
  4. 然后,用所有假设的局内点去重新估计模型,因为它仅仅被初始的假设局内点估计过。
  5. 最后,通过估计局内点与模型的错误率来评估模型。

这个过程被重复执行固定的次数,每次产生的模型要么因为局内点太少而被舍弃,要么因为它比现有的模型更好而被选用。

2.png

对上述步骤,进行简单总结如下:


3.png

举个例子:使用RANSAC——拟合直线

4.png 5.png 6.png 7.png 8.png 9.png

2.3 关于OpenCV中使用到RANSAC的相关函数

  1. solvePnPRansac
  2. findFundamentalMat
1.jpg

相关文章

  • 计算机视觉原理——RANSAC

    一 前言 对于上一篇文章——一分钟详解「本质矩阵」推导过程中,如何稳健地估计本质矩阵或者基本矩阵呢?正是这篇文章重...

  • 基础

    VSLAM基础(二)————相机模型及视觉坐标系 VSLAM基础(四)————RANSAC、最小二乘法、DLT

  • fastaiv3-lesson3笔记-CamVid图片语义分割

    基本原理及实例 计算机视觉技术:图像语义分割,根据「图像内容」对「指定区域」进行标记」的「计算机视觉」任务。简言之...

  • 一、机器视觉系统基本原理

    1.机器视觉系统的原理 机器视觉系统的目的就是给机器或自动生产线添加一套视觉系统,其原理是由计算机或图像处理器以及...

  • 计算机视觉资源库

    Python 计算机视觉 SimpleCV—开源的计算机视觉框架,可以访问如OpenCV等高性能计算机视觉库。使用...

  • 计算机视觉历史回顾与介绍-笔记

    计算机视觉从何而来 由于“眼睛”,推动了物种的进化。由生物视觉系统,从而开始做相关的计算机视觉的研究。 计算机视觉...

  • AI计算机视觉研究内容浅析

    一、什么是计算机视觉? 计算机视觉,英文Computer Vision,简称CV。计算机视觉是一门研究如何使机...

  • 浅谈计算机视觉与自然语言处理

    原创:杨其泓 1. 计算机视觉 1.1. 什么是计算机视觉 计算机视觉(Computer Vision)是一门研究...

  • OpenCV 单应矩阵应用:全景图像融合原理

    之前的写了好几篇文,什么特征点检测,匹配,RANSAC之类的乱七八糟的,就是为了做这个应用。了解原理之后用NI V...

  • “罪恶克星”张学友,AI人脸识别新职业

    “人脸识别”技术属于计算机视觉的应用。计算机视觉是指用计算机来模拟人的视觉系统,实现人的视觉功能,以适应、理解外界...

网友评论

    本文标题:计算机视觉原理——RANSAC

    本文链接:https://www.haomeiwen.com/subject/qdiyoftx.html