锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

谷歌和伯克利分校的新工作:规模化大场景的神经绘制方法Block-NeRF

时间:2022-10-27 04:00:00 td系列传感器

作者丨黄浴

来源丨计算机视觉深度学习和自动驾驶

arXiv2022年2月10日上传的论文Block-NeRF: Scalable Large Scene Neural View Synthesis“。

e1d63d1827f98a7f17fe9991b2167fc4.png

Block-NeRF,一种能代表大规模环境的环境Neural Radiance FieldsNeRF)变形。具体来说,规模化NeRF渲染跨越多个块(blocks)在城市规模场景中,场景分解为单独训练NeRF。这种分解分解了渲染时间和场景大小,使渲染扩展到任何大环境,并允许逐块更新环境。

采用几种架构变更,NeRF应用数月收集的数据对不同的环境条件具有鲁棒性。每个单独NeRF添加外观嵌入、学习姿势细化和可控曝光,并引入与相邻程序对齐的程序NeRF它们之间的外观可以无缝结合。从280万幅图像构建一个Block-NeRFs网格是迄今为止最大的神经场景表征方法,渲染了旧金山的整个邻域。

在推理时,Block-NeRF相关给定区域NeRF渲染无缝结合。如图所示:旧金山阿拉莫广场社区三个月收集的数据重建。Block NeRF如右侧所示,可以更新环境中的每个块,而无需再次训练整个场景。

可在公司项目网站上找到视频结果:com/research/block-nerf。

作者在Mip-NeRF(“Mip-NeRF: A multiscale representation for anti-aliasing neural radiance fields“. ICCV‘21)构建的基础block-NeRF从许多不同的距离观察场景,改进输入图像的影响NeRF性能混合问题。

同时采用NeRF-in the Wild(“Nerf in the wild: Neural radiance fields for unconstrained photo collections”. CVPR‘21)该技术为每个训练图像添加了一个潜代码NeRF应用于Photo Tourism处理数据集地标时不一致的场景外观。NeRF-in the Wild每个地标创建一个单独的数千张图像NeRF,本文结合了许多方法NeRF,从数百万张图像中重建一个合理的环境。该模型还包括从他人以前的工作中学习的相机姿势细化。

Neural Radiance Fields(NeRF)它是一种基于坐标的神经场景,通过不同的渲染损失进行优化,从已知的摄像头姿势再现一组输入图像的外观。优化后,可以使用NeRF模型渲染以前没有出现的视图。

NeRF场景表示一对多层感知器(MLP)。第一个MLP fσ接收3-D位置x,并输出体积密度σ和特征向量。特征向量与2-D观察方向d连接,输入第二个MLP fc,后者输出RGB颜色c。该架构确保输出颜色可以从不同的角度观察,允许NeRF代表反射和光泽材料,但由σ表示的基本几何结构只是位置函数。

图像中的每个像素对应于穿过3D空间的光线 r(t) = o td。计算R的颜色,NeRF沿射线随机采样距离{ti}Ni=0,并通过其MLP传递点r(ti)和2-D方向d,计算σi和ci如下:

为了让NeRF的MLP输入3代表更高频率的细节-D位置x和2-D观察方向d通过逐个重量正弦位置编码γPE预处理:

NeRF的MLP采用单个3D点作为输入。然而,这忽略了包含该点光对应图像素的相关联足迹(footprint)以及包含此点光的时间间隔长度,在渲染新摄像头轨迹时会产生锯齿畸变(aliasing artifacts)。Mip-NeRF圆锥截体采用投影像素是间隔)采样投影像素足迹(conical frustums)解决这个问题。为了将这些截体馈入MLP中,Mip- NeRF将每个截体类似于高斯分布,并用输入高斯分布的期望替换位置代码:

相当于集成位置编码。


训练一个单一的场景,试图像城市一样展示场景NeRF不合适。相反,将环境分成一组block-NeRF,这些block-NeRF可在推理过程中并行独立训练和合成。这种独立性可以通过额外的方式进行block-NeRF或者更新块来扩展环境,而不需要重新训练整个环境。

