Matlab kdtree与直方图编码

Matlab kdtree与直方图编码,matlab,computer-vision,sift,Matlab,Computer Vision,Sift,我正在使用VLSift进行对象识别,在我看来,有多种方法可以实现这一点。一种方法是: -提取SIFT特征 -使用包含现有SIFT要素数据库的kdtree查找要素 -返回的最佳bin功能 另一个似乎是: -提取SIFT特征 -创建直方图 即忽略目标识别中的分类部分。这是两种合法的方法,对吗?据我所知,直方图也会得到最好的箱子。如果是,哪一个更好?优点和缺点是什么?Kd Tree是一种包含一组项的数据结构。它允许快速搜索查询项的K个最近匹配项 就目标识别问题而言,Kd树不是必要的组件。它仅用于改进匹

我正在使用VLSift进行对象识别,在我看来,有多种方法可以实现这一点。一种方法是: -提取SIFT特征 -使用包含现有SIFT要素数据库的kdtree查找要素 -返回的最佳bin功能

另一个似乎是: -提取SIFT特征 -创建直方图


即忽略目标识别中的分类部分。这是两种合法的方法,对吗?据我所知,直方图也会得到最好的箱子。如果是,哪一个更好?优点和缺点是什么?

Kd Tree是一种包含一组项的数据结构。它允许快速搜索查询项的K个最近匹配项

就目标识别问题而言,Kd树不是必要的组件。它仅用于改进匹配单个功能的运行时

直方图方法根本不需要匹配单个特征。而是量化查询图像的特征。然后,计算量化特征的直方图。为了找到匹配的数据库图像,需要在数据库中查找最相似的直方图

由于不需要单独的特征匹配,直方图方法渐进地运行得更快


这两种方法之间的一个重要区别是直方图表示不知道计算特征向量的关键点的空间坐标。因此,它的识别能力较低。

因此,总而言之,直方图方法在对象识别中与kd树一样快速和准确?不。直方图表示的识别能力比匹配单个特征的识别能力低。似乎大多数研究人员都采用直方图方法,我想速度更重要我找到了一些直方图方法的matlab源代码,但奇怪的是,它看起来就像kd树的实现。实际上,似乎所有现有的编码方法都涉及kd树。这是为什么?@mugetsu要将每个特征分配到直方图箱,您需要找到将特征分配到哪个直方图箱。这涉及最近邻查找。通常,KD树用于此目的。虽然,对于较小的直方图大小(几千维),线性搜索并没有那么糟糕。