@dragonfive
2015-06-09T04:03:13.000000Z
字数 1178
阅读 574
数字图像处理
如果提取的两个特征点描述矢量间距离很小,这两个特征点在对应场景的同一位置,特征点匹配技术就是利用这个原理,从两组特征点集合中找到两辆距离最近的特征点匹配对,这个匹配对对应的是场景同一个位置。
特征点匹配问题可以归结为一个通过距离函数在高维矢量之间进行相似性检索的问题。针对度量空间设计的索引结构算法在进行相似度查询时只利用了距离函数的三角不等式性质,所以使用更加普遍。
索引结构中相似性查询有两种基本方式:
kd-树是对数据点在k维空间中划分的一种数据结构。是一个二叉树,每个节点表示的是一个空间范围。
比较容易刻画数据的聚簇性质,适应数据集的统计分布特性。
kd-树种每个结点的数据类型,kd-树是一种二叉排序树
| 字段 | 数据类型 | 描述 |
|---|---|---|
| Node-data | 数据矢量 | 数据集中某个数据点,是n维矢量 |
| Range | 空间矢量 | 该节点所代表的空间范围 |
| split | 整数 | 确定分割左右子节点的那个维度 |
| left | 左子树 | 这棵树上的data都小于Node-data |
| right | 右子树 | 这棵树上的data都大于Node-data |
二分法
数据集{(2,3),(5,4),(9,6),(4,7),(8,1),(7,2)}
1. 确定split域,也就是第一维,因为数据集里有两维,第一维的方差是39,第二维的方差是28.63。在第一维上的方差最大。
2. 确定选定维度的中值;这里第一维的序列是2,4,5,7,8,9 ,这里选的是7也就是我们选到的根节点的数据室(7,2)
3. 比较剩下的数据,在指定维度上的分量如果大于根节点的值那就在右子树,如果小于或等于根节点的值那就在左子树上。
4. 递归分下去。