选择视频最佳场景的算法是什么?

4
当我们上传视频到YouTube或其他视频分享网站时,该网站会自动选择最好或最具代表性的场景作为视频的图标。这是如何完成的呢? 我想了解需要学习哪些数据挖掘或其他算法来从视频中提取最相关的场景。任何指向文献或实现的指针都将非常有用。
3个回答

5
我强烈怀疑这个“算法”大致如下(伪代码):
Random(0, clip.Length)

但是,稍微认真一点...我想应该在前5-10秒钟的某个地方。当然,要像科学一样。 - user166390
@Sam 我考虑过这个问题,但是我认为这可能不值得 - 如果视频中有足够多的黑色使得我们很有可能得到一个全黑的帧,那么一个全黑的帧实际上也会是一个代表性的帧。 - Justin
也许你是对的,但在我看来场景选择从来不是随机的。 - nabeelmukhtar
它可能已经播放了20%的视频。 - st0le

5

我的猜测:

  1. i = 1
  2. 比较帧 i 和帧 i-1(例如使用像素颜色强度的平方差之和)
  3. 差异是否大于预设阈值?
    1. 如果是:一个低于阈值的序列刚刚结束。这是最长的序列吗?
      1. 如果是:记录下此序列的起始点best
  4. i++
  5. 如果 i < length_of_clip,则转到步骤2。
  6. 选择帧 best

思路是:找到最长的“场景”(一系列过渡在某个任意阈值以下的帧),并显示该系列中的第一帧。


在单序列视频中,所选的场景很少是第一个场景。因此,即使选择了最长的序列,仍然存在从该序列中找到最相关场景的问题。 - nabeelmukhtar
可能是从某个固定比例(例如10%)的图像中提取最长场景。 (我假设您所说的“场景”是“帧”。) - j_random_hacker

1
一个简单的解决方案是提取视频的一些帧并随机显示它们。通过跟踪用户的点击率,Youtube已经知道如何对这些帧进行排名。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接