内容创建/渲染

使用深度学习框架 fVDB 根据真实的 3D 数据构建空间智能

生成式物理 AI 模型可以在物理世界中理解和执行具有精细或粗运动技能的动作。了解和在物理世界的三维空间中导航需要空间智能。要在物理 AI 中实现空间智能,需要将现实世界转换为模型可以理解的 AI 就绪型虚拟表示,以便模型能够更好地理解和执行物理世界中的动作。

但是,根据真实数据构建空间智能需要能够处理大规模和高分辨率现实的基础设施。通常情况下,开发者必须拼凑不同的库来构建空间智能框架,这种方法通常会导致错误和低效,从而限制虚拟环境的范围。由于没有统一的框架,在多个数据结构之间复制数据会引入性能瓶颈、规模受限和不必要的工作。

为了提供强大、一致的框架,以处理现实规模的物理 AI,NVIDIA 建立了 fVDB,一个为稀疏、大规模和高性能空间智能而设计的深度学习框架。

对于从事涉及大规模 3D 数据(例如通常与现实世界的模拟或测量相关的数据)的深度学习应用程序的从业者和研究人员而言,fVDB 是一种颠覆性技术,此类稀疏大规模 3D 数据的示例包括点云、radiance fields、模拟物理量、signed distance functions 和 LiDAR。

fVDB 之所以如此命名,是因为它使用 OpenVDB 来高效表示功能,fVDB 将深度学习运算符与 NanoVDB 相结合。OpenVDB 是用于高效存储和模拟稀疏体积数据的行业标准,由 Academy Software Foundation 开源,由 NVIDIA 的 Ken Museth 主持的 Technical Steering Committee 管理。

视频 1.fVDB 为海量数据集和高分辨率提供 3D 深度学习基础设施

fVDB 是PyTorch的开源扩展,支持对大型 3D 数据执行一整套深度学习操作。这些深度学习操作的示例包括 attention 和 convolution,它们是transformersconvolution neural networks (CNNs) 等著名机器学习架构的基础构建块。虽然它们传统上是在 1D 和 2D 中实现的 (例如,在PyTorch 和 TensorFlow 中),但 fVDB 在应用于大型稀疏数据集时能够在 3D 中实现高效。

主要功能包括:

  • 与现有 VDB 数据集兼容:fVDB 可以开箱即用地读取和写入现有 VDB 数据集。它可以与其他库和工具(例如 Warp for Pythonic 空间计算和 Kaolin Library for 3D 深度学习)进行互操作。将 fVDB 无缝应用到现有的 AI 工作流程中。
  • 统一 API 用于不同 iable
    • 构建和训练神经网络(卷积、注意力、池化等)
    • 光线追踪和渲染(光线行军、Gaussian splatting、体积渲染)
    • 在 GPU 上构建稀疏网格(从点、网格、坐标等)
    • 采样和 splatting 稀疏体积
    • 在 GPU 上高效处理非 uniform 批量数据
  • 更快、更具可扩展性:fVDB 启用 4x 空间尺度,速度比之前的框架快 3.5 倍。
  • 更多功能:fVDB 提供的运算符比之前的框架多 10 倍。它提供易于使用的 API,因此您不必将不同的库 patch 在一起。

fVDB 可为多种应用程序启用空间智能,包括:

  • 从超过 250 million 个 3D 点重建神经形状
  • 城市级数字孪生 with neural radiance fields (NeRFs)
  • 大规模 3D 生成式 AI
  • 物理超分辨率,其中神经网络用于添加高分辨率 3D 细节到更快的低分辨率模拟中。

fVDB 应用

fVDB 已与 NVIDIA ResearchNVIDIA DRIVENVIDIA Omniverse 团队一起使用,作为一个框架,在空间智能研究和应用中启用先进的结果。

表面重建

神经内核表面重建 (Neural Kernel Surface Reconstruction, NKSR) 实现了一种新算法,用于从大型点云重建高保真表面。NKSR 是一种基于 fVDB 和神经核的大规模核求解器,能够在八个 GPUs 上在 2 分钟内重建跨越 350 million 个点的高保真表面。

视频 2. fVDB 用于实现 Neural Kernel Surface Reconstruction,这是一种从点云重建表面的 state-of-the-art 方法

生成式 AI

XCube 将扩散生成模型与稀疏体素层次结构相结合,能够在 30 秒内生成有效空间分辨率为 10243 voxels 的场景。基于 fVDB 构建,通过逐步细分稀疏体素层次结构来实现高分辨率。生成的 voxels 可以包含纹理或语义等丰富的属性。

视频 3. 将一组连续图像输入 XCube 式网络,生成 3D fVDB 网格

NeRF

NeRF-XL 是一种原则性算法,用于在多个 GPUs 之间分配 NeRF。NeRF-XL 将大型场景分解成较小的块,分布在单独的 GPUs 上。它重新制定训练和渲染程序,以便多个 GPU 训练在数学上与经典的单 GPU 案例相当。fVDB 是在神经渲染过程中加速光线进军的基础框架,可在多台设备上并行运行。

视频 4. fVDB 帮助 NeRF-XL 高效地扩展跨越许多平方公里的巨大区域的多 GPU NeRF。

NVIDIA fVDB NIM 微服务

不久后,fVDB 功能将作为 NVIDIA NIM 微服务提供,使开发者能够将 fVDB 核心框架整合到 Universal Scene Description (USD) 工作流程中。在 NVIDIA Omniverse 中,fVDB NIM 微服务将生成基于 USD 的几何图形。

  • fVDB 网格生成 NIM:根据点云数据生成基于 OpenUSD 的网格,由 Omniverse Cloud APIs 渲染。
  • fVDB Physics Super-Res NIM:对一帧或一系列帧执行 AI 超分辨率,以生成基于 OpenUSD 的高分辨率物理模拟。
  • fVDB NeRF-XL NIM:使用 NVIDIA Omniverse Cloud APIs 在 OpenUSD 中生成大规模的 NeRF。

详细了解如何使用 USD NIM 微服务将生成式人工智能集成到 OpenUSD 工作流程中。

结束语

由 NVIDIA 开发的 fVDB 是一种深度学习框架,用于实现稀疏的大规模、高性能的空间智能,它基于 OpenVDB 构建了 NVIDIA 加速的 AI 运算符,以支持现实规模的数字孪生、神经辐射场、3D 生成式 AI 等。

申请抢先体验 fVDB,包括访问 fVDB PyTorch 扩展程序。

很快,您将能够通过 GitHub 上的 AcademySoftwareFoundation/openvdb 关注 OpenVDB 的开发。等待时,请查看 合并 OpenVDB 的拉取请求。OpenVDB 预计很快会合并 fVDB 中。

与我们一起参加 SIGGRAPH 2024,参加 Introduction to fVDB: Hands-On With Large-Scale Spatial Intelligence 工作坊,该工作坊通过交互式教程介绍 fVDB 中的概念,以便开始使用。

如需了解详情,请参阅Academy Software Foundation 发布的 fVDB 公告

Tags