найти сходство восприятия между двумя изображениями в Java - PullRequest
3 голосов
/ 13 сентября 2011

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

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

Спасибо

Ответы [ 2 ]

6 голосов
/ 14 сентября 2011

Вам необходимо тщательно определить, что для вас означает «схожее с восприятием», прежде чем пытаться найти измеримую сущность, которая уловит это.Представьте себе изображение поля травы под голубым небом с лошадью.Должно ли ваше приложение получать все изображения лошадей?Или все картинки с зеленой травой и голубым небом?В последнем случае вышеупомянутые цветные гистограммы являются хорошим началом.В качестве альтернативы вы можете взглянуть на модели гауссовых смесей (GMM), они довольно часто используются при поиске.Этот код может быть отправной точкой, и эта статья Поиск изображений с использованием цветовых гистограмм, генерируемых векторным квантованием гауссовой смеси

Более сложной является так называемая «сумка слов»или "визуальные слова" подход.Он все чаще используется для категоризации и идентификации изображений.Этот алгоритм обычно начинается с обнаружения надежных точек на изображении, что означает, что эти точки выдержат определенные искажения изображения.Примером популярных алгоритмов являются SIFT и SURF.Область вокруг этих найденных точек фиксируется дескриптором, который может быть, например, умной гистограммой.

В наиболее простой форме можно собрать все данные из всех дескрипторов из всех изображений и сгруппировать их, например.используя K-средства.Каждое исходное изображение имеет дескрипторы, которые вносят вклад в несколько кластеров.Центроиды этих скоплений, то есть визуальные слова, могут использоваться в качестве нового дескриптора изображения.Веб-сайт VLfeat содержит замечательную демонстрацию 1010 * этого подхода, классифицирующую набор данных caltech 101.Также заслуживают внимания результаты и программное обеспечение самого Caltech .

3 голосов
/ 13 сентября 2011

Один из простых способов начать это сравнение цветовой гистограммы.

Но в следующей статье предлагается использовать вместо этого Объединенную гистограмму.Вы также можете посмотреть.

http://www.cs.cornell.edu/rdz/joint-histograms.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...