Дедупликация фото без нейросетей. Часть 1: измеряем перцептивные хеши

habrahabr.ru · world
Full story

The article starts from a practical question for the team: whether they already had a particular photo. A simple SHA-256 check would catch only the same file, while the task involved the same image after recompression, resizing, a foreign logo across the frame, or cropping at the edges. The author notes that perceptual hashes are widely covered on Habr, usually with an explanation of how the algorithm works. The piece is the first part of a series on photo deduplication without neural networks, focused on measuring perceptual hashes.

Недавно у нашей команды появилась необходимость отвечать на вопрос: А такое фото у нас уже есть?». Не «такой же файл» — его можно было бы легко проверить по SHA-256, — а именно такое же фото: пережатое, уменьшенное, с чужим логотипом поперёк кадра, подрезанное по краям. Про перцептивные хеши на Хабре написано много, почти везде разбирают устройство алгоритма. Мне же хотелось понять, что он выдерживает. Поэтому я взял двадцать фотографий, изменил каждую двадцатью шестью способами из тех, что реально случаются при перезаливе, и посчитал расстояния. Это первая часть из двух. Она про то, что хеши умеют и где ошибаются: водяные знаки, геометрия кадра, выбор метода, длина хеша, порог. Во второй части я расскажу, как из этого сделать работающую систему: предобработка, зеркало и поиск в PostgreSQL с бенчмарком на десяти миллионах строк. Читать далее

Read full article → Compare