没有合适的资源?快使用搜索试试~ 我知道了~
182480Block-NeRF:可扩展的大规模场景神经视图合成0Matthew Tancik 1 � Vincent Casser 2 Xinchen Yan 2 Sabeek Pradhan 20Ben P. Mildenhall 3 Pratul Srinivasan 3 Jonathan T. Barron 3 Henrik Kretzschmar 201加州大学伯克利分校2 Waymo 3 Google研究0Alamo Square, SF01公里0Block-NeRF0九月0六月0图1.Block-NeRF是一种通过使用多个紧凑的NeRF来表示环境的方法,从而实现大规模场景重建。在推断时,Block-NeRF无缝地组合给定区域相关的NeRF的渲染结果。在这个例子中,我们使用在3个月内收集的数据重建了旧金山的AlamoSquare社区。Block-NeRF可以对环境的单个块进行更新,而无需对整个场景进行重新训练,如右侧的施工所示。视频结果可以在项目网站waymo.com/research/block-nerf上找到。0摘要0我们提出了Block-NeRF,这是神经辐射场(Neural Radiance Fields,NeRF)的一种变体。0本文介绍了Block-NeRF,这是神经辐射场(NeuralRadianceFields,NeRF)的一种变体。我们展示了当将NeRF扩展到渲染跨越多个街区的城市规模场景时,将场景分解为单独训练的NeRFs是至关重要的。这种分解将渲染时间与场景大小解耦,使渲染能够适应任意大的环境,并允许对环境进行分块更新。我们采用了几种架构上的改进,使NeRF对在不同环境条件下捕获的数据具有鲁棒性。我们为每个单独的NeRF添加了外观嵌入、学习的姿态细化和可控的曝光,并引入了一种用于对齐相邻NeRF之间外观的过程,以便它们可以无缝地组合。我们从280万张图像构建了一个Block-NeRF的网格,创建了迄今为止最大的神经场景表示,能够渲染整个旧金山的一个社区。01. 引言0*在Waymo实习期间完成的工作。0重建大规模环境引入了一些额外的挑战,包括瞬态物体(汽车和行人)的存在,模型容量的限制。0重建大规模环境可以实现几个重要的用例,例如自动驾驶[30, 43, 69]和航空测绘[14,33]。例如,操作领域的高保真地图可以作为机器人导航的先验知识。大规模场景重建可以用于闭环机器人模拟[13]。自动驾驶系统通常通过重新模拟之前遇到的场景来进行评估。然而,与记录的遭遇有任何偏差可能会改变车辆的轨迹,需要沿着改变的路径进行高保真度的新视图渲染。场景条件化的NeRF可以通过改变环境的光照条件(如相机曝光、天气或时间)来增强模拟场景。0重建如此大规模的环境引入了一些额外的挑战,包括瞬态物体(汽车和行人)的存在,模型容量的限制0重建如此大规模的环境引入了一些额外的挑战,包括瞬态物体(汽车和行人)的存在,模型容量的限制。282490除了内存和计算限制之外,对于如此大规模的环境来说,训练数据很难在一次捕捉中在一致的条件下收集。相反,环境的不同部分的数据可能需要从不同的数据收集工作中获取,这会引入场景几何(例如施工工作和停放的汽车)以及外观(例如天气条件和时间)的变化。0我们通过外观嵌入和学习的姿态细化来扩展NeRF,并0学习的姿态细化来解决采集数据中的环境变化和姿态误差。我们还添加了曝光条件,以在推断过程中修改曝光。我们将这种修改后的模型称为Block-NeRF。增加Block-NeRF的网络容量可以表示越来越大的场景。然而,这种方法也有一些限制:渲染时间随网络的大小而增加,网络不能再适应单个计算设备,更新或扩展环境需要重新训练整个网络。0为了解决这些挑战,我们提出将大型环境分割为0将环境分解为单独训练的Block-NeRF,然后在推断时动态地渲染和组合这些Block-NeRF。独立建模这些Block-NeRF允许最大的灵活性,可以扩展到任意大的环境,并且可以以分段的方式更新或引入新的区域,而无需重新训练整个环境,如图1所示。为了计算目标视图,只有一部分Block-NeRF被渲染,然后根据它们相对于相机的地理位置进行合成。为了实现更无缝的合成,我们提出了一种外观匹配技术,通过优化它们的外观嵌入将不同的Block-NeRF对齐。02. 相关工作02.1. 大规模三维重建0研究人员一直在开发和改进技术0几十年来,从大型图像集合中进行三维重建的技术已经有很多研究[1, 16, 31, 46, 56,78],目前的工作很大程度上依赖于成熟和稳健的软件实现,如COLMAP来执行这个任务[54]。几乎所有这些重建方法都共享一个常见的流程:提取2D图像特征(如SIFT[37]),在不同的图像之间匹配这些特征,并联合优化一组与这些匹配一致的3D点和相机姿态(即已经研究得很透彻的束调整问题[23,64])。将这个流程扩展到城市规模的数据主要是实现这些算法的高度稳健和并行化版本,这些算法已经在PhotoTourism[56]和Building Rome in aDay[1]等工作中进行了探索。核心图形研究还探索了将场景分解为快速高质量渲染的部分[36]。0Block-NeRF起源0Block-NeRF训练半径0可见性预测0颜色预测0组合0颜色预测0目标视图0丢弃0图2.场景被分割成多个Block-NeRF,每个Block-NeRF都在某个半径(虚线橙线)内的数据上进行训练,该半径以特定的Block-NeRF起源坐标(橙色点)为中心。为了在场景中渲染目标视图,计算所有在给定半径内的NeRF的可见性图。可见性较低的Block-NeRF被丢弃(底部Block-NeRF),并为剩余的块渲染颜色输出。然后根据每个块起源与目标视图的距离合并渲染结果。0这些方法通常为每个相机输出一个姿态0输入图像和稀疏的3D点云。要得到完整的3D场景模型,这些输出必须经过密集的多视图立体算法(例如PMVS[18])进一步处理,以产生密集的点云或三角网格。这个过程本身也存在着扩展困难[17]。由于在有限的纹理或镜面反射区域进行三角化是具有挑战性的,因此得到的3D模型通常在这些区域中包含伪影或空洞。因此,它们经常需要进一步的后处理才能创建可用于渲染逼真图像的模型[55]。然而,这个任务主要是新视角合成的领域,而3D重建技术主要关注几何精度。0相比之下,我们的方法不依赖于大规模的0SfM来生成相机姿态,而是在收集图像时使用车辆上的各种传感器执行里程计[63]。02.2. 新视图合成0给定给定场景的一组输入图像及其0相机姿态,新视图合成旨在从以前未观察到的视点渲染观察到的场景内容,使用户能够以高视觉保真度浏览重建环境。0基于几何的图像投影。许多应用程序0视图合成的方法首先应用传统的3D重建技术构建表示场景的点云或三角网格。这种几何“代理”382500然后用启发式方法[6]或基于学习的方法[24, 51,52]将这些像素重新投影到新的相机视图中进行混合。这种方法已经扩展到长的第一人称视频轨迹[29]、沿城市街道收集的全景图[28]和来自照片旅游数据集的单个地标[39]。依赖几何代理的方法受到初始3D重建质量的限制,这会影响它们在具有复杂几何或反射效果的场景中的性能。0体积场景表示。最近的视图合成方法0重建和渲染的方法,并学习这个流程的端到端,通常使用体积场景表示。用于渲染小基线视图插值的方法通常使用前馈网络直接从输入图像到输出体积的映射[15,77],而针对较大基线视图合成的方法(如神经体积[35])则在所有输入图像上运行全局优化来重建每个新场景,类似于传统的捆绑调整。0神经辐射场(NeRF)[40]将这个单一的0具有能够更有效地表示复杂场景的神经场景表示的场景优化设置;然而,它的渲染模型在计算方面的扩展性非常差。后续工作提出了通过将空间划分为较小的区域,每个区域都包含自己的轻量级NeRF网络[42, 47,48],从而使NeRF更加高效。与我们的方法不同,这些网络集合必须进行联合训练,限制了它们的灵活性。另一种方法是以粗糙的3D网格形式提供额外的容量[34]。这种方法也被应用于将详细的3D形状压缩成神经符号距离函数[61],以及使用占用网络[45]表示大场景。0并发作品Mega-NeRF [65]和CityNeRF [67]0利用NeRF来表示大场景。Mega-NeRF将从无人机捕获的数据分成多个分区,以训练专门的NeRF。CityNeRF从卫星图像中学习多尺度表示。0我们在mip之上构建了我们的Block-NeRF实现0NeRF[3]改进了NeRF在输入图像从不同距离观察场景的场景中的性能问题。我们将NeRF in theWild(NeRF-W)[38]的技术应用于我们的模型,该模型为每个训练图像添加了一个潜在代码,以处理应用NeRF到照片旅游数据集中的地标时的不一致场景外观。NeRF-W为来自数千个图像的每个地标创建一个单独的NeRF,而我们的方法将许多NeRF组合起来重建一个连贯的大环境,使用数百万个图像。我们的模型还包括一个学习的相机姿态细化,这在之前的工作中已经探索过[32, 58, 66, 70, 71]。0一些基于NeRF的方法使用分割数据来0x σ0σ0fc 曝光综合位置编码0位置编码0外观嵌入0f0x0v 可见性0图3. 我们的模型是mip-NeRF [3]中提出的模型的扩展。第一个MLPfσ预测空间中位置x的密度σ。网络还输出一个特征向量,该向量与视角d、曝光水平和外观嵌入连接在一起。这些输入到第二个MLPfc中,输出点的颜色。我们还训练了一个可见性网络fv,用于预测训练视图中的空间点是否可见,在推断过程中用于修剪Block-NeRFs。0隔离和重建静态[68]或移动对象(如人或汽车)[43,74]跨视频序列。由于我们主要关注重建环境本身,因此选择在训练过程中简单地屏蔽动态对象。02.3. 城市场景相机模拟0相机模拟已成为一种流行的数据来源0用于在交互平台上训练和验证自动驾驶系统[2,27]的数据。早期的工作[13, 19, 50,53]从脚本场景和手动创建的3D资源中合成数据。这些方法存在领域不匹配和有限的场景多样性。一些最近的工作通过最小化模拟和渲染流程中的分布偏移来解决模拟到现实的差距。Kar等人[26]和Devaranjan等人[12]提出通过学习的场景生成框架来最小化从渲染输出到真实相机传感器数据的场景级分布偏移。Richter等人[49]利用图形流水线中的中间渲染缓冲区来提高合成生成的相机图像的逼真程度。0为了构建逼真且可扩展的目标0相机模拟,之前的方法[9, 30,69]利用在单次驾驶过程中收集的丰富多传感器驾驶数据,使用现代机器学习技术进行3D场景重建[9]和新视角合成[69],包括用于2D神经渲染的图像GANs。依赖于复杂的surfel重建流程,SurfelGAN[69]仍然容易受到图形重建中的错误以及LiDAR扫描的有限范围和垂直视场的影响。与现有的工作相比,我们的工作解决了3D渲染问题,并能够对来自多次驾驶的真实相机数据进行建模,这些数据在环境条件(如天气和时间)变化时捕获,这是重建大规模区域的先决条件。4825103. 背景0我们基于NeRF [40]及其扩展mip-NeRF [3]。0在这里,我们总结了这些方法的相关部分。详细信息请参考原始论文。03.1. NeRF和mip-NeRF初步0神经辐射场(NeRF)[40]是一种基于坐标的表示0神经场景表示是通过可微分渲染损失进行优化的,以重现一组已知相机姿态的输入图像的外观。优化后,NeRF模型可以用于渲染以前未见过的视角。0NeRF场景表示是一对多层0感知器(MLPs)。第一个MLPfσ接收一个3D位置x,并输出体积密度σ和特征向量。这个特征向量与2D视角d连接在一起,然后输入到第二个MLPfc中,输出RGB颜色c。这种架构确保了当从不同角度观察时,输出颜色可以变化,从而使NeRF能够表示反射和光泽材料,但是由σ表示的底层几何仅仅是位置的函数。0图像中的每个像素对应于射线r(t)=o+t*d通过射线r上的点进行采样。0NeRF通过在3D空间中沿射线r随机采样距离{ti}t来计算r的颜色。0i=0沿射线上的点并通过它们的MLP。0通过其MLP计算σi和ci来计算r(ti)的颜色。最终的输出颜色是wi*ci的加权和,其中wi=Ti(1−e−∆iσi)。0cout=0NX0i=10wi=Ti(1−e−∆iσi), (1)0Ti=exp0@−0X0j
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功