特征点匹配——使用基础矩阵、单应性矩阵的RANSAC算法去除误匹配点对
来源:互联网 发布:私人订制软件 编辑:程序博客网 时间:2024/06/10 20:10
不管是我在之前的博文中提到的SIFT、ORB等算法,其实真正匹配的结果都不会特别好,一旦视角上的变化比较大或者出现之前图像中没有出现的区域,就很容易产生误匹配。但是在实际应用中这些误匹配的点并没有对最终的匹配结果造成很大的影响,这是因为一般在进行匹配以后,都进行了去除误匹配点对的操作,这篇博文主要介绍的就是一种比较有名的RANSAC算法。
那么,首先来看一下这个算法。
一、RANSAC算法介绍
RANSAC(Random Sample Consensus)算法是一种简单且有效的去除噪声影响,估计模型的一种方法。与普通的去噪算法不同,RANSAC算法是使用尽可能少的点来估计模型参数,然后尽可能的扩大得到的模型参数的影响范围。
RANSAC算法的具体描述是:给定
对下面的操作执行
(1)从
(2)用这
(3)对
迭代
因为在实际应用中
则有
这里
二、单应性矩阵介绍
通过上面我们了解到了RANSAC算法,那么如何应用RANSAC算法去除误配点呢。首先,我们来介绍一下单应性矩阵。
单应性矩阵描述的是针对同一事物,在不同的视角下拍摄的两幅图像之间的关系。假设这两幅图像之间是透视变换,则单应性矩阵也就是透视变换矩阵
则有
因此要恢复出
那么就可以每次从所有的匹配点中选出4对,计算单应性矩阵
三、基础矩阵介绍
对于基础矩阵的介绍在我之前的博文里已经介绍过 三维重建(一)外极几何,基础矩阵及求解,使用RANSAC方法也与上面单应性矩阵的方法相同。
这里需要注意的是,使用单应性矩阵的方法去除误匹配点对更加严格,也就是说得到的结果更加精确,但是相对于基础矩阵的方法来讲,最后得到的匹配点数目也更少。
- 特征点匹配——使用基础矩阵、单应性矩阵的RANSAC算法去除误匹配点对
- 使用SIFT和RANSAC算法,完成特征点的正确匹配,并求出变换矩阵,通过变换矩阵计算出要识别物体的边界
- ransac算法–基于几何关系的图像特征匹配点对提纯
- SIFT特征点匹配中KD-tree与Ransac算法的使用
- RANSAC算法实现去除误匹配并计算拼接矩阵-随笔
- surf特征+FLANN特征匹配+knn筛选匹配点+单应性矩阵映射
- Opencv实现:SIFT特征提取+RANSAC剔除误匹配点
- Opencv实现:SIFT特征提取+RANSAC剔除误匹配点
- 【CS】尺度不变特征变换匹配算法SIFT(3):RANSAC剔除错误匹配点
- SIFT特征点匹配与消除错配:BBF,RANSAC
- SIFT特征点匹配与消除错配:BBF,RANSAC
- SIFT特征点匹配与消除错配:BBF,RANSAC
- SIFT特征点匹配与消除错配:BBF,RANSAC .
- SIFT特征点匹配与消除错配:BBF,RANSAC
- SIFT特征点匹配与消除错配:BBF,RANSAC
- SIFT特征点匹配与消除错配:BBF,RANSAC
- 2维特征Feature2D—特征点的图像匹配
- RANSAC 特征匹配算法解析
- 第一章 简介
- 5.Android数据保存策略之2--SD卡
- 【c++】二叉树的线索化
- 多线程三
- CC2538知识
- 特征点匹配——使用基础矩阵、单应性矩阵的RANSAC算法去除误匹配点对
- Intel Code Challenge Elimination Round (Div.1 + Div.2, combined)F. Cyclic Cipher
- 机器学习05-支持向量机_1
- OpenMV 机器视觉模块 简介
- Android使用Java反射机制,被调用的类多出未定义的field
- DualPivotQuicKSort
- 带色彩恢复的多尺度视网膜增强算法(MSRCR)的原理、实现及应用。
- 【Day26】include require include_once require_once 的区别深度总结
- FOF管理系列之五:你适合投什么样的FOF产品?