【问题标题】:File Comparison Strategies文件比较策略
【发布时间】:2010-03-26 18:47:57
【问题描述】:

我正在寻找可以用来以编程方式查找可能彼此重复的文件的策略。特别是在这种情况下,视频。

我不是在寻找完全匹配的东西(就像在彩虹和阳光之地一样好)。我只是想收集内容可能相同的视频对,以便人们可以比较它们来确认。例如,相同的内容,不同的分辨率。

我目前的策略:

  • 散列
  • 比较文件大小
  • 比较视频长度
  • 比较文件名
  • 坚持不懈地“记住”以前的重复结果
  • 上面的混合和匹配策略

您是否知道上面列出的任何策略或策略的改进?

有谁知道任何散列函数会产生散列范围以指示整体内容“接近”。

【问题讨论】:

  • 如果我下载了其中一个视频,重新编码,然后将其重新上传到您的系统,您是否希望您的系统将其视为可能的重复视频?

标签: algorithm video hash comparison pattern-matching


【解决方案1】:

为了进行高效的 n 向比较,您需要将视频缩减到一个小的参数空间(“指纹”),该空间具有与视频相似度相关的相似度指标。例如,散列不是一个好的参数空间,因为输入视频的微小差异会导致散列的巨大差异。另一方面,视频长度不是一个好的参数,因为不同的视频可以具有相同的长度。

一个好的参数空间取决于你想忽略什么样的差异,以及放大什么样的差异。一种可行的选择是将视频在时间维度上划分为 10 秒间隔,在空间维度上划分为 16 个矩形。然后取每个矩形在 10 秒间隔内的平均颜色。然后使用参数向量之间的欧式距离作为相似度度量。 (即对于每个时间间隔,对于每个正方形,对于每个颜色通道,减去两个强度,取正方形并将它们加在一起)如果您需要检测可能是其他剪辑的一小部分的剪辑,它会有点棘手,但是计算特征向量的一般原则应该有效。例如,场景变化检测应该有助于创建视频长度不变参数。

【讨论】:

  • 完美,伟大的新的方向让我看看。谢谢
【解决方案2】:

这对于计算机来说几乎是不可能的。视频流中最细微的差异,例如宽度减少一个像素,都会导致完全不同的数据流。为了进行任何有意义的比较,您必须将视频重新编码为已知的格式和分辨率,并且帧率非常低。然后你可以开始查看每一帧,看看它们是否彼此相似。这是一项非常密集的工作,无论是在计算上还是在算法上。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-11
    • 1970-01-01
    • 2019-12-04
    • 2014-03-05
    • 2015-04-28
    • 2012-05-29
    • 2021-10-16
    • 1970-01-01
    相关资源
    最近更新 更多