在互联网上找不到任何东西。最近有一些关于的文章 使用Mean Shift算法聚类特征空间描述符(例如来自SIFT / SURF)。 有没有人有任何链接或任何代码/库/提示实际集群SURF描述符? (Matlab的/ C ++)
我已经尝试使用1D Mean-Shift(完美适用于点的位置)以及其他一些可用的平均移位......尽管所有看起来都存在更高维度的问题。
提前致谢!
答案 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
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