图像处理复习(三):特征点的搜索匹配和筛选
来源:互联网 发布:税收征管数据质量方案 编辑:程序博客网 时间:2024/06/06 17:17
特征点匹配及筛选
特征点匹配
图像的SIFT或者SURF特征均包含一个特征描述子(特征向量),这个描述子构成了一个特征点的描述空间,SIFT为128维,SURF为64维。两个特征点描述子的差异(距离)越小,这两个特征点越有可能来自同一物体的同一位置,也就是所谓的,是互相匹配的特征点。
一般来说采用欧氏距离(
那么
这里就涉及到搜索算法的选择。如果直接采用暴力匹配搜索,在特征点数目比较小的时候匹配效率尚可,但当特征点数目较大时,其
基于KD-Tree的特征点匹配
KD-Tree查找是二叉树查找方法从一维到k维的推广。
但是,KD-Tree只在叶节点记录数据,父节点只记录空间划分的依据。
匹配算法,以SURF为例:
在64维的特征向量数据集
R 中寻找特征向量方差最大的维数k,并在该维数上选择中值m。创建一个节点,在该节点上储存(k,m)。搜索数据集,对于在k维上大于m的数据,划分为右侧特征向量数据集,否则划分为左侧特征向量数据集。用两侧的两个子集代替
R 重复1的操作,直到某个子集无法再划分。将该无法再划分的子集保存到该子集所在的节点,作为叶节点。由此完成建立KD-Tree。获取待匹配特征向量
Si ,从根节点开始,将S(k) 与m 进行比较,根据比较结果进入对应的分支。将未进入的分支在树结构中的位置以及特征向量距离分割超面的距离|S(k)−m| 记录在一个优先级队列中,距离越小越靠前。对分入一个分支的特征向量重复3的操作,直到访问到叶节点。在叶节点中包含的特征向量集
Rl 中用枚举法寻找到最相近的Rp 和次近的Rq 。进行回溯:对优先级列表项中的树节点按顺序和3中的步骤一致,访问到叶节点。在叶节点中若存在距离更加小的最近
Rp 和次近的Rq 则替换,否则就取出优先级队列中下一个树节点,重复操作,直到队列为空或者回溯次数到达上限对于最终获得的两个特征向量
Rp 和Rq 求d(Si,Rp)d(Si,Rq) ,若小于阈值则Sj 与Rp 匹配,否则在匹配结果中去除该特征点Si
特征点提纯:
经过搜索匹配的特征点只是一个基于欧氏距离的粗匹配的结果。
利用马氏距离来进行提纯:
马氏距离:
其中
设粗匹配的特征点集对为
计算
进行筛选:
计算
di=pdi−qdi 求
di 中的最大值dimax 删除满足
di>kdimax 的特征点对,其中k 为阈值,根据相关文献取0.003比较合适
除了利用马氏距离进行筛选之外,还有许多筛选方法,比如利用仿射矩阵变换匹配来筛选等。筛选的方法可以自行根据需求设计,合适的筛选方法可以一定程度上减少匹配过程中收到的噪声干扰。
- 图像处理复习(三):特征点的搜索匹配和筛选
- opencv2.4.9图像特征点的提取和匹配
- Matlab图像处理学习笔记(八):用广义霍夫变换筛选sift特征点
- OpenCV-基于特征点的图像匹配
- 2维特征Feature2D—特征点的图像匹配
- 关于图像处理的特征检测、特征提取和匹配的理解
- 图像特征点(关键点)匹配
- RobHess的SIFT源码图像特征点匹配
- 特征点提取-图像处理
- 《图像局部不变性特征与描述》阅读笔记(5End)-- 特征点匹配、各种检测算子的性能评估
- 《Master Opencv...读书笔记》图像特征点匹配
- OpenCV--特征点检测与图像匹配
- 《Master Opencv...读书笔记》图像特征点匹配
- OpenCV:特征点检测与图像匹配
- opencv图像匹配常用特征点
- OpenCV: 特征点检测与图像匹配
- OpenCV 特征点检测与图像匹配
- OpenCV:特征点检测与图像匹配
- JAVA 学习笔记
- 《Python机器学习》笔记--感知机分类鸢尾花数据集
- Mybatis 最近知识总结(1)
- JVM—垃圾回收机制
- 计算任意多边形的面积
- 图像处理复习(三):特征点的搜索匹配和筛选
- 链家笔试题
- 面试中的高频特色算法题(持续更新中)
- 杭电oj--2063
- Jmeter之后置处理器BeanShell PostProcessor与二进制响应
- MySQL_外键约束
- 快速幂
- c++ primer plus 第九章答案
- pow函数的用法