Дескрипторы изображений с SIFT / VLFEAT - PullRequest
6 голосов
/ 21 марта 2011

Я хочу выполнить классификационную задачу, в которой я сопоставляю заданное изображение объекта одному из списка предопределенных созвездий, в которых может находиться объект (т. Е. Нахожу наиболее вероятное совпадение).Чтобы получить дескрипторы изображения (на котором я буду запускать алгоритмы машинного обучения), мне было предложено использовать SIFT с реализацией VLFeat.

Прежде всего, мой главный вопрос - я хотел бы игнорировать часть sift для поиска ключевой точки и использовать ее только для своих дескрипторов.В уроке я увидел, что есть возможность сделать это, вызвав

[f,d] = vl_sift(I,'frames',fc) ;

, где fc указывает ключевые моменты.Моя проблема в том, что я хочу явно указать ограничивающую рамку, в которой я хочу вычислить дескрипторы вокруг ключевой точки - но, похоже, я могу указать только параметр масштаба, который сейчас немного загадочен для меня и не позволяетмне указать явно ограничивающий прямоугольник.Есть ли способ достичь этого?

Второй вопрос: имеет ли смысл устанавливать шкалу вручную и получать дескрипторы таким образом?(т.е. привести к хорошему дескриптору?).Любые другие предложения относительно лучших способов получения дескрипторов?(используя SIFT с другими реализациями или другими не-SIFT дескрипторами).Я должен упомянуть, что мой объект всегда является единственным объектом на изображении, центрирован, имеет постоянное освещение и изменяется при некоторых видах поворотов его внутренних частей - и именно поэтому я подумал, что SIFT сработает так, как я понял, на нем основное внимание уделяетсяградиенты ориентации, которые будут меняться в зависимости от поворота объекта.

Спасибо

Ответы [ 3 ]

2 голосов
/ 21 марта 2011

Договорились о том, что масштаб дескриптора выглядит немного загадочно.

См. Третье изображение в учебнике VLFeat SIFT , где они накладывают извлеченные дескрипторы на изображение с помощью следующих команд

h3 = vl_plotsiftdescriptor(d(:,sel),f(:,sel)) ;  
set(h3,'color','g') ;

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

SIFT может показаться излишним для вашего приложения, если вы обладаете таким большим контролем над средой обработки изображений, но она должна работать.

0 голосов
/ 06 февраля 2013

Может быть, я не понял проблему, но, если изображение запроса должно быть сопоставлено с базой данных изображений поездов, и как изображения поездов, так и тестовые изображения являются постоянными в освещении, масштабе, ... возможно, здесь не требуется SIFT , Вы могли бы взглянуть на корреляцию. Вы используете Matlab?

http://docs.opencv.org/doc/tutorials/imgproc/histograms/template_matching/template_matching.html#template-matching «Здесь» вы можете увидеть пример использования корреляции с opencv.

0 голосов
/ 04 апреля 2011

Эй. Это могло бы помочь просмотреть справочную главу этого тезиса: http://www.cs.bris.ac.uk/Publications/pub_master.jsp?id=2001260

Мне потребуется время, чтобы объяснить масштаб, поэтому попробуйте прочитать его и посмотреть соответствующую цитату. Кстати, в этой работе дескрипторы используются в базовом разрешении, т.е. в масштабе ~ 1.

Надеюсь, это поможет.

...