科技魔方

谷歌研究根据静止照片学习生成3D漫游视图

AR/VR

2022年11月14日

  我们生活的地球拥有雄伟的山脉、壮丽的海洋和宁静的森林。你能想象小鸟飞过这种细节丰富的三维景观时所看到的景色吗?计算机能学会合成这种视觉体验吗?显然,这样的能力可以为游戏和VR体验提供新的内容。

  在名为“Infinite Nature”的研究中,谷歌探索了可以根据静止照片来学习生成这种Flythroughs飞行漫游视图。这是前所未有的突破性能力。谷歌将潜在的研究问题称为Perpetual View Generation持续视图生成:给定一个场景的单个输入视图,如何合成一组对应于通过所述场景任意长度的、由用户控制3D路径的逼真输出视图?

  Perpetual View Generation持续视图生成非常具有挑战性,因为系统必须在大型地标(例如山脉)的另一侧生成新内容,并以高逼真度和高分辨率渲染新内容。

  经过一番努力后,由谷歌、康奈尔大学、加利福尼亚大学伯克利分校组成的团队于ECCV 2022展示的InfiniteNature Zero可以从单个种子图像开始,使用仅以静止照片训练的系统产生高分辨率、高质量的Flythroughs飞行漫游视图。如下面这个视频所示:

  *InfiniteNature Zero生成的Flythroughs飞行漫游视图。它可以获取自然场景的单个输入图像,并合成相应的飞行漫游路径,从而生成新的场景内容。

  背景:从视频中学习3D飞行漫游视图

  实际上,谷歌早早就已经开始探索相关的方案。在2021 ICCV大会,团队展示了自己的研究《Infinite Nature: Perpetual View Generation of Natural Scenes from a Single Image》。这是一种根据视频学习的方案。他们收集了一组无人机从沿海岸线飞行拍摄的在线视频,并由AI学习合成类似于所述真实视频的Flythroughs飞行漫游视图。

  这组在线视频称为Aerial Coastline Imagery Dataset(ACID)。然而,为了学习如何合成动态响应任何所需3D camera路径的场景,不能简单地将所述视频视为原始像素集合。团队同时必须计算它们的基本3D几何结构,包括每帧的camera位置。

  研究的基本思想是,逐步学习生成Flythroughs飞行漫游视图。给定一个起始视图,如下图中的第一幅图像,团队首先使用单图像深度预测方法计算深度图。然后,使用深度图将图像向前渲染到一个新的camera视点(如中间所示),并从所述新视点生成一个新图像和深度图。

  然而,这个中间图像存在一定的问题:我们可以看到物体后面的区域,但这种区域在起始图像中不可见。另外,它十分模糊,因为我们现在更接近物体,而我们是在拉伸前一帧的像素以渲染现在近看更大的对象。

  为了解决所述问题,谷歌训练了一个获取低质量的中间图像,并输出完整的高质量图像和相应深度图的神经图像细化网络。然后,可以重复步骤,以所述合成图像作为新的起点。因为团队对图像和深度图都进行了细化,所以这个过程可以根据需要重复多次。当camera进一步进入场景时,系统会自动学习生成新的风景,如山脉、岛屿和海洋。

  谷将这种方法称为“渲染-细化-重复”。接下来,谷歌使用ACID数据集训练这种渲染-细化-重复合成方法。特别是,从数据集中采样一个视频,然后从所述视频中采样一帧。然后,使用所述方法渲染沿着与ground truth视频相同的camera轨迹移动到场景中的新视图,并将渲染帧与相应的ground truth帧进行比较,从而导出训练信号。研究人员同时包括一个对抗性设置,将合成帧与真实图像区分开来。

  所以,系统可以生成出色的Flythroughs飞行漫游视图,如项目网页所示。与以往的视频合成方法不同,这个方法允许用户交互式地控制camera,并可以生成更长的camera路径。

  从静止照片中学习Flythroughs飞行漫游视图

  寻找具有正确camera运动类型的高质量视频是一项挑战,并且单个视频帧的质量通常无法与有意拍摄的自然照片相比较。所以在《InfiniteNature-Zero: Learning Perpetual View Generation of Natural Scenes from Single Images》这项研究中,由谷歌、康奈尔大学、加利福尼亚大学伯克利分校组成的团队以上述渲染细化重复策略作为基础,并设计了一种从静态照片集合学习持续视图合成的方法,无需任何视频。他们将这种方法称为InfiniteNature Zero,不需要任何视频。

  在一开始,这似乎是一项不可能完成的任务:都是孤立的照片,如何训练模型生成场景的Flythroughs飞行漫游视图呢?

  为了解决这个问题,团队提出了一个关键的见解:如果拍摄一张图像并渲染一个形成cycle的camera路径,亦即路径循环返回,使得最后一个图像与第一个图像都来自同一个视点,这样就能知道沿着所述路径的最后一个合成图像应该与输入图像相同。这种cycle一致性提供了一种训练约束,可以帮助模型在视图生成的每个步骤中学习填充缺失区域并提高图像分辨率。

  然而,使用这种camera cycle进行训练不足以生成长而稳定的视图序列,所以团队纳入了一种对抗策略,考虑了长而非循环的camera路径。特别是,如果从开始帧渲染T帧,研究人员会优化渲染-细化-重复模型,以便鉴别器网络无法区分哪个是开始帧,哪个是最终合成帧。最后,他们添加了一个经训练以生成高质量天空区域的组件,从而提高结果的真实感。

  有了上述见解,团队使用可以从网络大量获取的风景照片来训练InfiniteNature Zero。下面的视频展示了InfiniteNature Zero的效果。可以看到,它可以沿着任意长的camera路径生成美丽多彩的自然风光。谷歌指出,与先前的工作以及先前的视频合成方法相比,InfiniteNature Zero的结果在内容质量和多样性方面都有了显著的改进。

  结论

  团队总结道,这项研究存在一系列令人兴奋的未来方向。例如,所述方法目前仅基于前一帧及其深度图合成场景内容,没有持久的底层3D表示。所以,团队接下来将研究可以生成完整的、逼真的、一致的3D世界的算法。

+1

来源:映维网

推荐文章