SIFT向量的分层k均值聚类

时间:2012-06-12 09:29:09

标签: cluster-analysis hierarchical-data sift descriptor object-recognition

所有

我正在寻找在http://www.wisdom.weizmann.ac.il/~bagon/CVspring07/files/scalable.pdf

中应用David Nister和Henrik Stewenius的相同方法

在本文中,他们使用大量的SIFT向量(128-D)作为分层k-means聚类的输入来构建分层视觉词汇树。

有没有人知道我可以用来进行这种聚类的好库吗?

Ps:输入SIFT描述符的数量很高(70,000,000),我希望该结果将是一个包含1,000,000个叶子节点的词汇表树。

非常感谢。 问候。

1 个答案:

答案 0 :(得分:2)

如果数据采用支持的格式,OpenIMAJ中的ClusterQuantiser工具应该能够执行此操作。如果该工具无法使用开箱即用的数据,那么您可以为org.openimaj.ml.clustering.kmeans.HierarchicalByteKMeans类(在svn trunk版本中)或1.0.5版本中的org.openimaj.ml.clustering.kmeans.HByteKMeans类编写驱动程序。该类的两个版本都支持来自磁盘的流数据,因此您无需保留内存中的所有功能!

为了完整性,vlfeat也有一个分层的k-means实现,但我不确定它的扩展程度。

根据实际经验,您可能还会考虑在群集之前对功能进行采样。我不确定你会从群集中获得多少好处。