matchFeatures не соответствует всем функциям при сравнении одного и того же изображения. Почему?

У меня есть изображение I (оттенки серого). Я обнаружил и извлек функции SURF из этого изображения:

poi = detectSURFFeatures(I);  
[features,validPoi] = extractFeatures(I,poi,'SURFSize',128);

Найдено 373 объекта. Однако, когда я подсчитываю количество функций, совпадающих с самими собой, не все функции совпадают:

indexPairs = matchFeatures(features,features);

пары индексов возвращают только 365 совпадений. Почему ??? Обратите внимание, что я нашел эти результаты только для одного изображения из трех. Для двух других изображений matchFeatures возвращает то же количество функций, что и extractFeatures. Спасибо !


person Julien    schedule 13.05.2016    source источник


Ответы (1)


Функция matchFeatures имеет параметры порога совпадения MatchThreshold и MaxRation, которые отклоняют потенциально ложные или неоднозначные совпадения, например, оговаривая, что наилучшее найденное совпадение должно быть лучше, чем второе наилучшее совпадение по определенному фактору.

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

person Maurits    schedule 13.05.2016
comment
Спасибо! Но влияет ли это на вычисление сходства между двумя изображениями на основе количества совпадающих признаков? В настоящее время я рассчитываю это так: nbmatch = size (indexPairs, 1); minsize = min (размер (функции, 1)); подобие = nbmatch / minsize. Это приводит к тому, что мера сходства изображения с самим собой меньше 1. - person Julien; 13.05.2016
comment
@Julien уверен, потому что сходство в этой формулировке - это процент совпадающих функций. И некоторые совпадения, даже по идентичным признакам, могут быть отклонены алгоритмом сопоставления. - person Maurits; 13.05.2016
comment
Я думал, что это измерение подобия, предложенное Лоу в его статье, посвященной SIFT, но я определенно должен перечитать эту статью ... Спасибо! - person Julien; 13.05.2016
comment
Да, это мера, предложенная Лоу. - person Maurits; 15.05.2016
comment
Таким образом, эта мера сходства должна быть хороша для распознавания объектов, но, возможно, не для моей цели: вычисления матрицы визуального сходства между несколькими изображениями. В этом случае мне нужно, чтобы измерения сходства были сопоставимы между всеми изображениями (таким образом, теоретическое максимальное значение сходства должно быть одинаковым для всех пар изображений). Какую меру на основе SIFT / SURF вы бы порекомендовали? - person Julien; 16.05.2016
comment
@Julien, это другой вопрос, и, вероятно, он больше подходит для исследования. - person Maurits; 08.06.2016
comment
Очень интересно - эта проблема похожа на то, над чем мы работаем. @Julien, удалось ли вам найти эффективные меры на основе SIFT / SURF? - person Andrew; 16.04.2017