前不久,谷歌公布了一系列与AR导航、沉浸式立体地图相关的更新,让我们进一步了解谷歌3D地图的发展路径,包括基于海量街景数据合成3D,以及后续会在街景相机上加入LiDAR模组,来实现3D定位等等。

相比于Niantic、Snap等初创公司,谷歌LBS AR、3D地图领域更具优势,仅背靠谷歌地图、谷歌地球就拥有大量的环境和定位数据,因此扩展3D地图布局将更加顺利。

不仅如此,谷歌已经开始从多方面着手收集3D的环境数据。比如,谷歌母公司Alphabet旗下的自动驾驶汽车项目Waymo,近期就公布了图像合成模型NeRF的衍生版本:Block-NeRF,其特点是可通过自动驾驶汽车的传感器来收集街区的环境数据,并根据这些数据来合成大规模的3D场景。

关于Block-NeRF

据了解,NeRF简单来讲就是神经辐射场,原理是使用MLP神经网络隐式的学习一个静态3D场景,并通过静态图像,去渲染大规模3D场景的任意角度。

与此前谷歌的其他NeRF模型相比,Block-NeRF采用自动驾驶汽车Waymo用传感器收集的路面数据,来生成区域神经辐射场,并组合成3D场景。Block-NeRF不局限于车辆经过的路面场景,也可以3D重建完整的大规模环境。比如,Waymo利用Block-NeRF渲染了旧金山阿拉莫广场街区(约半平方公里),其中包括35个街区NeRF模型。

经过三个月时间,Waymo捕捉280万张图片。一些场景甚至需要超过13小时车程(1330次驾驶)收集的数据。Waymo表示:我们构建了迄今为止最大的神经辐射场,可渲染出旧金山的完整街区。

Block-NeRF的亮点是比NeRF方案渲染的环境规模更大,其规模可跨越城市多个街区,因此有潜力渲染城市规模的3D场景。实际上,Block-NeRF是将多个街区分解为单独的NeRF,并分别训练这些分区NeRF,然后通过进行组合而生成完整场景。

分区训练NeRF的好处是,可分解渲染时间,可快速扩展至任意大渲染规模,而且每一块NeRF都可以独立更新。

因此,利用Block-NeRF生成的3D场景可任意角度查看,而且可以调整一天任意时间的光影等元素变化。

等等,怎么听上去像这么像是一个三维建模引擎,传统的引擎是基于虚拟场景建模,而Block-NeRF则是基于真实场景来建模,同样是建模,也见证了不同公司的不同视角。

​很显然,在面向LBS AR/MR的交互场景下,基于Block-NeRF的潜力无穷大。未来的AR将不局限于Local模式,基于真实世界的虚拟场景锚定将呈现完全不同的体验​。

方案特点

随着技术发展,神经辐射场在给定一组相机姿态图像后,可实现照片级保真的3D重建和新视图合成。不过,早期的方案主要针对小规模场景、目标物体为中心进行重建,难以实现城市级的规模化3D重建(重建大场景时容易导致明显的伪影和低视觉保真度)。

大规模3D场景重建有多种用途,可用于自动驾驶、航空测量等领域。比如地图映射,为真实场景创建高保真的3D地图,以帮助机器人定位、导航和躲避障碍。此外,大规模场景建模也可用于闭环机器人模拟。

对于自动驾驶系统来讲,可生成任意视图的3D场景可提升导航的稳定性,因为3D场景模型记录了场景中可能出现的变化(比如环境照明条件、相机曝光、天气和时间变化、汽车和行人运动),因此在实际导航时,即使路面信息变化,车辆的轨迹也不容易被改变。

不过,这种动态变化的3D场景无法依赖一次性采集的环境数据,为了体现场景中不同区域的变化,这些区域分别需要独立的数据源。因此,Waymo在NeRF基础上进行扩展,将一个场景分为多个block/区域,并通过外观嵌入和学习姿态细化,以此开发了Block-NeRF模型,来计算动态环境变化。

