Как оптимизировать сравнение гистограмм OpenCV для сходства изображений? - PullRequest
0 голосов
/ 18 мая 2018

Я использую пример кода для сравнения гистограмм ВПГ с использованием EMD.

Я хочу найти похожие изображения в (мобильной) библиотеке изображений людей.Довольно часто люди делают несколько снимков одного и того же объекта (в ряд) с небольшими изменениями: немного увеличивают / уменьшают изображение, изменяют угол обзора, изменяют экспозицию в результате изменения положения, другую позу, ...

Я выбрал 4 набора из 4 похожих изображений для проверки этого алгоритма.При сравнении изображений внутри наборов я получаю 22 значения EMD-L1 между примерно 0,25 и 2,25 (в среднем 1,47) и 2 выбросами около 7,2.

Когда я сравниваю наборы, получаю значения от 2 до 15со средним значением около 8.

Да, между двумя наборами результатов существует значительная разница в диапазоне.Но я был разочарован тем, что между этими диапазонами не было (разрыва), а вместо этого было небольшое перекрытие [2.0, 2.25].Я надеюсь улучшить алгоритм.

Как мне оптимизировать сравнение для моего конкретного варианта использования?Существуют различные формы гистограмм, различные алгоритмы сравнения гистограмм, и каждый из них имеет различные параметры.

Реализует ли OpenCV самый быстрый из известных алгоритмов EMD?Я был удивлен, что сравнение некоторых гистограмм заняло до секунды;особенно с относительно небольшими номерами бинов.

Тогда некоторые перекрестные сравнения дают хорошие результаты EMD, но имеют совершенно разные гистограммы RGB.Вот два изображения:

enter image description here

enter image description here

Мой текущий EMD-L1 показывает 1,95, ногистограммы RGB совершенно разные.

1 Ответ

0 голосов
/ 15 июня 2018

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

...