动态选择相关的block-NeRF渲染,然后在遍历场景中以平滑的方式合成。为了帮助这种合成,该方法优化了外观代码,以匹配照明条件,并基于每一个block-NeRF计算插值权重到新视图的距离。

单个block-NeRF的布置应集中确保目标环境的完全覆盖。通常在每个交叉口设置一个block-NeRF,在汇入下一个交叉口之前,将交叉口本身和任何连接的街道覆盖75%。这导致任何两个相邻的连接街区block50%的重叠使外观更容易对齐。遵循这个过程意味着block尺寸可变;如有必要,可在交叉口之间引入附加剂block作为交叉口的连接器

通过地理(geographical)过滤器确保每个块的训练数据准确地保持在预期范围内。该过程可以自动化,仅依赖于基本的地图数据,如OpenStreetMap。

请注意,只要整个环境至少有一个block-NeRF其他布局也有可能启发覆盖。例如,在一些实验中,沿着单条街道均匀地放置blocks,并将block围绕的大小定义block-NeRF如图所示:

注:低可见性block-NeRF将被丢弃(bottom Block-NeRF),只渲染其他块的颜色输出。然后根据每个块block从原点到目标视图的距离合并渲染。

鉴于数据的不同部分可能在不同的环境条件下被捕获和遵循NeRF-in the Wild方法,用Generative Latent Optimization方法(“Optimizing the latent space of generative networks”. arXiv 2017)如图所示:

其模型是mip NeRF模型的扩展。第一个MLP fσ预测3-D空间x位置的密度σ。该网络还输出与2-D观察方向d、特征向量嵌入在曝光水平和外观之间。输入第二个MLP fc,该fc输出点的颜色。此外,还训练了一个可见性网络fv为了预测训练视图中的空间点是否可见,该网络用于在推理过程中消除block-NeRF。

这样NeRF它可以解释一些外观变化,如天气和光线的变化。此外,这些外观嵌入也可以在训练数据中插入不同的观察条件(如多云和晴朗的天空,或白天和晚上)。如图所示,不同外观的渲染示例:


虽然假设提供摄像头姿势,但学习正常姿势的偏移有利于进一步对齐。以前是基于NeRF模型中已经有相关的姿势细化工作。这些偏差是根据驾驶部分学习的,包括平移和旋转重量。NeRF让我们一起优化这些偏移,在训练的早期阶段明显调整偏移,让网络在修正姿势估计之前先学习粗结构。

如果不解释,训练图像可以在各种曝光水平下拍摄,可能会影响NeRF训练。将摄像头曝光信息输入模型的外观预测部分,NeRF可以补偿视觉差异。具体来说,曝光信息被处理成γPE(快门速度 × 模拟增益 / t),其中γPE四级正弦位置编码,t是比例因子(实践中取1000)。如图所示:

虽然该方法通过嵌入外观来解释外观的变化,但假设场景测量在整个训练数据中是一致的。任何移动目标(如汽车和行人)通常都会违反这一假设。因此,使用语义分割模型(Panoptic-deeplab: A simple, strong, and fast baseline for bottom-up panoptic segmentation“. CVPR20生成常见的可移动目标掩码,并在训练期间忽略掩码区域。虽然这并没有考虑环境中其他静态部分的变化,如建筑,但它已经考虑了最常见的几何不一致类型。

当合并多个block-NeRF有一件事可能很有用,那就是在训练期间了解特定的空间区域是否对给定NeRF可见。用一个额外的小MLP fv扩展模型,该MLP fv经过训练学习采样点可见性的近似值。沿训练光的每一个样本,fv取3-D位置和2-D观察方向,回到点的相应透射率(transmittance)。该模型是第一个提供监督的模型MLP fσ一起训练。

透射率表示特定输入摄像头中一个点的可见度:自由空间点或第一个交叉目标表面点的透射率接近1;第一个可见目标内部或后部点的透射率接近0。如果一个点从某些角度看,但从其他角度看不到,回归后的透射率值将是所有训练摄像头的平均值,在0和1之间,表明该点被部分观察到。这里可见度的预测方法不是NeRV(”NeRV: Neural reflectance and visibility fields for relighting and view synthesis“. CVPR通过这种方法恢复可重照明NeRF模型采用MLP预测环境照明的可见性,但直接预测训练光的可见性。

可见性网络(visibility network)它很小,可以独立于颜色和密度网络。合并多个NeRF这是非常有用的,有助于确定特定性NeRF是否有可能在给定位置产生有意义的输出。可见度预测也可用于确定两者NeRF之间进行外观匹配的位置。


环境可以是任意数量的block-NeRF组成。采用两种滤波机制提高效率:1)只渲染给定目标视点的相关性blocks;2)只考虑在目标视角设定半径内block-NeRF。此外,计算每个候选人的可见性。果平均可见度低于一个阈值,放弃该block-NeRF。可见性可以快速计算,因为其网络独立于颜色网络,并且不需要按照目标图像分辨率进行渲染。滤波后,通常还有1-3个block-块NeRF需要合并。