相比于统一的NeRF模型,Block-NeRF更加模块化,其好处是降低渲染时间和对算力的依赖,在扩展3D场景规模时,无需重新训练整个网络。也就是说,只需要独立渲染每一个Block-NeRF的分区,然后根据它所在的位置,合称为3D场景。

这些NeRF模块可并行渲染和训练,在计算过程中可实现场景的平滑合成。同时,还优化了外观代码,以匹配环境光照条件,动态调整亮度权重。

而为了让Block-NeRF在不同环境中也能稳定捕捉数据,Waymo更改了几种架构设计,并为每个独立的NeRF加入外观嵌入、学习姿态细化和可控曝光功能。此外,为了提升NeRF模块的组合效果,还引入了一个专门的拼接匹配程序。

为了覆盖目标环境,Waymo会在每个交叉口放置一个Block-NeRF,可覆盖相关街道75%面积。这意味着两个相邻街区常常有50%试图重叠。这些NeRF模块的尺寸和布局可自定义,只要确保完整覆盖整个场景即可。

两个合成数据集

为了展示研究成果,科研人员分别创建了基于旧金山阿拉莫光场和使命湾合成的3D场景。据悉,阿拉莫广场面积960x570米,数据分别捕捉于6月、7月和8月,共由35个Block-NeRF组成,经过了38到48次数据收集训练,训练每个Block-NeRF分别使用了6.5万到10.8万张图像数据,累计采集时间为13.4小时(1330次数据采集)。

使命湾数据集则是一个对照数据,作为Block-NeRF的训练基准。该数据是在2020年11月一次性采集的,捕捉到的图像拥有一支的环境条件,采集时间超过100秒,包含1.08公里车程、1.2万张图像。

经过实验验证,科研人员发现Block-NeRF还存在一些局限,比如:

1)如果对象未正确遮盖,它们可能会导致生成的渲染中出现伪影,比如正确移除汽车后,常常还会留下汽车的影子。

2)另外,合成场景中的植被也打破了沉浸感,因为树叶会随风移动的特性,导致树木和植物的渲染结果模糊。

3)训练数据中可能会出现时间不一致的模块,需要手动重新训练。

值得注意的是,目前Block-NeRF还无法渲染动态对象,未来可以在优化过程中训练瞬态对象,或是直接对动态对象建模来解决这一问题。也可以通过分割掩模、边界框来分离Block-NeRF和单独可控的NeRF对象。

此外,还需要采用缓存技术、稀疏体积网格等方式,来优化NeRF渲染的计算成本、延迟。参考:Waymo

