3D 重建

3D 重建是根据图像、视频或其他传感器数据等输入,生成场景和物体的数字 3D 表示的过程。

传统与现代 3D 重建对比

计算机视觉中的传统 3D 重建方法依赖于基于几何的算法,从多视图图像或传感器数据中估算三维结构。相比之下,现代神经网络实现了机器学习驱动的方法,可直接从单眼图像、视频或其他传感器输入中学习 3D 几何结构和外观。这两种范式都利用先进的算法来推断场景的三维结构,并建立不同视图之间的对应关系,从而实现准确的对象重建。

神经重建和渲染是一个两步过程。第一步 (重建) 利用来自现实世界摄像头、激光雷达或单目图像的数据。这些数据使用神经网络或其他机器学习算法进行处理,以创建场景的三维表示。现代方法通常会学习估计摄像头姿态,或将其作为输入,以提高 3D 几何推理的模型精度。这些方法通过学习连续或空间分布式表示来采集 3D 几何结构和外观,从而超越基于几何的传统方法,即使在输入有限或模糊的情况下也能实现鲁棒的对象重建。

第二步是渲染,其中训练后的神经网络模型会合成场景的新视图和体积渲染,用于传感器仿真。这一过程通常通过填补传统方法失效的空白来实现高度真实性,这得益于机器学习和先进算法实现的学习对应关系和对三维场景的理解。

神经重建和渲染有哪些不同的方法?

3D 重建领域正在迅速发展,多项突破性方法已得到广泛采用:

NeRF (神经辐射场):NeRF 是一种深度学习技术,将 3D 场景建模为连续的体积函数。NeRF 利用多层感知器 (MLP),将 3D 空间坐标和观察方向映射到相应的颜色和密度值。这种表示可实现高质量的 3D 场景重建,以令人印象深刻的真实性捕捉静态场景的复杂细节。随着新视图与原始捕获数据之间的距离越来越远,NeRF 质量会以平滑、可预测的方式下降。然而,NeRF 的计算要求很高,且训练和渲染时间较长。

3DGS (3D 高斯泼溅):3DGS 是一种先进的渲染技术,利用高斯椭球体集合对 3D 场景进行建模。这些基元通过一个称为“泼溅”的过程投影到 2D 图像平面上,通过光栅化工作流实现高效、实时地渲染。与传统的基于 3D 网格的方法或神经隐式表示不同,3DGS 提供明确的场景表示,既支持高速渲染,又支持交互式应用。该技术擅长捕获静态 3D 场景的逼真细节,并在渲染速度和视觉质量之间实现了令人印象深刻的平衡。此外,3DGS 中使用的高斯表示可转换为密集的激光点云,从而使其与标准的 3D 工具兼容,并进一步丰富渲染和重建工作流的多功能性。然而,虽然 3DGS 可实现更快的训练和实时渲染,但其可能沿着原始轨迹呈现清晰的视图,对于新视图而言,质量可能会下降。

3D 高斯光线追踪 (3DGRT)3DGRT 是 NVIDIA 研究的一项渲染技术,通过集成光线追踪来增强 3DGS。3DGRT 不使用光栅化,而是模拟光线与高斯原元的相互作用,以产生复杂反射、折射和精确阴影等效果。它利用边界体积层次结构 (BVH) 在整个场景中高效追踪光线,并利用 NVIDIA RTX™ 硬件实现高视觉保真度 —— 尤其是在具有半透明粒子和复杂光照的场景中。这增加了真实感,但计算成本更高,这使得 3DGRT 特别适用于渲染质量比性能需求更重要的应用场景。

3D 高斯无迹变换 (3DGUT)3DGUT 是 NVIDIA 研究院开发的一项技术,通过将复杂的光学效果整合到光栅化工作流中,从而增强 3DGS,同时保持实时性能。3DGUT 不使用传统的泼溅方法,而是利用无迹变换,通过非线性摄像头模型 (例如鱼眼透镜、滚动快门或其他失真) 更准确地投影高斯粒子,从而在这些条件下实现更高的保真渲染。虽然 3DGUT 的计算密集程度不如全景光线追踪,但它与 3DGRT 框架保持一致,从而支持反射和阴影等二次光照效果。这使其成为一个强大的折中方案,在保持适合交互式应用的快速渲染速度的同时,提供比标准 3DGS 更高的真实性。

