2010-07-06 3 views
1

Я использую openCV Surf tracker для поиска точных точек на двух изображениях. Как вы знаете, Surf возвращает много Feature points на обоих изображениях. что я хочу сделать, это использовать эти параметры функции, чтобы выяснить, какие совпадения точно верны (истинные положительные совпадения). В моем приложении мне нужны только истинные положительные матчи.Найти точные соответствия SURF в openCV

Эти параметры существуют: Hessian, лапласиане, Расстояние, Размер, Dir.

Я не знаю, как использовать эти параметры? - точное совпадение имеет меньшее расстояние или больше hessian? лапласиан может помочь? размер или каталог может помочь?

Как я могу найти точные соответствия (истинно позитивные)?

ответ

0

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

Cheers!

1

Это очевидно, что вы не можете быть на 100% уверены, какие точки действительно совпадают. Вы можете увеличить (в стоимости исполнения) положительные значения, настроив параметры SURF (см. Некоторые ссылки here). В зависимости от вашей реальной задачи вы можете использовать надежные алгоритмы для устранения выбросов, то есть RANSAC, если вы выполняете подгонку модели. Кроме того, как сказал Эрфан, вы можете использовать пространственную информацию (см. «Согласование графиков упругих связок» и Spatial BoW).

+0

Я не могу найти статьи, вы можете указать некоторые? –

+0

Отметьте «Согласование графиков упругих связок» и [Пространственный BoW] (http://en.wikipedia.org/wiki/Bag-of-words_model_in_computer_vision#Limitations_and_recent_developments). – Cfr

2

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

Используйте-NN поиск дескрипторов запросов среди дескрипторов изображений, а также следующие Состояние-

если расстояние (1-й матч) < 0,6 * дистанция (2-й матч) 1-й матч - «хороший матч».

чтобы отфильтровать ложные срабатывания.

+0

Это называется Ratio Test, кажется, что это лучше, чем обычный '<= 3 * min_dist'. –

Смежные вопросы