谷歌即将发布基于“神经渲染”的3D谷歌地图~
而对于该技术路线的确定,正式来自于发布会上Sundar Pichai在提到室内动态场景展示的时候,提到,该场景不是使用无人机拍摄,而是使用“Neural Rendering+Google Cloud Immersive Stream ”两种技术路线的组合,从而保证这个效果可以在移动端浏览。
What's amazing is that isn't a drone flying in the restaurant — we use neural rendering to create the experience from images alone. And Google Cloud Immersive Stream allows this experience to run on just about any smartphone. This feature will start rolling out in Google Maps for select cities globally later this year.
令人惊奇的是,这不是一架在餐厅里飞行的无人机——我们使用神经渲染来仅从图像中创造体验。Google Cloud Immersive Stream 让这种体验几乎可以在任何智能手机上运行。该功能将于今年晚些时候在全球部分城市的谷歌地图中推出。
我在之前的一篇文章《数字孪生流域不简单~》中提到,目前三维可视化的表达方式总体可以分为:表面网格、体素模型、点云模型、多视图合成模型,其中神经渲染就是属于多视图合成这个领域的技术,多视图合成需要从一组输入视图中构建一个场景的新视图。
而谷歌地图积累了大量的倾斜三维、街景以及C端分享的照片数据,而这些数据为构建合成视图提供了丰富的数据基础。
对于谷歌会在谷歌地图使用“神经渲染”技术其实既意外也不意外,不意外是因为之前谷歌联合Waymo就发布了名为Block-NeRF研究成果,这个我在《Google发布最新研究成果,城市级3D神经渲染再升级~》中也介绍过,当时介绍的应用场景就是有谷歌地图,令人意外的是这个节奏如此之快,一个是技术的成熟块,另外一个是工程化应用的速度快,同时谷歌地图的引用也必然会引起其他图商的跟进。
对于多视图合成的理解,比如这种“自由视角视频”,其特点便是:可以从任意角度观看,提供完全沉浸式的观感。
构建这种体验的传统的方法是需要好多台摄像机从不同角度一起拍,然后把所有角度的视频合成在一起,但是这种方式依赖于多个摄像机,不仅成本昂贵,还受限于拍摄场地的环境,所以如何更低成本、更灵活的构建合成视图就是要解决的问题,NeRF也正是在这个背景下产生。
而NeRF在训练中输的数据是从不同位置拍摄同一场景的图片,拍摄这些图片的相机位姿、相机内参,以及场景的范围。 其核心原理就是构造一个隐式的渲染流程,其输入是某个视角下发射的光线的位置o,方向d以及对应的坐标(x,y,z)。通过神经辐射场Fθ,得到体密度和颜色,最后再通过渲染得到最终的图像。
然而,这些惊艳的效果是非常消耗算力的,包括对模型的训练以及实时画面的呈现都会对机器提出比较高的要求,比如早期训练NeRF,每帧图要渲染 30 秒,模型用单个 GPU 要训练一天,所以后续也有很多的改进提升效率的方法和论文出来,但是应该代价还是比较大,这点应该比较类似云渲染,所以在这块谷歌是采用了结合Google Cloud Immersive Stream的云端技术,说白了就是将实时计算的部分托管到云端来完成,这个也是未来需要解决的一个问题。
从谷歌地图的应用来看,基于神经网络的合成视图作为3D表达的另外一个分支将3D和AI深度结合还是具备比较旺盛的生命力,包括之前文章介绍的英伟达Omniverse通过视频进行交通场景的合成从而服务于无人驾驶训练的场景,非常值得关注,也期待今年晚点谷歌地图发布的实际应用效果~