您当前的位置: 首页 >  计算机视觉

计算机视觉基本原理——RANSAC

发布时间:2018-09-28 07:00:00 ,浏览量:1

全世界只有不到2%的人关注了视觉IMAX

你真是个特别的人

视觉IMAX的第31篇原创文章

一 前言

对于上一篇文章——

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

1)直接线性变换法

     a)8点法

     b)最小二乘法

2)基于RANSAC的鲁棒方法。

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

640?wx_fmt=png

640?wx_fmt=png

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

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

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

二 稳健估计

2.1 稳健的定义

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

640?wx_fmt=png

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

2.2 RANSAC——随机一致性采样

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

基本思想:

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

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

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

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

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

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

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

640?wx_fmt=png

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

640?wx_fmt=png

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

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

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

1. solvePnPRansac

2. findFundamentalMat

文章的最后,给大家推荐一个关于深度学习的课程,如有感兴趣者,可以关注一下。

640

荐读

回复关键词——知识星球,扫码加入星球

640?

关注
打赏
1688896170
查看更多评论

暂无认证

  • 1浏览

    0关注

    107766博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文
立即登录/注册

微信扫码登录

0.0819s