Marcos Seefelder,软件工程师,以及 Daniel Duckworth,Google Research 的研究软件工程师
在选择场所时,我们经常遇到以下问题:这家餐厅是否适合约会的氛围?是否有好的户外座位?是否有足够的屏幕观看比赛?尽管照片和视频可能部分回答这些问题,但在无法亲自访问的情况下,它们无法取代感觉好像你在那里的体验。
交互式、照片逼真、多维度的沉浸式体验有望弥合这种差距,并重新创造空间的感觉和氛围,使用户能够自然和直观地找到他们需要的信息。为了帮助实现这一目标,Google 地图推出了 Immersive View,它使用机器学习(ML)和计算机视觉的先进技术,将数十亿个街景和航拍图像融合在一起,创建了一个丰富的数字模型。除此之外,它还在上面添加了有用的信息,例如天气、交通和场所的繁忙程度。Immersive View 提供了餐厅、咖啡馆和其他场所的室内视图,让用户可以虚拟地近距离观看,从而帮助他们自信地决定去哪里。
今天我们将描述 Immersive View 中提供这些室内视图的工作。我们基于神经放射场(NeRF),这是一种最先进的方法,用于融合照片以在神经网络中产生逼真的多维重建。我们描述了我们的 NeRF 创作流程,其中包括使用 DSLR 相机对空间进行自定义照片拍摄、图像处理和场景再现。我们利用 Alphabet 在这一领域最近的进展,设计了一种方法,其视觉保真度与之前的最新技术相匹配甚至超越。然后,这些模型被嵌入交互式的 360° 视频中,沿着策划的飞行路径,使它们可以在智能手机上使用。
在 Immersive View 中,阿姆斯特丹的 The Seafood Bar 重建。 |
从照片到 NeRF
我们工作的核心是 NeRF,这是一种最近开发的用于 3D 重建和新视角合成的方法。在给定描述场景的一组照片的情况下,NeRF 将这些照片提炼成一个神经场,然后可以使用它来从原始集合中不存在的视点渲染照片。
虽然 NeRF 在很大程度上解决了重建的挑战,但基于真实世界数据的面向用户的产品会带来各种各样的挑战。例如,重建质量和用户体验应该在各种场所中保持一致,从昏暗的酒吧到人行道咖啡馆再到酒店餐厅。同时,应该尊重隐私,并删除任何可能包含个人身份信息的信息。重要的是,应该以一致且高效的方式捕获场景,可靠地产生高质量的重建,同时最大程度地减少捕获所需的工作量。最后,所有移动用户都应该具有相同的自然体验,无论手头是什么设备。
Immersive View 室内重建流程。 |
捕获和预处理
生成高质量 NeRF 的第一步是仔细捕捉场景:从中可以派生出 3D 几何和颜色的密集照片集合。为了获得尽可能好的重建质量,每个表面都应该从多个不同的方向观察到。模型对相机和场景本身进行进一步的假设。例如,相机的大多数属性(例如白平衡和光圈)被假定在捕获过程中是固定的。同样,场景本身被假定为静止的:应避免光照变化和运动。这必须与实际问题相平衡,包括捕获所需的时间、可用的照明、设备重量和隐私。与专业摄影师合作,我们制定了一种策略,可以使用 DSLR 相机在仅一个小时的时间范围内快速可靠地捕获场所照片。这种方法已经被用于我们迄今为止所有的 NeRF 重建。
一旦捕获上传到我们的系统中,处理就开始了。由于照片可能无意中包含敏感信息,我们会自动扫描和模糊个人身份的内容。然后,我们应用结构从运动管道来解决每张照片的相机参数:它相对于其他照片的位置和方向,以及像焦距这样的镜头属性。这些参数将每个像素与 3D 空间中的一个点和方向相关联,并构成 NeRF 重建过程中的关键信号。
NeRF 重建
与许多机器学习模型不同的是,每个捕获的位置都会从头开始训练一个新的 NeRF 模型。为了在目标计算预算内获得最佳的重建质量,我们结合了 Alphabet 开发的各种 NeRF 发布作品的特点。其中一些包括:
- 我们建立在 mip-NeRF 360 上,这是迄今为止表现最好的 NeRF 模型之一。虽然比 Nvidia 广泛使用的 Instant NGP 更具计算强度,但我们发现 mip-NeRF 360 一致性地产生更少的伪影和更高的重建质量。
- 我们将 NeRF in the Wild 中引入的低维生成潜在优化(GLO)向量作为模型辐射网络的辅助输入进行了整合。这些是学习到的实值潜在向量,用于嵌入每个图像的外观信息。通过为每个图像分配自己的潜在向量,模型可以捕捉诸如光照变化等现象,而无需使用常见的伪影几何体,这是普通 NeRF 捕获中的一种常见伪影。
- 我们还引入了 Block-NeRF 中引入的曝光调节。与 GLO 向量不同,曝光直接从照片的元数据中派生,并作为模型辐射网络的附加输入提供。这提供了两个主要优点:它打开了变化 ISO 的可能性,并提供了一种控制图像亮度的方法,使其在推理时更加明亮。我们发现这两种属性对于捕获和重建昏暗的场所非常宝贵。
我们在 TPU 或 GPU 加速器上训练每个 NeRF 模型,这提供了不同的权衡点。与所有 Google 产品一样,我们继续寻找新的改进方法,从减少计算要求到提高重建质量。
我们的方法和 mip-NeRF 360 基线的并排比较。 |
可扩展的用户体验
一旦训练了 NeRF,我们就有能力从任何视点和相机镜头产生场景的新照片。我们的目标是提供有意义和有帮助的用户体验:不仅是重建本身,而且是引导性的、交互式的导览,使用户能够自由地探索空间,从智能手机的舒适度开始。
为此,我们设计了一个可控的 360° 视频播放器,模拟飞越室内空间沿着预定义路径,允许用户自由地观看和前后移动。作为探索这种新技术的第一个 Google 产品,选择了 360° 视频作为提供生成内容的格式,并有一些原因。
在技术方面,实时推理和烘焙表示仍然是每个客户端资源密集型的,(无论是在设备上还是在云端计算),依靠它们将限制能够访问此体验的用户数量。通过使用视频,我们能够利用与 YouTube 使用的相同视频管理和服务基础架构,将视频的存储和传递扩展到所有用户。在运营方面,视频使我们可以更清晰地控制探索体验,并且更容易对大量内容进行质量检查。
虽然我们曾经考虑过直接使用 360° 摄像机捕获空间,但使用 NeRF 重建和渲染空间具有几个优点。虚拟相机可以飞越空间中的任何地方,包括遮挡物和窗户,并且可以使用任何所需的相机镜头。相机路径也可以在后期进行编辑以实现平滑和速度,而这在实时录制中则不可能。NeRF 捕获还不需要使用专门的相机硬件。
我们的 360° 视频是通过对虚拟球形相机的每个像素进行射线投射,并合成场景中可见元素来呈现的。每个视频都遵循摄影师在捕获期间拍摄的一系列关键帧照片定义的平滑路径。计算每张图片的相机位置是在结构从运动期间完成的,而图片序列则平滑地插值为一条飞行路径。
为了保持不同场所的速度一致,我们通过捕获相距 3 米的图像对对每个场所进行校准。通过了解空间中的测量值,我们缩放生成的模型,并以自然速度渲染所有视频。
最终的体验在 Immersive View 中向用户呈现:用户可以无缝地飞入餐厅和其他室内场所,并通过逼真的 360° 视频飞行探索空间。
开放式研究问题
我们认为这个功能是通向普遍可访问的、由 AI 驱动的沉浸式体验之旅的第一步。从 NeRF 研究的角度来看,还有更多问题需要解决。其中一些包括:
- 增强重建,通过场景分割向场景添加语义信息,使场景更易于搜索和浏览。
- 将NeRF适应于户外照片集合,除了室内之外。这样做,我们将解锁世界每个角落的类似体验,并改变用户体验户外世界的方式。
- 通过在设备上进行神经渲染,实现实时交互式3D探索。
使用在Street View全景图上训练的NeRF模型重建户外场景。 |
随着我们的不断发展,我们期待与社区互动和贡献,共同构建下一代沉浸式体验。
致谢
这项工作是Google多个团队的合作。项目的贡献者包括Jon Barron、Julius Beres、Daniel Duckworth、Roman Dudko、Magdalena Filak、Mike Harm、Peter Hedman、Claudio Martella、Ben Mildenhall、Cardin Moffett、Etienne Pot、Konstantinos Rematas、Yves Sallat、Marcos Seefelder、Lilyana Sirakovat、Sven Tresp和Peter Zhizhin。
此外,我们还要感谢Luke Barrington、Daniel Filip、Tom Funkhouser、Charles Goran、Pramod Gupta、Mario Lučić、Isalo Montacute和Dan Thomasset提供有价值的反馈和建议。