Подтвердить что ты не робот

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

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

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

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

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

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

4b9b3361

Ответ 1

Размер и ответ

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

SURF features

Эта гистограмма показывает распределение сильных характеристик откликов признаков в приведенном выше изображении:

histogram showing distribution of response strengths

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

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

Ссылки

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

SURF blobs

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

Ответ 2

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

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

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