主讲人:David Liu & Priyam Chatterjee
内容整理:张雨虹
这篇文章主要介绍了 Facebook 基于视频理解,面向用户创建的智能裁剪和智能预览技术。
目录
- 流媒体视频理解
- 智能裁剪
- 智能预览
- 介绍
- 相关技术
了解视频内容一直是视频共享平台关注的焦点。流媒体视频理解是指在空间和时间域中分析和利用更细粒度的视频信号的技术领域。细粒度的空间和时间信号可用于面向消费者的产品或用作下游模型和流程的信号。例如,在空间域中,我们识别每一帧内的显著区域,使系统能够自动将水平(横向)视频重新构图为垂直(纵向)视频。在时间域中,我们识别每一帧的高光分数,这使我们能够识别视频中的高光时刻并创建视频预告片。
流媒体视频理解
了解视频内容一直是视频共享平台关注的焦点。流媒体视频理解是指一系列在空间和时间域中分析和利用更细粒度的视频信号进行处理的相关技术。细粒度的空间和时间信号可用于面向消费者的产品或用作下游模型和流程。例如,在空间域中,我们识别每一帧内的显著区域,使系统能够自动将水平(横向)视频重新构图为垂直(纵向)视频,或者可以自动将视频的宽高比从 16×9 更改为 1×1 或 4×5。
在时间域中,视频理解也很重要,如下图所示:计算每一帧的高光分数,从而识别出视频中的高光时刻并创建视频预告片;这种信号处理方式对于在合适的位置插播广告也是有用的;同时也可以识别出时间戳,从而把长视频分割成几个小视频,有利于非线性观看;也可以帮助我们把视频转录成不同形式的文本。
时域视频理解
智能裁剪
智能裁剪系统是基于空间域的流媒体视频理解系统。Facebook 最近宣布了 Creator Studio Code Smartcraft 的功能。智能裁剪可以自动改变视频的长宽比,比如从 16×9 的水平模式改变成 1×1 或者 4×5,适应 Facebook 提要中推荐使用 4×5 或者 1×1 宽高比的要求。此功能针对内容中的主要物体进行了优化,使主要主题居中并在框架内。用户可以直接在 Creator Studio 中发布此视频,并且可以在发布之前查看重新构建的视频。有了智能裁剪,就可以实现按照需求自由裁剪了。同时,相比于人工,可以节省大量时间。
智能裁剪示例
上图中左边是 16x9 的源视频,中间是预测的显著性图,也称为注意力分布,右边是裁剪后 9x16 的结果。显著性图描述了普通人首先看到图像的位置的概率,它通常与时空域和频域中的高对比度区域相关,有时也与人脸、手、场景中的关键物体等高级特征相关。训练了一个卷积神经网络来进行预测,对仅 RGB 和 RGB 加运动的情况分别进行了实验。在预测显著性图之后,放置一个窗口来确定在哪里进行裁剪。通常用显著区域来进行显示,当对显著图效果不佳时,会默认回到中心位置。窗口位置是具有最高显著性密度的位置。但是如果一直严格遵循显著性图的中心位置,在场景变化或突然运动时会出现令人不快的抖动,因为显著性图会在短时间内发生很大变化。利用中值过滤技术可以产生相对自然的结果,同时使用文本检测技术,文本检测具有很强的响应能力,这能够提供更好的用户体验。
智能预览
介绍
上节中我们讨论了如何使用空间显着性和时间信息来进行视频裁剪。现在我们转向另一个基于空间、时间的应用程序,即如何获取视频的高光片段。在 Facebook 中,用户更倾向于观看上下文连贯的内容。但是即使是相关的视频,也并非所有视频或者视频所有部分都是同样吸引人的。有趣的内容往往更受人欢迎,会被反复观看。基于此背景,我们对视频区域的有趣程度进行了研究,并用这些信号来指导视频创作以及提升用户的体验。
我们创建了一个突出显示感兴趣区域的预览片段。这有助于帮助用户确定视频是否对他们来说是有趣的,还可以来帮助内容制作者删除视频中没有意义的部分来使视频内容更具吸引力。
我们的系统可以根据用户的意图和目标生成不同内容。比如,对于较长的预览片段,其包括音频,可以用作视频的预告片;另一方面,较短的版本可以帮助我们快速浏览视频,这种就可能不需要音频,并且可能需要从视频的多个区域进行采样。
我们的工作现已集成到 Creator Studio 中,使得视频制作者可以进行预览,并可以选择在发布前进行审查和完善,也可以选择使用预测的预览自动发布。
相关技术
- 核心技术
由 3 个部分组成。核心生成 —— 预处理 —— 剪辑生成。
亮点核心生成是一种基于深度学习的模型。从音频和视频流中提取低级信号并对视频每隔 2s 进行有趣内容的打分。预处理过程就是基于上述分数和目标持续时间来确定需要选择的区域。并微调开始和结束区域以避免突然的开始和停顿。最后一步是根据需要加入一些连贯的效果,比如淡出、循环等。这个想法需要明确划分主要视频预览开始和结束的位置。
要训练模型,首先需要数据。但是我们的目标是使得处理过后的视频内容对用户更具吸引力,这意味着使用公共数据集(例如电影预告片)进行训练可能并没有那么有用,因为 Facebook 上的视频在格式上与其存在显著差异。另一种选择是自己注释数据,但这高度主观且耗时。因此,可以采用半监督的方法来解决这个问题。通过查看 Facebook 上视频的不同信号来大规模捕获数据。例如,我们可以查看裁剪信息,也可以选择从内容制作者在发布到 Facebook 之前修剪其内容的编辑工作流程中收集数据。这里的假设是,给定时间预算,内容制作者选择优先保留重要或有趣的区域,而剔除不太有趣的内容,但是这代表的是以内容制作者为中心的视频有趣内容的观点。
以上方法可以帮助我们训练一种模型来对视频中的有趣区域进行一些初步预测。但是我们可以用一种主动学习框架来获得更好的效果:用初始模型预测并进行测试,来查看与原始视频相比,发布的带有简短预览的修改视频在用户观看时间方面的表现。每当模型表现不佳时,都可以获得困难的例子,这个过程使得我们能够以足够好的质量大规模收集训练数据。此外,这与我们的目标直接一致,即帮助内容制作者更好地与目标受众互动。
我们的模型预测每隔 2 秒视频的有趣分数。这种粒度是噪声敏感性和时间分辨率的良好折衷。该模型同时嵌入分类模型,预测部分由一个卷积神经网络组成,该网络将多个嵌入聚合到单个嵌入然后是一个浅层全连接网络来预测最终得分。在训练亮点预测任务时,保持分类部分的权重不变,对模型进行训练,给更有趣的剪辑打出更高的分数。
该模型可以对视频的有趣内容提供不错的预测。但是,该模型不能直接使用,特别是在设计较长形式的预览时。为此,我们设计了一个用于过滤和选择视频中有趣区域的预处理步骤,同时对语音和短边界进行检查,以便不会出现突然的开始和停顿,但是考虑到项目的持续时间,这种方案并不总是可行。因此,我们将预处理步骤视为一个优化问题,希望获得成本函数最大化的开始和结束时间戳。成本函数使用了开始和停止区域的优度,考虑停止和开始区域与语音边界的距离或音频幅度在这些区域的测量值。还考虑了选择的区域中包含的平均高光分数,以及最终选择的剪辑与所需预览持续时间的接近程度。同时会根据需要对亮点区域进行一些经验调整。分别为这些约束中的每一项添加权重,不仅可以对视频的单个区域执行此操作,还可以将其扩展到多个区域。
- 基础设施技术
该项目的成功不仅依赖于核心技术的支持,还很大一部分归功于如何有效地将其扩展到 Facebook 的不同用例。因此下面主要探讨平台基础设施的相关技术。平台需要支持多种不同的效果,包含括音频、允许用户进行修改的长格式预览、多个有趣区域序列的预览中拍摄、没有音频以及添加的相关效果等。
针对特定垂直领域的模型通常更擅长预测感兴趣的区域,例如,检测音乐视频精彩片段的方法可能与检测烹饪视频所采用的方法完全不同。因此我们对基础设施进行了开发,使其能够从不同的模型中引导亮点。首先为视频的每个片段生成各种信号,然后将这些信号用作模型的输入。在某些情况下,根据内容制作者提供的标签以及视频分类模型预测来推断视频的类别。我们通过使用尽可能多的通用资源来满足客户对不同预览效果的需求。