使用 NVIDIA NeuralVDB优化大规模稀疏
基于 OpenVDB 过去十年的发展,NVIDIA NeuralVDB 的推出对于处理极其庞大和复杂的数据集的开发人员和研究人员来说是一个游戏规则的改变者。
NVIDIA NeuralVDB 的预发布版本为 OpenVDB 带来了 AI 和 GPU 优化,将烟雾、云和其他稀疏体积数据的内存占用减少了 100 倍。
通过显着降低内存需求、加速训练并实现时间一致性,NeuralVDB 可以为科学和工业用例开启新的可能性。 这包括用于支持 AI 的医学成像、大规模数字双胞胎模拟等的大量复杂体积数据集。
介绍 NeuralVDB
在越来越多的用例中可以找到稀疏的体积数据。 医疗、工业、机器人、图形和其他领域需要前所未有的高分辨率实时模拟。 然而,相应的内存需求可能会与硬件限制发生冲突。
NeuralVDB 通过以很小甚至可以忽略不计的质量损失为代价提供非常高效的内存表示来解决这个问题,从而在极端分辨率下启用体积应用程序。
NeuralVDB 是一组用于紧凑表示高分辨率空间体积数据的工具和 API。 它改进了 OpenVDB,OpenVDB 是一种用于高效存储和处理高分辨率体积的开放行业标准。 它还基于去年推出的 NVIDIA NanoVDB 的 GPU 加速,添加机器学习以提供紧凑的神经表示,从而显着减少其内存占用。
事实上,NeuralVDB 将 OpenVDB 的内存占用减少了 1-2 个数量级,代价是用户可控且通常无法察觉的细节丢失。 这使您能够更高效地传输和共享大型、复杂的体积数据集。
为此,NeuralVDB 采用分层神经表示,形式为树拓扑的无损分类器和稀疏值的有损回归器。 这种方法结合了两个世界的优点。 它使用神经网络最大化 3D 数据的压缩率,同时保持更高级别 VDB 数据结构提供的空间自适应性。
这种组合使 VDB 树能够专注于粗略的上层节点级拓扑信息,而多个神经网络则在体素和下层树级别紧凑地编码细粒度拓扑和值信息。 这也适用于动画体积,甚至可以通过新颖的时间编码功能保持时间一致性并提高性能。
通过观看 NVIDIA On-Demand 上 GTC 2022 的 NeuralVDB 演示了解更多信息。
NeuralVDB 抢先体验中包含的内容
NVIDIA 正在寻找有兴趣测试此早期版本的 NeuralVDB 并愿意提供反馈以帮助在今年晚些时候的开源版本之前改进功能的开发人员。 通过抢先体验计划,您可以访问 NeuralVDB SDK 的预发布版本以及示例配置文件和文档。
此 SDK 包括以下主要功能:
NeuralVDB转换器
- 用于将 OpenVDB 或 NanoVDB 文件转换为 NeuralVDB 文件或相反的编解码器应用程序
- 使用时间编码批量编码/解码时间序列 VDB
NeuralVDB 库
- 包含一组用于 VDB 对象编码/解码的 C++ API 的库
- 从内存中的 NeuralVDB 对象执行随机查询的 API