聚类特征空间 - 具有自适应MeanShift的SURF描述符

时间:2014-11-10 18:01:16

标签: c++ matlab cluster-analysis surf

在互联网上找不到任何东西。最近有一些关于的文章 使用Mean Shift算法聚类特征空间描述符(例如来自SIFT / SURF)。 有没有人有任何链接或任何代码/库/提示实际集群SURF描述符? (Matlab的/ C ++)

我已经尝试使用1D Mean-Shift(完美适用于点的位置)以及其他一些可用的平均移位......尽管所有看起来都存在更高维度的问题。

提前致谢!

1 个答案:

答案 0 :(得分:0)

为什么使用具有高维数据集的一维分类算法?均值漂移分割是无监督分类任务,而SIFT和SURF用于查找图像中的关键点。只有一个平均转变。还有其他的替代品,如CAMshift,但大多数都与均值漂移无关。 SURF和均值漂移是独立的算法。因此,除非为特定应用程序量身定制,否则您将找不到具有依赖关系的实现。

因此,对于给定的关键点,SIFT通常使用基于128维EoH的描述符(与扩展的SURF描述符类似的维度)。如果您要考虑每个像素(x,y)的局部位置,您将拥有130维特征空间,而不是1D。

如果要对图像中的边缘信息进行分类,则应首先使用SIFT或SURF对图像中的关键点进行本地化。然后使用EoH和像素位置的级联向量作为分割算法的输入。如果您在google或mathworks函数中搜索N维均值平移算法,您可能会找到一个。它与1D数据集的过程相同,因此对于1D用户案例没有硬编码的增益。您还会发现MATLAB的图像工具箱已经包含SURF实现。

Mean-Shift:http://www.mathworks.co.uk/matlabcentral/fileexchange/10161-mean-shift-clustering

SURF:http://www.mathworks.co.uk/help/vision/examples/object-detection-in-a-cluttered-scene-using-point-feature-matching.html

C ++和MATLAB SIFT实现在原始论文及其网站上引用(A. Vedaldi,“SIFT探测器和描述符的实现”,2004)。

SIFT:http://www.robots.ox.ac.uk/~vedaldi/code/sift.html

原始SURF文件:http://www.vision.ee.ethz.ch/~surf/eccv06.pdf

原始SIFT论文:http://www.robots.ox.ac.uk/~vedaldi/assets/sift/sift.pdf