Как внедрить Cosine Metric в opencv фланн (knnsearch) - PullRequest
0 голосов
/ 18 декабря 2018

Я использую opencv flann index для поиска изображения в базе данных.как я вижу в документации, flann предоставляет метрики, как показано ниже:

   FLANN_DIST_EUCLIDEAN = 1,
    FLANN_DIST_L2 = 1,
    FLANN_DIST_MANHATTAN = 2,
    FLANN_DIST_L1 = 2,
    FLANN_DIST_MINKOWSKI = 3,
    FLANN_DIST_MAX   = 4,
    FLANN_DIST_HIST_INTERSECT   = 5,
    FLANN_DIST_HELLINGER = 6,
    FLANN_DIST_CHI_SQUARE = 7,
    FLANN_DIST_CS         = 7,
    FLANN_DIST_KULLBACK_LEIBLER  = 8,
    FLANN_DIST_KL                = 8,
    FLANN_DIST_HAMMING          = 9,

без косинусного расстояния. Итак, как внедрить его в opencv lib?Спасибо

Ответы [ 2 ]

0 голосов
/ 23 декабря 2018

Я понимаю, что могу преобразовать евклидово расстояние в косинусное расстояние, нормализовав мой вектор в новый вектор, имеющий сумму = 1.

enter image description here

enter image description here

Вы можете продемонстрировать себя

0 голосов
/ 22 декабря 2018

Это произошло несколько лет назад во фланговом репозитории github.(См. этот выпуск .) Суть (как я понял) в том, что косинусное сходство не является метрикой расстояния.В этом вопросе есть более глубокие объяснения.

...