Что именно представляют размер и отклик в ключевой точке SURF?

Я использую OpenCV 2.3 для обнаружения и сопоставления ключевых точек. Но меня немного смущают параметры size и response, заданные алгоритмом обнаружения. Что они означают?

Основываясь на руководстве OpenCV, я не могу понять:

float size: диаметр значимой окрестности ключевой точки

float response: ответ, по которому были выбраны самые сильные ключевые точки. Может использоваться для дальнейшей сортировки или подвыборки

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


person Tulkkas    schedule 26.04.2012    source источник


Ответы (2)


Размер и отклик

SURF — это детектор блоба, короче говоря, размер объекта — это размер блоба. Чтобы быть более точным, размер, возвращаемый OpenCV, составляет половину длины аппроксимированного оператора Гессе. Размер также известен как масштаб, это связано с тем, как работают детекторы пятен, т. Е. Функционально они равны первому размытию изображения с помощью фильтра Гаусса в нескольких масштабах, а затем уменьшению дискретизации изображений и, наконец, обнаружению пятен с фиксированным размером. См. изображение ниже, показывающее размер функций SURF. Размер каждой функции равен радиусу нарисованного круга. Линии, идущие от центра элементов к окружности, показывают углы или ориентации. На этом изображении сила отклика фильтра обнаружения блоба выделена цветом. Вы можете видеть, что большинство обнаруженных функций имеют слабый отклик. (см. полноразмерное изображение здесь)

функции SURF

Эта гистограмма показывает распределение силы отклика функций на изображении выше:

гистограмма, показывающая распределение силы отклика

Какие функции отслеживать?

Самый надежный трекер функций отслеживает все обнаруженные функции. Чем больше функций, тем выше надежность. Но отслеживать большое количество признаков нецелесообразно, так как часто мы хотим ограничить время вычислений. Количество функций, которые нужно отслеживать, часто должно быть эмпирически настроено для каждого приложения. Часто изображение делится на обычные подобласти, и в каждой из них отслеживаются n самых ярких признаков. n обычно выбирается таким образом, чтобы в каждом кадре обнаруживалось около 500~1000 признаков.

использованная литература

Чтение журнальной статьи с описанием SURF определенно даст вам хорошее представление того, как это работает. Просто постарайтесь не зацикливаться на деталях, особенно если ваш фон не связан с машинным/компьютерным зрением или обработкой изображений. Детектор SURF может показаться чрезвычайно новым на первый взгляд, но вся идея заключается в оценке оператора Гессе (хорошо зарекомендовавший себя фильтр) с использованием интегральных изображений (которые использовались другими методами задолго до SURF). Если вы хотите очень хорошо понять SURF и не знакомы с обработкой изображений, вам нужно вернуться и прочитать некоторые вводные материалы. Недавно я наткнулся на новую бесплатную книгу, глава 13 которой содержит хорошее и краткое введение в обнаружение признаков. Не все, что там сказано, технически правильно, но это хорошая отправная точка. Здесь вы можете найти еще одно хорошее описание SURF с несколькими изображениями, показывающими, как работает каждый шаг. На этой странице вы видите это изображение:

SURF blobs

Вы можете видеть белые и черные пятна, это пятна, которые SURF обнаруживает в нескольких масштабах и оценивает их размеры (радиус в коде OpenCV).

person fireant    schedule 26.04.2012
comment
Очень четкий ответ. Большое спасибо. Я хотел бы спросить вас еще об одном, так как, похоже, вы довольно много знаете о SURF. Есть ли какая-либо документация в дополнение к руководству по opencv Manual, на которую стоит обратить внимание о детекторе и экстракторе SURF? - person Tulkkas; 27.04.2012
comment
Отлично, спасибо. На самом деле у меня есть опыт работы в области компьютерных наук, но это больше касалось информации о реализации SURF в openCV. Для тех, кто заинтересован, я также нашел этот веб-сайт link который довольно хорошо описывает SIFT, на котором основан SURF. - person Tulkkas; 27.04.2012
comment
Я хотел бы спросить еще одну вещь, касающуюся размера. Если я правильно понимаю, больший размер будет означать больший размер капли, обнаруженной SURF? Но что именно вы имеете в виду под размером капли? Это размер области, используемой для обнаружения ключевой точки? - person Tulkkas; 27.04.2012
comment
Размер BLOB-объекта — это размер используемого оператора Гессе. Либо посмотрите документ SURF, который я упомянул, либо новую ссылку, которую я добавил. Возможно, это поможет вам понять это. И не забывайте, что OpenCV является открытым исходным кодом, и вы всегда можете пойти и прочитать код, чтобы увидеть, как он реализован. - person fireant; 27.04.2012
comment
У вас есть ссылка на изображение граффити? - person Alex Tape; 22.08.2015
comment
@alex-tape оригинальный набор известен в компьютерном зрении: robots.ox.ac.uk/~vgg/data/data-aff.html, если вы имеете в виду обработанное изображение, это результат моего короткого скрипта для ответа на этот вопрос. - person fireant; 24.08.2015
comment
@fireant позволяет сказать, что идеальный размер функций равен 500, но выбранное n дало 2000 функций, лучше ли взять первые 500 функций, отсортированных по некоторому описанию свойства, или найти лучшее n, которое даст результаты ~ 500 - person user818117; 15.11.2017

  1. «размер» — это размер области, охватываемой дескриптором в исходном изображении (он получается путем понижения разрешения исходного изображения в пространстве масштаба, поэтому он варьируется от ключевой точки к ключевой точке в зависимости от их масштаба).

  2. «Отклик» действительно является показателем того, «насколько хороша» (грубо говоря, с точки зрения угловатости) точка.

  3. Хорошие точки стабильны для поиска статических сцен (это основная цель дескрипторов SIFT/SURF). В случае отслеживания у вас могут появиться хорошие точки, потому что отслеживаемый объект находится на хорошо сформированном фоне, наполовину в тени... а затем исчезнуть, потому что это условие изменилось (изменение освещения, окклюзия...). Таким образом, нет никакой гарантии, что для отслеживания задач всегда будет хорошая точка.

person sansuiso    schedule 26.04.2012