Сравнение сценариев применения алгоритмов хеширования изображений и видео — pHash-PDQ-TMK+PDQF

Сравнительный анализ технических особенностей и сценариев применения трёх популярных хеш-алгоритмов: pHash, PDQ и TMK+PDQF.

Aug 29, 2025 11:34 149 прочтений Около 30 слов Около 1 мин чтения

Сначала вывод: pHash больше подходит для дедупликации и поиска похожих изображений на уровне картинок; PDQ — это высокобитный визуальный отпечаток для изображений; TMK+PDQF (и его реализация vPDQ) — алгоритм отпечатков для видео, учитывающий временную информацию.

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

pHash

pHash — это open-source библиотека перцептивного хеширования, давно используемая для поиска похожих изображений. Она предоставляет реализации хешей изображений на основе DCT и вейвлетов Марра и подходит для дедупликации изображений и поиска почти дубликатов.

PDQ

PDQ — это open-source алгоритм «photo-hashing» от Meta, который выдает 256-битный отпечаток изображения. Он разработан для быстрого сопоставления содержимого изображений с настройкой порогов и широко используется в модерации контента и межплатформенных общих базах.

В видеосценариях PDQ может использоваться как компонент для «покадрового получения отпечатков», однако официальная видеосхема чаще рекомендует сочетать его с временным моделированием (см. TMK+PDQF/vPDQ).

TMK+PDQF (включая vPDQ)

TMK+PDQF — это алгоритм сходства видео: после вычисления признаков PDQF (плавающая версия PDQ) для каждого кадра с помощью временного ядра строятся два фиксированных по длине описания, чтобы при поиске сначала сравнивать глобальный слой, а затем временной слой, повышая устойчивость сопоставления на уровне видео.

Отраслевые бенчмарки и документация позиционируют TMK+PDQF (и последующий vPDQ) как open-source решение для видеоотпечатков, ориентированное на поиск почти дубликатов видео и совпадений на уровне фрагментов при перекодировании, изменении разрешения и битрейта.