Найти в Дзене
Машинное обучение

Undouble - Python-библиотека для обнаружения дубликатов изображений с помощью хеш-функций

Поиск идентичных или похожих фотографий вручную – долгая и утомительная задача. Ее не решить просто сравнением размера и имени файлов, т.к. фото берутся из разных источников (мобильные устройства, приложения для социальных сетей и пр.), что приводит к различиям в этих атрибутах и создает разницу в разрешении, масштабировании, сжатии и яркости. Хеш-функции идеально подходят для обнаружения идентичных и похожих фото из-за устойчивости к незначительным изменениям. На этой идее основана Undouble - Python-библиотека, которая работает с использованием многоэтапного процесса предварительной обработки изображений (оттенки серого, нормализация и масштабирование), вычисления хэша изображения и группировки изображений. Порог 0 будет группировать изображения с идентичным хешем изображения. Результаты можно легко изучить с помощью функции построения графика, а изображения можно перемещать с помощью функции перемещения. При перемещении изображений копируется изображение из группы с наибольшим разрешением, а все остальные изображения перемещаются в подкаталог «undouble».

Чтобы попробовать эту библиотеку c открытым кодом (https://github.com/erdogant/undouble), ее сперва надо установить: pip install undouble, затем импортировать пакет в свой проект: from undouble import Undouble. Затем, установив метод хэширования и размер хэша, можно выявляться дубли с помощью undouble. При этом выполняются следующие шаги: рекурсивное чтение всех изображений из каталога с указанными расширениями, вычисление хэша и группировка похожих изображений.

установка: pip install git+https://github.com/erdogant/undouble

Пример с объяснениями смотрите здесь:

Detection of duplicate images using image hash functions.
Machinelearning
Python RU

Наука
7 млн интересуются