Функция кластеризации Space — дескрипторы SURF с Adaptive MeanShift

в инете ничего не нашел. Недавно появилось несколько статей о кластеризации дескрипторов пространственных признаков (например, из SIFT/SURF) с использованием алгоритма среднего сдвига. Есть ли у кого-нибудь какие-либо ссылки или какой-либо код/библиотека/подсказка для фактического кластеризации дескрипторов SURF? (Матлаб/С++)

Я уже пытался использовать 1D Mean-Shift (который отлично работает с расположением точек), а также некоторые другие средние сдвиги, которые были доступны... хотя у всех, похоже, есть проблемы с более высокими измерениями.

Заранее спасибо!


person luke    schedule 10.11.2014    source источник


Ответы (1)


Почему вы используете алгоритм одномерной классификации с многомерным набором данных? Сегментация по среднему смещению — это неконтролируемая задача классификации, в то время как SIFT и SURF используются для поиска ключевых точек на изображении. Есть только один средний сдвиг. Существуют и другие альтернативы, такие как CAMshift, но в основном они не зависят от среднего смещения. SURF и средний сдвиг являются независимыми алгоритмами. Поэтому вы не найдете реализации с зависимостями, если только она не адаптирована для конкретного приложения.

Поэтому SIFT обычно использует 128-мерный дескриптор на основе EoH (размерность аналогична расширенному дескриптору SURF) для данной ключевой точки. Если вы собираетесь учитывать локальное положение каждого пикселя (x, y), у вас будет 130-мерное пространство признаков, а не 1D.

Если вы хотите классифицировать информацию о краях изображения, вам следует сначала локализовать ключевые точки изображения с помощью SIFT или SURF. Затем используйте конкатенированный вектор EoH и положение пикселя в качестве входных данных для алгоритма сегментации. Если вы будете искать в Google или mathworks функции для N-мерного алгоритма среднего сдвига, вы найдете его. Это тот же процесс для набора данных 1D, поэтому он не имеет жесткого кодирования для случая пользователя 1D. Вы также обнаружили бы, что набор инструментов для изображений MATLAB уже содержит реализацию SURF.

Среднее смещение: 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 упоминаются в оригинальной статье и на ее сайте (А. Ведальди, «Реализация детектора и дескриптора 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

person lukemtesta    schedule 11.11.2014