zoukankan      html  css  js  c++  java
  • 计算机视觉基本原理——RANSAC

    公众号【视觉IMAX】第31篇原创文章

     一 前言

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

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

    1)直接线性变换法

         a)8点法

         b)最小二乘法

    2)基于RANSAC的鲁棒方法。

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

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

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

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

    二 稳健估计

    2.1 稳健的定义

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

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

    2.2 RANSAC——随机一致性采样

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

    基本思想:

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

    1. 有一个模型适用于假设的局内点,即所有的未知参数都能从假设的局内点计算得出。

    2. 用1中得到的模型去测试所有的其它数据,如果某个点适用于估计的模型,认为它也是局内点。

    3. 如果有足够多的点被归类为假设的局内点,那么估计的模型就足够合理。

    4. 然后,用所有假设的局内点去重新估计模型,因为它仅仅被初始的假设局内点估计过。

    5. 最后,通过估计局内点与模型的错误率来评估模型。

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

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

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

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

    1. solvePnPRansac

    2. findFundamentalMat

    荐读

    Homography matrix(单应性矩阵)在广告投放中的实践

    那些你所不知道的文献下载网址经验总结

    Matlab R2018a 64位安装教程

  • 相关阅读:
    作业DAY002
    作业DAY001
    作业 5:词频统计——增强功能
    在JdbcTemplate里面关于queryForMap返回值的疑问
    直接打印map, 为什么能直接输出value
    JdbcTemplate jar包 下载
    edge 修改链接打开方式
    Java中的判断实例
    关于Junit4 和 Junit5.4
    关于函数式接口, printable 自定义
  • 原文地址:https://www.cnblogs.com/YongQiVisionIMAX/p/9716664.html
Copyright © 2011-2022 走看看