kd tree 介绍以及在sift中的应用
来源:互联网 发布:linux运维面试题 编辑:程序博客网 时间:2024/06/05 14:51
KD-Tree是一种由二叉搜索树推广而来的用于多维检索的树的结构形式(K即为空间的维数)。它与二叉搜索树不同的是它的每个结点表示k维空间的一个点,并且每一层都根据该层的分辨器(discriminator)对相应对象做出分枝决策。顶层结点按由分辨器决定的一个维度进行划分,第二层则按照该层的分辨器决定的一个维进行划分···,以此类推在余下各维之间不断地划分。直至一个结点中的点数少于给定的最大点数时,结束划分。
在KD-tree上找KNN ( K-nearest neighbor)
BBF(Best BinFirst)算法,借助优先队列(这里用最小堆)实现。从根开始,在KD-tree上找路子的时候,错过的点先塞到优先队列里,自己先一个劲儿扫到leaf;然后再从队列里取出目前key值最小的(这里是是ki维上的距离最小者),重复上述过程,一个劲儿扫到leaf;直到队列找空了,或者已经重复了200遍了停止。
Step1: 将img2的features建KD-tree;
struct kd_node{
};
Step2: 将img1的每个feat到KD-tree里找k个最近邻,这里k=2。
k = kdtree_bbf_knn( kd_root, feat, 2, &nbrs,KDTREE_BBF_MAX_NN_CHKS );
对“有意义的点”的解释:
struct kd_node* explore_to_leaf( struct kd_node* kd_node, structfeature* feat,
{
}
- kd tree 介绍以及在sift中的应用
- kd-tree理论以及在PCL 中的代码的实现
- KD(kd tree)树介绍
- KD-Tree在K-NN的应用
- KD树在knn算法中的应用
- How to Switch Between GDM and KD…
- pcl 中的 kd-tree
- KNN中的KD-tree的创建以及查找
- poj 2255 Tree Recovery
- splay tree 营业额统计
- poj 1848 Tree
- poj 1741 Tree
- poj 1848 Tree
- poj 1741 Tree
- kd树简介 在matlab下VLFeat中的kd-tree使用
- kd树简介 在matlab下VLFeat中的kd-tree使用
- Android AssetManager介绍和应用
- 一行代码,在 iPhone 应用中…
- 教育专家给家长的100条建议(转自:h…
- 遭遇美国教育(转自:http://blog.s…
- 线性最小二乘法
- opencv初步入门编程1
- 数据挖掘10大算法(思维导图)
- kd tree 介绍以及在sift中的应用
- RANSAC算法介绍(转自:http://hi.b…
- EigenVV,cvdiv,GetDims
- Todd.log - a place to keep my thoughts on programming TF-IDF模型的概率解释
- Computer Vision and Androi…
- dodo:人脸识别方法个人见解
- CV会议+领先研究室+专家+代码网址(…
- [转]毕业后的五年拉开大家差…
- 国外人工智能界牛人主页