NeRF衍生项目,谷歌用Waymo自动驾驶汽车打造3D数字城市相关推荐

  1. Waymo自动驾驶汽车扎堆冲进死胡同,一天多达50辆,附近居民蚌埠住了

    明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 最近,Waymo自动驾驶汽车和旧金山一条平平无奇的小路"杠"上了. 据附近居民表示,总是有Waymo自动驾驶汽车开到这条 ...

  2. 自动驾驶汽车GPS系统数字孪生建模(二)

    标注:本文来自本实验室胡宗盛的研究成果. GPS系统数字孪生建模的仿真模型实时同步数据中,实时与仿真时间之间存在差异,模拟世界拥有自己的时钟和时间,由服务器来执行, 计算两个模拟步骤需要一些实时的时间 ...

  3. 自动驾驶汽车GPS系统数字孪生建模(一)

    标注:本文来自本实验室胡宗盛的研究成果. 定位的技术发展 第一为 GNSS 定位,该定位依托于卫星定位技术,定位精度在 10 米以下: 第二为惯导定位: 第三为高精度定位,该种定位已经实现了对传感器的 ...

  4. 中国AI芯片公司霸榜谷歌Waymo自动驾驶算法挑战赛!五个赛道,四项冠军

    金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI 当今之世,最新证明自动驾驶实力的方法是什么? Waymo开放数据集挑战赛上一较高下,肯定是最具说服力的一种. 这不,作为全球自动驾驶公司王者 ...

  5. 重磅 | 谷歌Waymo最新发布可完全脱离人类操控的自动驾驶汽车

    Argo AI 工作人员正在校准传感器 翻译 | Shawn 编辑 | Donna Waymo宣布,在对其旗下的自动驾驶出租车进行的公路测试中,安全工程师将从前座移到后座,最终离开车内.这就意味着,机 ...

  6. Waymo自动驾驶车每天行驶25000英里,但CEO却告诉我们距离成功还远

    作为谷歌旗下的自动驾驶汽车公司,Waymo 被认为是最有可能率先让自动驾驶成为现实的那一家.最近其 CEO John Krafcik 宣称公司旗下的自动驾驶车辆「在开放道路上每天增加 25000 英里 ...

  7. Waymo自动驾驶详解

    2009年谷歌(Waymo)自动驾驶事业正式开始,但实际上谷歌的自动驾驶可以追溯到2005年第二届DARPA无人驾驶挑战赛,已有了十几年的历史,目前也是自动驾驶领域的标杆企业,不过Waymo也经历了各 ...

  8. Waymo自动驾驶解读

    今天,我们来了解一下谷歌的自动驾驶汽车Waymo是怎么做的. Waymo在超过25个城市的公共道路上行驶了超过2000万英里.他们还在模拟环境中行驶了数百亿英里(文章后面会介绍).此外,Waymo正在 ...

  9. 自动驾驶汽车测试技术与应用进展

    成熟的测试技术可以推动自动驾驶技术的发展和进步,反之则会成为测试技术发展的瓶颈,从自动驾驶汽车测试的需求出发,测试方法和测试工具的同步发展尤为重要,而其中基于场景的测试方法和基于虚拟仿真的硬件在环.整 ...

最新文章

  1. 一图看懂windows11新功能
  2. 计组之数据运算:9、浮点数的表示
  3. Python 实现单例模式
  4. infer的用法_imply和infer的用法区别:阅读理解题里频繁看到的词汇
  5. 【VUE】npm run dev b报错 “'webpack-dev-server' 不是内部或外部命令,也不是可运行的程序 或批处理文件。”
  6. 大数据将如何重塑亚洲企业
  7. hdu 1059 (多重背包) Dividing
  8. 因为一条SQL,我差点被祭天......
  9. atitit.基于虚拟机的启动器设计 --java 启动器 java生成exe
  10. 论文句子转换软件v.1.2.3
  11. 浅谈估值模型:回报率r的进阶玩法——Fama-French及PSM(Pastor Stambaugh Model)
  12. python如何将秒数转化成时分秒_python时分秒化为秒 python时分秒的正则表达式
  13. APM —全链路追踪
  14. 216.组合总和III 17.电话号码的字母组合
  15. VMware上Ubuntu实现和windows复制粘贴
  16. 多径信道下的LMS、RLS均衡算法研究(三)
  17. 毕业论文使用的卡方检验该如何分析?
  18. 垃圾分类共享网站的设计与实现(SSM)
  19. 小米电视微信投屏出现服务器出错,同一wifi下无法投屏怎么办 小米电视不能投屏的解决方法...
  20. 深度学习模型训练和关键参数调优详解

热门文章

  1. 【前端基础】----02CSS
  2. 红队常用命令速查表-常见工具使用命令
  3. 混合整数规划(MILP)通过修改目标函数提高运算速度by Gurobi
  4. Oracle的拉里·埃里森
  5. linux反汇编uboot,转一篇UBOOT调试的
  6. 泛微消息服务器ecology9,ecology-9-demo
  7. 电脑设置护眼色的方法
  8. 永恒之蓝MS17-010
  9. Python联调七牛云异步上传文件
  10. 又一个2W+的答题抽奖活动,复盘复盘总结总结