图像和视频编辑操作通常依赖于准确的遮罩——定义前景和背景之间分离的图像。虽然最近的计算机视觉技术可以为自然图像和视频生成高质量的遮罩,允许现实世界的应用,例如生成合成景深、编辑和合成图像或从图像中删除背景,但缺少一个基本部分:主体可能产生的各种场景效果,如阴影、反射或烟雾,通常会被忽视。
在CVPR 2021 上发表的“ Omnimatte:关联对象及其在视频中的效果”中,我们描述了一种新的遮罩生成方法,该方法利用分层神经渲染将视频分成称为omnimattes 的层,其中不仅包括主题,还包括所有在场景中与它们相关的效果。典型的最先进的分割模型为场景中的主体(例如人和狗)提取蒙版,而此处提出的方法可以隔离和提取与主体相关的其他细节,例如投射在地面。
与分割蒙版不同的是,omnimattes 可以捕捉部分透明的柔和效果,例如反射、飞溅或轮胎烟雾。与传统遮罩一样,Omnimattes 是RGBA 图像,可以使用广泛可用的图像或视频编辑工具进行处理,并且可以在使用传统遮罩的任何地方使用,例如,将文本插入烟迹下方的视频中。
视频的分层分解
为了生成全能图,我们将输入视频分成一组层:一个层用于每个移动的对象,一个附加层用于静止的背景对象。在下面的示例中,一层用于人物,一层用于狗,一层用于背景。当使用传统的alpha 混合合并在一起时,这些层会再现输入视频。
除了再现视频之外,分解还必须在每一层捕捉正确的效果。例如,如果人的影子出现在狗的图层中,合并后的图层仍然会重现输入的视频,但是在人和狗之间插入额外的元素会产生明显的错误。挑战在于找到一个分解,其中每个主题的层仅捕获该主题的效果,从而产生真正的全能。
我们的解决方案是应用我们之前开发的分层神经渲染方法来训练卷积神经网络(CNN),以将主体的分割掩码和背景噪声图像映射到一个全图。由于其结构,CNN 自然倾向于学习图像效果之间的相关性,并且效果之间的相关性越强,CNN 就越容易学习。例如,在上面的视频中,人与其影子以及狗与其影子之间的空间关系在他们从右向左行走时保持相似。在关系之间的变化更大(因此,相关性较弱)的人与狗的影子,或者狗和人的影子. CNN 首先学习更强的相关性,从而导致正确的分解。
下面详细展示了omnimatte系统。在预处理中,用户选择主题并为每个主题指定一个层。使用现成的分割网络(例如MaskRCNN)提取每个对象的分割掩码,并使用标准相机稳定工具找到相对于背景的相机变换。随机噪声图像在背景参考帧中定义,并使用相机变换进行采样以生成每帧噪声图像。噪声图像提供随机但随时间持续跟踪背景的图像特征,为 CNN 提供自然输入以学习重建背景颜色。
渲染 CNN 将分割掩码和每帧噪声图像作为输入,并生成 RGB 彩色图像和 alpha 映射,它们捕获每一层的透明度。这些输出使用传统的 alpha 混合进行合并以生成输出帧。CNN 从头开始训练,通过查找掩码中未捕获的效果(例如,阴影、反射或烟雾)并将其与给定的前景层相关联来重建输入帧,并确保主体的 alpha 大致包括分割掩码。为了确保前景层只捕获前景元素而没有固定背景,还对前景 alpha 应用了稀疏损失。
为每个视频训练一个新的渲染网络。由于网络只需要重建单个输入视频,因此除了分离每个主题的效果之外,它还能够捕获精细结构和快速运动,如下所示。在步行示例中,omnimatte 包括投在公园长椅板条上的阴影。在网球示例中,捕捉到了细小的阴影甚至网球。在足球示例中,球员和球的阴影被分解为适当的层(当球员的脚被球挡住时会出现轻微的错误)。
这个基本模型已经运行良好,但可以通过使用额外的缓冲区(如光流或纹理坐标)增加 CNN 的输入来改进结果。
应用程序
一旦生成了omnimattes,如何使用它们?如上所示,我们可以删除对象,只需从组合中删除它们的图层即可。我们还可以通过在合成中重复对象的图层来复制对象。在下面的例子中,视频被“展开”成全景图,马被多次复制以产生频闪的照片效果。请注意,马投在地面和障碍物上的阴影被正确捕获。
一个更微妙但功能更强大的应用是重定时主题。时间的操纵在电影中被广泛使用,但通常需要为每个主题和受控的拍摄环境单独拍摄。分解为omnimattes 使日常视频的重新定时效果成为可能,只需使用后处理,只需独立更改每一层的播放速率即可。由于Omnimattes 是标准的RGBA 图像,因此可以使用传统的视频编辑软件来完成这种重新定时编辑。
下面的视频被分解成三层,每个孩子一层。孩子们最初的、不同步的跳跃通过简单地调整他们的图层的播放速率来对齐,为水中的飞溅和反射产生逼真的重新定时。
重要的是要考虑到任何处理图像的新技术都应该负责任地开发和应用,因为它可能被滥用来产生虚假或误导性信息。我们的技术是根据我们的AI 原则开发的,只允许重新排列视频中已经存在的内容,但即使是简单的重新排列也会显着改变视频的效果,如这些示例所示。研究人员应该意识到这些风险。
未来的工作
有许多令人兴奋的方向可以提高omnimattes 的质量。在实用层面上,该系统目前仅支持可以建模为全景图的背景,其中相机的位置是固定的。当相机位置移动时,全景模型无法准确捕捉整个背景,并且某些背景元素可能会杂乱前景图层(有时在上图中可见)。处理完全通用的相机运动,例如穿过房间或走在街上,需要 3D 背景模型。在存在移动物体和效果的情况下重建 3D 场景仍然是一项艰巨的研究挑战,但最近取得了令人鼓舞的进展。
在理论层面上,CNNs 学习相关性的能力是强大的,但仍然有些神秘,并且并不总是导致预期的层分解。虽然我们的系统允许在自动结果不完美时进行手动编辑,但更好的解决方案是充分了解 CNN 学习图像相关性的能力和局限性。除了层分解之外,这种理解可能会导致改进去噪、修复和许多其他视频编辑应用程序。