2010-03-26 4 views
1

Я ищу стратегии, которые можно было бы использовать для программного поиска файлов, которые может быть дубликатами друг друга. В частности, в этом случае видео.Стратегии сопоставления файлов

Я не ищу точные соответствия (так же хорошо, как это было бы в стране радуг и солнечного света). Я просто собираюсь собрать пару видео, содержание которых может быть таким же, чтобы человек мог сравнить их, чтобы подтвердить. Например, тот же контент, различное разрешение.

Стратегии у меня до сих пор:

  • хеширования
  • Сравнивая размер файла
  • Сравнивая длину видео
  • Сравнение имен файлов
  • Держа выводы упорно «помнить» предыдущие дубликаты
  • Стратегии смешивания и сопоставления выше

Существуют ли какие-либо стратегии или усовершенствования стратегий, перечисленных выше, о которых вы знаете?

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

+0

Если я скачал одно из видео, перекодировал его и перезагрузил в вашу систему, вы хотите, чтобы ваша система находила его в качестве возможного дубликата? –

ответ

3

Для эффективного сопоставления n-way вам необходимо уменьшить количество видеороликов до небольшого пространства параметров («отпечаток пальца»), который имеет показатель сходства, который хорошо коррелирует с подобием видео. Хеширование, например, не является хорошим пространством параметров, поскольку небольшие различия в входных видеосигналах приводят к большим различиям в хэшах. На противоположной стороне спектра длина видео не является хорошим параметром, потому что довольно разные видео могут иметь одинаковую длину.

Хорошее пространство параметров зависит от того, какие различия вы хотите игнорировать, и какого рода усиливать. Один из вариантов, который мог бы работать, состоял бы в том, чтобы разделить видео на 10 секундных интервалов во временных измерениях и на 16 прямоугольников в размерности пространства. Затем возьмите средний цвет каждого прямоугольника за 10-секундный интервал. Затем используйте эвклидовое расстояние между векторами параметров как метрику подобия. (т. е. для каждого временного интервала для каждого квадрата для каждого цветного канала вычитайте две интенсивности, возьмите квадрат и добавьте все вместе). Если вам нужно обнаружить клипы, которые могут быть небольшими частями других клипов, это становится немного сложнее, но общий принцип расчета векторов признаков должен работать. Например, обнаружение смены сцены должно помочь в создании параметров длины видеоизображения.

+0

+1 для евклидова расстояния: меньше значит больше похоже. хороший! – Karussell

+0

Perfect, * great * новое направление для меня, чтобы посмотреть. Спасибо –

0

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

Смежные вопросы