【问题标题】:Clustering feature Space - SURF descriptors with Adaptive MeanShift聚类特征空间 - 具有自适应 MeanShift 的 SURF 描述符
【发布时间】:2015-01-07 02:57:08
【问题描述】:

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

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

提前致谢!

【问题讨论】:

    标签: c++ matlab cluster-analysis surf


    【解决方案1】:

    为什么要对高维数据集使用一维分类算法? Mean-shift 分割是一种无监督的分类任务,而 SIFT 和 SURF 用于查找图像中的关键点。只有一个均值偏移。还有其他选择,例如 CAMshift,但大多独立于均值偏移。 SURF 和 mean-shift 是独立的算法。因此,除非它是为特定应用程序量身定制的,否则您不会发现任何具有依赖关系的实现。

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

    如果您希望对图像中的边缘信息进行分类,您应该首先使用 SIFT 或 SURF 定位图像中的关键点。然后使用 EoH 和像素位置的连接向量作为分割算法的输入。如果您在 google 或 mathworks 函数上搜索 N 维均值偏移算法,您会找到一个。它与一维数据集的过程相同,因此对于一维用户案例进行硬编码没有任何好处。您还会发现 MATLAB 的图像工具箱已经包含一个 SURF 实现。

    均值偏移:http://www.mathworks.co.uk/matlabcentral/fileexchange/10161-mean-shift-clustering

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

    原始论文及其站点(A. Vedaldi,“SIFT 检测器和描述符的实现”,2004 年)中引用了 C++ 和 MATLAB SIFT 实现。

    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

    【讨论】:

      猜你喜欢
      • 2014-05-07
      • 2013-01-01
      • 1970-01-01
      • 2012-05-30
      • 2012-04-16
      • 2016-03-16
      • 2011-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多