神经重建和渲染的行业用例有哪些?

神经重建和渲染正在改变众多行业的工作流:

辅助驾驶仿真:来自车辆试驾的记录传感器数据 (摄像头、激光雷达) 可转化为交互式 3D 传感器仿真环境。开发者无需手动建模场景,而是可以重建真实世界的驾驶场景。这使得可扩展的闭环测试成为可能,其中自动驾驶的软件栈与从实际录制中衍生出的真实、反应式世界进行交互。例如,从行车记录仪片段重建的场景可用于测试自动驾驶系统对未在原始录制中发生的模拟活动 (例如车辆突然转向) 的响应,从而通过在真实的环境中测试假设场景来提升验证安全性。

机器人开发仿真:可以通过扫描和使用神经重建来创建真实世界运营环境的数字孪生 (例如仓库、工厂车间、家庭)。然后,可以使用机器人开发仿真器在这些虚拟副本中对机器人进行训练或测试。这有助于在紧密反映现实的安全仿真环境中进行广泛实践,从而加速机器人学习,以完成导航或操作等任务,从而提升仿真到现实的转移。

工业数字孪生:工业数字孪生是物理产品、流程或设施的虚拟副本,助力企业组织监控、分析和优化现实世界的运营。神经重建通过从图像、视频或传感器数据中生成高精度的 3D 模型,简化这些数字孪生的创建和维护,从而在密切模拟物理站点的环境中实现详细的运营仿真、布局优化、预测性维护规划和沉浸式人员培训。这种方法不仅提高了运营效率和安全性,还通过在受控、无风险的环境中实现快速迭代和洞察生成来加速创新。

神经重建和渲染有哪些优势?

神经重建提供显著优势:

缩小领域差距:通过直接从现实世界捕获中生成 3D 模型和模拟传感器数据,神经重建产生的输出本质上与现实的外观、光照和传感器特征密切匹配。这最大限度地缩小了领域差距,从而帮助 AI 模型更好地从仿真到现实世界部署。

可扩展的仿真内容生成:AI 可实现创建 3D 环境的繁琐流程的自动化。开发者可快速处理传感器日志或图像集,以生成新的虚拟场景,从而实现快速迭代和持续优化。一个真实世界数据采集可转化为可复用的仿真资产,从而加速创建用于测试和训练的大型、多样化库。

如何利用神经重建构建 3D 数字孪生?

利用神经重建构建数字孪生的工作流包括多个阶段:

  1. 数据采集:采集多视图图像或视频,并辅以激光雷达或深度信息。传感器在每次采集中的位置和方向必须已知,或者使用 COLMAP 等运动结构 (SfM) 技术来估算传感器姿态。确保高质量数据以实现准确的重建。

  2. 神经重建:通过工作流处理数据,在该工作流中,神经网络 (例如 NeRF) 或其他表示 (例如 3D 高斯算子) 进行优化或训练,以模拟场景几何结构 / 外观。分割和修复去除动态元素 (例如行人),以创建静态环境。输出是对场景的学习表示。

  3. 渲染和仿真:将重建模型加载到渲染引擎中,以根据场景中的任意视点或轨迹生成传感器输出。可以将动态智能体 (例如机器人) 重新引入作为模拟智能体,从而实现交互式场景创建。由此产生的数字孪生可在虚拟环境中实现高质量测试、训练和可视化。

如何开始使用神经重建和渲染

NVIDIA 3DGUT 开放源代码

NVIDIA 研究已发布了 3D 高斯光线追踪 (3DGRT) 和 3D 高斯无迹变换 (3DGUT) 等技术的代码。在 GitHub 上对这些存储库进行研究和实验,有助于用户了解底层算法并将其应用于自定义数据集。

机器人仿真

NVIDIA Isaac Sim™ 基于 NVIDIA Omniverse™ 构建,可利用通过神经重建创建的环境。通过将重建的现实世界环境与神经渲染、逼真的物理模拟和机器人模型相结合,开发者可加速机器人学习并改善仿真到现实的转移。

辅助驾驶仿真

神经重建将现实世界的传感器数据转化为交互式 3D 环境。借助 NVIDIA Omniverse 辅助驾驶仿真 Blueprint,开发者可构建工作流,在重建的环境中模拟假设场景,从而针对从实际驾驶环境中推导出的反应式真实条件,对智能汽车软件进行可扩展、闭环的测试。