⚖ Compare news

Put up to three stories side by side. Pick IDs from any article URL: /compare?id=123&id=456

Дедупликация фото без нейросетей. Часть 2: предобработка и поиск в PostgreSQL

habrahabr.ru ·Russian Federation · world
Words
124
Chars
743
AI summary
Yes
Full story

The second part covers photo deduplication without neural networks, focusing on preprocessing and search in PostgreSQL. In an earlier experiment, twenty photos were each altered in twenty-six ways to see what a perceptual hash could survive. The author concludes that pHash should be used at 64 bits: 16 bits produces collisions, 256 bits offers nothing beyond 64, and aHash causes too many false positives. Watermarks do not affect the hash.

В первой части я взял двадцать фотографий, изменил каждую двадцатью шестью способами и померил, что переживает перцептивный хеш. Пересказывать всё не буду, но пара выводов из первой статьи нам понадобится дальше. Брать надо pHash на 64 битах. У 16 битов бывают коллизии, 256 не дают ничего сверх 64, а у aHash слишком много ложных срабатываний. Водяные знаки хешу безразличны: хоть логотип в углу, хоть плитка из надписей по всему кадру, это 0-6 бит из 64. Зато его убивает любая правка геометрии: обрезали на 20% — не нашли ничего, добавили белую рамку — нашли половину, отзеркалили — снова ничего. При пороге 12 это recall 86% при precision 100%. Дальше расскажу про то, как довести 86% до 95% и уложить поиск в один SQL-запрос. Читать далее

Open article