OpenCV/C++ - обнаружение ключевых точек SIFT и соответствующие дескрипторы

У меня есть образ. Я использовал детектор краев Canny, а затем применил к нему просеивание.

Вот результат:

введите здесь описание изображения

Я не понимаю результат. Почему у меня есть некоторые точки интереса на некоторых черных областях и не так много там, где я ожидаю большего? Кроме того, к чему относится размер круга?

Я посмотрел в Интернете, но это не совсем ясно, и я не нашел никакой информации об этом.

Кто-нибудь может объяснить?


person lilouch    schedule 28.04.2014    source источник
comment
Окей, я собираюсь сделать это!   -  person lilouch    schedule 28.04.2014
comment
Как можно не найти никакой информации о SIFT....   -  person guneykayim    schedule 30.04.2014


Ответы (1)


SIFT расшифровывается как «Масштабно-инвариантное преобразование признаков». Он обнаруживает ключевые точки по нескольким шкалам. Кружки на вашем изображении, вероятно, относятся к масштабу, на котором была обнаружена ключевая точка.

расположение ключевых точек в черных областях не кажется мне совершенно невероятным: если вы предполагаете, что область, на которую они смотрят, примерно в 2 или 3 раза больше размера круга, то ключевые точки в черной зоне имеют гораздо больше смысла: это обнаруживает не просто черную зону, а, например, такую ​​зону; что характерно: введите здесь описание изображения

важное замечание ключевой момент не означает, что только этот конкретный момент отличается от остальных; это означает, что эта точка вместе с ее окружением особенна. В случае SIFT это означает, что SIFT сможет обнаружить одну и ту же точку (или зону, если хотите), даже если вы масштабируете изображение. Возвращаемое местоположение ключевой точки является "центром" этой зоны, если хотите.

person Chris Maes    schedule 28.04.2014
comment
Спасибо, Крис, за ваш ответ, но я не совсем понял, если вы предполагаете, что область, на которую они смотрят, примерно в 2 или 3 раза больше круга, чем ключевые точки в черной зоне имеют гораздо больше смысла. Не могли бы вы попробовать объяснить по-другому? Потому что, на черной площадке они ничего не обнаруживают? За ваше замечание, да, я понял. Я знаю, что Sift Detect определяет только отдельные точки, которые можно сравнить с другими изображениями. - person lilouch; 28.04.2014
comment
Я лучше понял. Значит, эта черная зона — своего рода ключевая точка, потому что она может быть ключевой точкой на другом изображении, похожем на это? Но когда я изучил Sift, я увидел, что Sift использует Harris Detector, но в черной области нет углов... Вот почему я немного запутался.. - person lilouch; 28.04.2014
comment
да, именно так работают ключевые точки: это просто точки, которые можно легко найти снова на другом изображении, используя их окружение, чтобы найти их, и в основном используя окружение, чтобы описать их. - person Chris Maes; 28.04.2014
comment
@lilouch размер круга, скорее всего, представляет масштаб, в котором была найдена ключевая точка. чем больше круг, тем выше в пирамиде. Попробуйте изменить масштаб изображения (возможно, уменьшить до 1/8 по ширине и высоте), тогда вы поймете, почему это место не просто черная область, а какая-то особенность. - person Micka; 28.04.2014
comment
@Micka Окей, я поняла! Я нормализовал свое изображение и снова применил Sift, и вот результат Здесь Действительно, я не У меня нет большого круга... Меня это немного смущает, но спасибо! - person lilouch; 28.04.2014
comment
@lilouch Micka не говорил, что вам нужно нормализовать изображение ... что делает SIFT, так это ИЗМЕНЯЕТ РАЗМЕР изображения и определяет ключевые точки на каждом изображении с измененным размером в масштабном пространстве. Нормализация изображения никоим образом не гарантирует удаление больших кругов... - person Chris Maes; 28.04.2014
comment
@lilouch извини, я не хотел тебя смущать. Я хотел сказать, что большой круг, показанный Крисом Мэйсом на субизображении, можно интерпретировать как угол двух больших черных краев. Таким образом, эти ключевые точки по-прежнему имеют смысл и могут помочь в поиске соответствий изображениям. - person Micka; 28.04.2014
comment
Да, я нормализовал свое изображение по размеру, а не по информации о цвете. Это ты хотел сказать? - person lilouch; 28.04.2014
comment
@lilouch Я думаю, вам следует немного прочитать о SIFT и масштабировании пространства, если вы действительно хотите понять. - person Chris Maes; 28.04.2014
comment
какая-то нормализация размера уже выполняется SIFT внутри, поэтому она не зависит от масштаба. Это одна хорошая вещь в SIFT, но причина, по которой обнаруживаются эти большие точки (которые имеют смысл). - person Micka; 28.04.2014
comment
@lilouch, но Мика говорил об ИЗМЕНЕНИИ РАЗМЕРА ... не о нормализации: просто посмотрите на Википедию - масштабируйте пространство, и это может помочь вам понять. - person Chris Maes; 28.04.2014