我正在使用VLSift进行对象识别,在我看来,有各种方法可以实现这一点。一种方法是: -extract SIFT功能 -lookup功能与kdtree,包含现有的SIFT功能数据库 - 返回最佳垃圾箱功能
另一个似乎是: -extract SIFT功能 - 创建直方图
即忽略对象识别的分类部分。我是否认为这是两种合法的方法?据我所知,直方图也将获得最佳的bin。如果是这样,哪个更好?有哪些优点和缺点?
答案 0 :(得分:3)
Kd-Tree是一个包含一组项目的数据结构。它允许快速搜索查询项的K个最近匹配。
就目标识别问题而言,Kd-Tree不是必要的组成部分。它仅用于改善匹配各个功能的运行时间。
直方图方法根本不需要匹配单个特征。而是量化查询图像的功能。然后,计算量化特征的直方图。为了找到匹配的数据库图像,您需要在数据库中查找最相似的直方图。
由于不需要匹配单个特征,因此直方图方法渐进地运行得更快。
两种方法之间的一个重要区别是直方图表示不知道为其计算特征向量的关键点的空间坐标。因此,它具有较少的判别力。