4

Im работает над проблемой автоматической аннотации изображения, в которой я пытаюсь связать теги с изображениями. Для этого я пытаюсь использовать функции SIFT для обучения. Но проблема в том, что все функции SIFT представляют собой набор ключевых точек, каждый из которых имеет 2-мерный массив, а число ключевых точек также огромно. Как многие и как я могу дать их для моего алгоритма обучения, который обычно принимает только один -d?Как использовать SIFT/SURF как функции для алгоритма машинного обучения?

+0

вы можете посмотреть этот ответ http://stackoverflow.com/a/36795946/1197132 –

ответ

1

Вы можете представить один SIFT как «визуальное слово», который является одним номером и использовать его как вход SVM, я думаю, что это то, что вам нужно. Обычно это делается путем кластеризации k -средством.

Этот метод называется «мешок-слова» и описан в this paper.

Short presentation review of method.

1

Вы должны прочитать оригинальную статью о SIFT, она сообщает вам, что такое SIFT и как ее использовать, вы должны внимательно прочитать главу 7 и отдохнуть, чтобы понять, как ее использовать. Вот link для оригинальной бумаги.

+0

Моя проблема не в SIFT как таковом, я понимаю, что выход представляет собой набор ключевых точек, каждый из которых имеет 128 значений. Даже если я считаю, что у вас 10 лучших ключевых моментов, число значений, с которыми мне приходится иметь дело, составляет 128 x 10, что очень важно, так или иначе, чтобы применить уменьшение размерности или что-то для этих ключевых точек? – sreeraag

+1

Тогда вы должны прочитать о PCA-SIFT. – guneykayim

1

просеять и Surf является инвариантной особенностью экстракторы. Там для соответствия функций поможет решить множество проблем.

  • Но проблема связана с тем, что все точки могут быть не одинаковыми в двух разных изображениях. (и в случае проблемы подобия). Поэтому вы должны использовать функции, которые соответствуют другим.

  • Другая проблема заключается в том, что эти алгоритмы извлекают множество функций, которые невозможно сопоставить в больших наборах данных.

Существует хорошее решение тех проблем, которые называют «сумкой визуального Слова»

https://github.com/dermotte/LIRE полного мешок визуального слова в полном объеме. Вот сайт lire Demo.

Код очень прост, если вы знаете сумку визуального слова, которое вы также можете изменить.

После получения визуального слова вы должны использовать методы поиска информации, используемые в поисковых системах. Кстати, Lire также включает библиотеку поиска информации, которая называется lucene. Вы должны подвести лир до тех пор, пока не получите полную идею и не выполните свою собственную.