公众号【视觉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位安装教程

最新文章

  1. TimerToPdf
  2. git push免输入账号和密码方法
  3. 工作需求----表单select多选交互
  4. C#复习①
  5. mysql查看存储过程
  6. guava学习--hashing
  7. [算法]树上倍增求LCA
  8. 应用Spring MVC发布restful服务是怎样的一种体验
  9. ERROR com.opensymphony.xwork2.interceptor.ParametersInterceptor.error:34 - Developer Notification
  10. JAVA的文件创建
  11. 【开源项目5】测滑菜单MenuDrawer的使用以及解析
  12. Codeforces Gym 100342C Problem C. Painting Cottages 暴力
  13. js post传值
  14. python查询mysql中文乱码问题
  15. 记录一下从懵懂到理解RESTful的过程
  16. 如何创建Filter的属性页
  17. Cesium 实现粒子效果贴地(伪)
  18. div、span内容超出省略号
  19. Centos下DNS+NamedManager高可用部署方案完整记录
  20. Spark学习之路 (二十八)分布式图计算系统

热门文章

  1. 最近做的一个Spring Boot小项目,欢迎大家访问 http://39.97.115.152/
  2. 【ThinkPHP6:从TP3升级到放弃】1. 前言及准备工作
  3. 目标用户偏好指数Target Group Index分析
  4. 黑客必学之“网页木马webshell”
  5. LeetCode--链表1-单链表
  6. 全网最详细的一篇Flutter 尺寸限制类容器总结
  7. 搭建Flutter开发环境需要注意的几个小Tips
  8. python框架Django实战商城项目之工程搭建
  9. W3C的盒子模型和IE的盒子模型
  10. JavaFX之多个FXML加载和通信