每个过滤的block-NeRF渲染彩色图像,并用摄像头原点C和每个block-NeRF的中心xi之间的距离加权,来进行插值。内插在二维图像空间完成,并在block-NeRF之间产生平滑过渡。

在block-NeRF训练后,学习模型的外观可以由外观潜码控制。这些码在训练过程中随机初始化,因此,当输入不同block-NERF时,相同码通常会导致不同的外观。这在合成时是不可取的,可能会导致视图之间的不一致性。给定一个block-NeRFs的目标(target)外观,这里目的是匹配其在其余block的外观。为了实现这一点,首先在相邻block-NeRF对之间选择一个3-D匹配位置。对于两个block-NeRF,该位置的可见度预测应较高。

给定3-D匹配位置,冻结block-NeRF网络权重,只优化目标(target)外观码,减少各自渲染之间的L2损失。这种优化很快,在100次迭代中收敛。虽然不一定会产生完美的对齐,但此过程会对齐场景的大多数全局和低频属性,例如时间、颜色均衡和天气,这是成功合成的先决条件。如图显示的是一个优化示例:其中外观匹配将白天的场景转换为夜间,以匹配相邻的block-NeRF。

优化的外观在场景中迭代传播。从一个根block-NeRF开始,优化相邻的外观,并从那里继续这个过程。如果围绕目标(target)block-NeRF的多个块已经被优化,计算损失时考虑其中的每一个。


实验和传统重建方法COLMAP(开源)比较:


该方法通过分割的掩码在训练过程中将瞬态目标过滤掉。如果目标未得到正确掩码,可能会在生成的渲染中造成瑕疵。例如,即使汽车本身被正确地移除,汽车的阴影也经常保留下来。随着树叶季节性变化和随风移动,植被也打破这种假设,其导致树木和植物的模糊表示。类似地,训练数据中的时间不一致性(如施工作业)也不会自动处理,需要手动重新训练受影响的blocks。

此外,目前无法渲染包含动态目标的场景,限制Block NeRF对机器人技术中闭环仿真任务的适用性。未来这些问题可以通过在优化过程学习瞬态目标或直接建模动态目标来解决。特别是,场景可以由环境的多个block-NeRFs和单个可控目标(object)NeRFs组成。通过使用分割掩码或边框,可以促进分离。

在模型中,场景中远处的目标与附近目标的密度不同,这导致重建更加模糊。这是采样无边界体积表示的一个问题。NeRF++(“Nerf++: Analyzing and improving neural radiance fields“. arXiv, 2020)和Mip NeRF 360(“Mip-nerf 360: Unbounded anti-aliased neural radiance fields“. arXiv, 2021)中提出的技术有可能用于生成更清晰的远距离目标渲染。

在许多应用中,实时渲染是关键,但NeRFs渲染的计算成本很高(每幅图像高达数秒)。几种NeRF缓存技术或稀疏体素网格(sparse voxel grid)可用于实现实时block-NeRF渲染。类似地,有多个并行工作已经展示将NeRF表征的训练速度提高多个数量级的技术。

本文仅做学术分享,如有侵权,请联系删文。

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章