介绍Google"移动实时视频分割"技术

1,274 阅读6分钟
发布人:Google Research 软件工程师 Valentin Bazarevsky 和 Andrei Tkachenka
视频分割是一种广泛使用的技术,电影导演和视频内容创作者可以使用这种技术将场景的前景与背景分离,然后将它们作为两个不同的视觉层处理。通过修改或替换背景,创作者可以表达特定的情绪,将他们自己放在有趣的位置或强化消息的冲击力。不过,这个操作一直以来都是一个相当耗时的手动过程(例如,艺术家需要对每一帧进行转描),或者需要利用带绿幕的摄影棚环境来实时移除背景(这种技术称为 色差抠像)。为了让用户能够在取景器中创造这种效果,我们设计了一种适合手机的新技术。

今天,我们高兴地为 YouTube 应用带来精确、实时的设备上移动视频分割,将这项技术集成到短片故事中。短片故事目前仍处于有限测试阶段,它是 YouTube 推出的一种新型轻量化视频格式,专门为 YouTube 创作者设计。我们的新分割技术让创作者可以替换和修改背景,无需专业设备即可轻松地提高视频的制作价值。
YouTube 短片故事中的神经网络视频分割。
为此,我们通过机器学习利用卷积神经网络来完成语义分割任务。特别是,在考虑以下要求和约束的基础上,我们设计了一个适合手机的网络架构和训练过程:
  • 移动解决方案应当轻量化,并且运行速度至少要比现有的最先进照片分割模型快 10-30 倍。对于实时推理,此类模型需要达到每秒 30 帧的速度。
  • 视频模型应利用时间冗余度(相邻的帧看起来相似)并具备时间一致性(相邻的帧得到相似的结果)。
  • 优质的分割结果需要优质的标注。
数据集
我们标注了数以万计捕捉各种前景姿态和背景环境的图像,以便为我们的机器学习管道提供优质数据。标注包括头发、眼镜、脖子、皮肤和嘴唇等前景元素的准确像素位置,一般背景标签的交叉验证结果可以达到人类标注器质量 98% 的交并比 (IOU)。
我们的数据集中一个使用九个标签仔细标注的示例图像 - 前景元素叠加到图像上。
网络输入
我们具体的分割任务是计算一个二进制蒙版,将视频每个输入帧(三个通道,RGB)的前景与背景分离。在所有帧中实现计算蒙版的时间一致性非常关键。目前的方法使用 LSTMGRU 来实现一致性,但是对于手机上的实时应用来说,这些方法的计算开销过高。因此,我们首先将前一帧的计算蒙版作为先验知识,将它用作第四个通道与当前的 RGB 输入帧串联,以实现时间一致性,如下图所示:
原始帧(左侧)分成三个颜色通道,并与上一个蒙版(中间)串联。这将用作我们神经网络的输入来预测当前帧(右侧)的蒙版。
训练过程
在视频分割中,我们既需要实现帧间的时间连续性,同时还应考虑时间不连续性,例如其他人突然闯入相机视野。为了训练我们的模型可靠地处理这些用例,我们以多种方式转换每个照片的标注真实值并将它作为前一帧的蒙版:
  • 清空前一个蒙版 - 训练神经网络正确处理场景中的第一帧和新对象。这将模拟有人出现在相机帧中的情况。
  • 仿射转换的真实蒙版 - 小型转换可以训练网络传播到前一帧的蒙版并进行调整。大型转换则训练网络理解不合适的蒙版并舍弃它们。
  • 转换后的图像 - 我们对原始图像进行薄板样条平滑,以便仿真快速的相机移动和旋转。
实时视频分割的实际运行。
网络架构
利用修正的输入/输出,我们构建了一个标准的沙漏型分割网络架构,并进行了以下改进:
  • 我们使用大步幅数为 4 或更多的大卷积内核来检测高分辨率 RGB 输入帧上的对象特征。具有少量通道的层(如 RGB 输入)的卷积开销相对较低,因此,使用大内核几乎不会影响计算开销。
  • 为了提高速度,我们使用较大步幅积极进行下采样,并结合跳过连接(例如 U-Net)在上采样期间恢复低级别特征。对于我们的分割模型,与使用无跳过连接相比,这种技术将 IOU 大幅提升了 5%。
    带跳过连接的沙漏型分割网络。
  • 为了进一步提高速度,我们优化了默认的 ResNet 瓶颈。在这篇论文中,作者将网络中间的通道压缩了四倍(例如,使用 64 个不同的卷积内核将 256 个通道缩减为 64 个)。不过,我们注意到可以更激进地压缩 16 倍或 32 倍,并且质量没有明显下降。
    ResNet 瓶颈与较大的压缩系数。
  • 为了优化和提高边缘的准确性,我们在网络顶层添加了多个 DenseNet 层,其全分辨率与神经遮罩相似。这种技术将整体模型质量稍微提高了 0.5% IOU,但是分割的感知质量显著提升。
这些修改的最终结果是,我们的网络可以在移动设备上以相当快的速度运行。在保证高准确率(在验证数据集上实现 94.8% 的 IOU)的基础上,它在 iPhone 7 上可以达到 100+ FPS 的速度,而在 Pixel 2 上则可以达到 40+ FPS 的速度,从而为 YouTube 短片故事带来各种平滑的运行和自适应效果。
我们的近期目标是通过在 YouTube 短片故事中进行有限的分阶段发布,在第一组效果中测试我们的技术。随着我们不断改进分割技术并扩展到更多标签,我们计划将它与 Google 更广泛的增强现实服务集成。

致谢
感谢开发技术的团队成员以及在此发布过程中为我们提供帮助的所有人:Andrey Vakunov、Yury Kartynnik、Artsiom Ablavatski、Ivan Grishchenko、Matsvei Zhdanovich、Andrei Kulik、Camillo Lugaresi、John Kim、Ryan Bolyard、Wendy Huang、Michael Chang、Aaron La Lau、Willi Geiger、Tomer Margolin、John Nack 和 Matthias Grundmann。