Поиск похожего изображения

Автор: | 13.08.2018

Поиск похожего изображения

Сначала конкретизируем задачу. Что такое “похожие” изображения? Это — собачка определенной породы, детский школьный рюкзак,  …

Прежде всего необходимо  определить метрику похожести изображений. Метрика может отличаться от задачи к задаче. Например, нам нужно находить картинки, близкие по цветовой гамме, по формам объектов или как определить фотографии одной и той же собаки в разных ракурсах.

Если посмотреть на обычные алгоритмические методы сравнения изображений, то в основном всё сводится к вычислению некоторой хеш функции над изображением, а потом вычислению расстояния, например, Хэмминга между двумя значениями хешей. Чем меньше расстояние, тем больше картинки похожи между собой.

Как работает перцептивный хэш:

Хеширование (иногда «хэширование», англ. hashing) — преобразование по определённому алгоритму входного массива данных произвольной длины в выходную битовую строку фиксированной длины.

Если вам нужно сравнить две картинки, то просто строите хэш для каждой из них и подсчитываете количество разных битов (это расстояние Хэмминга). Расстояние Хэмминга — число позиций, в которых соответствующие символы двух слов одинаковой длины различны. Примеры:

Нулевое расстояние означает, что это, скорее всего, одинаковые картинки (или вариации одного изображения). Дистанция 5 означает, что картинки в чём-то отличаются, но в целом всё равно довольно близки друг к другу. Если дистанция 10 или больше, то это, вероятно, совершенно разные изображения.

 

Автор: Николай Свирневский

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *