内容创建/渲染

使用 Omniverse Replicator 构建自定义合成数据生成管道

 

提供合成数据生成工具和服务的公司以及开发人员现在可以使用 Omniverse Replicator SDK . Omniverse Replicator SDK 构建在 NVIDIA Omniverse 平台上,在 Omniverse Code .

Omniverse Replicator 是一个高度可扩展的 SDK ,构建在可扩展的 Omniverse 平台上,用于物理精确的 3D 合成数据生成,以加速 AI perception Network 的训练和性能。开发人员、研究人员和工程师现在可以使用 Omniverse Replicator 来引导现有的深度学习感知模型,并利用大规模真实照片合成数据提高其性能。

illustration showing open standards, the scalability with Omniverse Farm, the extensibility of OmniGraph, and the accuracy of live previews.
图 1 :。 Replicator 使用基于 Omniverse 开放标准的平台以及 OmniGraph 和 Farm 体系结构提供的可扩展性和可伸缩性

Omniverse Replicator 为开发人员提供了一个非常出色的平台,以构建特定于其神经网络需求的合成数据生成应用程序。它建立在开放标准上,如 通用场景描述 ( USD 、 PhysX材料定义语言 ( MDL ),具有易于使用的 Python API ,还具有可扩展性,支持自定义随机化器、注释器和编写器。通过基于 CUDA 的 OmniGraph 实现核心注释器功能,支持闪电般的数据生成,这意味着可以立即预览输出。与组合时 Omniverse 农场 和 SwiftStack 输出, Replicator 在云中提供了巨大的可扩展性。

Omniverse Replicator SDK 由六个主要组件组成,用于定制合成数据工作流:

  • 语义架构编辑器: 通过对 3D 资产及其 PRIM 进行语义标记, Replicator 可以在渲染和数据生成过程中注释感兴趣的对象。语义模式编辑器提供了一种通过用户界面将这些标签应用于舞台上的 prim 的方法。
  • Visualizer: 这为分配给三维资源的语义标签以及二维/三维边界框、法线、深度等注释提供了可视化功能。
  • Randomizers: 域随机化是 Replicator 最重要的功能之一。使用随机化器,您可以创建随机化场景,从资源、材质、照明和摄影机位置以及其他随机化功能进行采样。
  • Omni.syntheticdata: 这提供了与 Omniverse RTX 渲染器和 OmniGraph 计算图形系统的低级集成。它还支持 Replicator 的地面真相提取注释器,将任意输出变量( AOV )从渲染器传递到注释器。
  • Annotators: 这些接收来自 Omni 的 AOV 和其他输出。 syntheticdata extension 为深度神经网络( DNN )训练生成精确标记注释。
  • Writers: 处理来自注释器的图像和其他注释,并生成 DNN 特定的数据格式以供培训。​

人工智能训练中的合成数据

为感知任务训练 DNN 通常涉及从数百万张图像中手动收集数据,然后手动注释这些图像和可选的增强。

Graph showing the process from data collection, annotation, converting data to usable formats for Deep Neural Network training
图 2 :。数据收集和注释任务图

手动数据收集和注释既费力又主观。大规模收集和注释真实图像,即使是简单的注释,如二维边界框,也会带来许多后勤挑战。涉及到的注释(如分段)是资源受限的,手动执行时精度要低得多。

Data for DNNs from an outdoor street scene.
图 3 :。语义分割任务的复杂性

收集和注释后,数据将转换为 DNN 可用的格式,然后对 DNN 进行感知任务培训。网络架构中的超参数调整或更改是优化网络性能的典型后续步骤。对模型性能的分析可能会导致数据集中的潜在更改,但在大多数情况下,这需要另一个手动数据收集和注释周期。这种手动数据收集和注释的迭代周期是昂贵、乏味和缓慢的。

利用合成生成的数据,团队可以以经济高效的方式引导和增强大规模训练数据的生成,并提供精确的注释。此外,合成数据生成还有助于解决与长尾异常、缺乏可用培训数据和在线强化学习相关的挑战。与手动收集和注释数据不同,合成生成的数据具有较低的摊销成本,这有利于数据收集/注释和模型训练周期的典型迭代性质。

Replicator addresses expanded datasets, expanded sensors and annotations, and cost.
图 4 :。 Omniverse Replicator ,用于生成具有精确注释的大规模训练数据

Omniverse Replicator 通过利用 Omniverse 平台的许多核心功能和最佳实践,包括但不限于物理精确的照片级数据集和对超大数据集的访问,解决了这些挑战。

物理精确的光绘数据集要求使用 RTX 技术、基于物理的材料和物理引擎进行精确的光线跟踪和路径跟踪,所有这些都是 Omniverse 平台的核心技术。

Replicator used to create synthetic data for a warehouse use case
图 5 :。使用 Omniverse Replicator 增强仓库场景中的传感器注释

基于 通用场景描述 ( USD ), Omniverse 无缝连接到其他 3D 应用程序,因此开发人员可以引入定制内容,或者编写自己的工具来生成不同的域场景。​ 生成这些资产通常是一个瓶颈,因为它需要跨多个 GPU 和节点进行扩展。

Omniverse Replicator 通过利用 Omniverse Farm ,允许团队一起使用多个工作站或服务器来支持渲染或合成数据生成等工作。合成数据生成工作流并非“一劳永逸”为了成功地使用合成数据训练网络,必须在真实数据集上对网络进行迭代测试。 Replicator 通过将模拟世界转换为一组可学习的参数来提供这种以数据为中心的 AI 培训。

使用 Omniverse Replicator 和 TAO Toolkit 加速现有工作流

开发人员、工程师和研究人员可以将 Omniverse Replicator 与现有工具集成​ 加快 AI 模型培训。例如,一旦生成了合成数据,开发人员就可以使用 NVIDIA TAO 工具包 . TAO 工具包利用迁移学习的力量,让开发人员在没有人工智能专业知识的情况下,针对其用例培训、调整和优化模型。

Graph demonstrating how TAO toolkit can provide feedback to tune dataset generation parameters.
图 6 :。用于合成数据生成和模型培训的 Omniverse Replicator 和 TAO toolkit 工作流

使用 Omniverse Replicator 构建应用程序

Kinetic Vision 是一家面向零售、内部物流、消费制造和消费包装产品等大型工业客户的系统集成商。他们正在开发基于 Omniverse Replicator SDK 将为客户提供高质量的合成数据作为一项服务。

当深度学习模型训练所需的数据不可用时, Omniverse Replicator 生成合成数据,可用于扩充有限的数据集。 闪电 AI (前身为 Grid.AI )使用 NVIDIA Omniverse 复制器根据通用场景描述( USD )生成物理上精确的 3D 数据集,可用于训练这些模型。用户可以简单地拖放 3D 资产,在生成数据集后,用户可以从最新的最先进的计算机视觉模型中进行选择,以自动对合成数据进行训练。

Lightning application user interface from Lightning AI is built on Omniverse Replicator.
图 7 :。 Lightning AI 应用程序显示在 Replicator 生成的合成数据上训练和测试的 DNN

在 NVIDIA,  ISAAC Sim DRIVE Sim 团队利用 Omniverse Replicator SDK 构建特定领域的合成生成工具,用于机器人的 ISAAC Replicator 和用于自主车辆培训的 DRIVE Replicator 。 Omniverse Replicator SDK 为开发人员提供了一组核心功能,可以利用 Omniverse 平台提供的所有优势构建任何特定于领域的合成数据生成管道。借助 Omniverse 作为 3D 模拟、渲染和 AI 开发功能的开发平台, Replicator 提供了定制的合成数据生成管道。

Images of NVIDIA Isaac Sim and NVIDIA DRIVE Sim.
图 8 :。 NVIDIA ISAAC Sim (左)和 DRIVE Sim (右)使用 Omniverse Replicator 构建的合成数据功能

可利用性

这个 Omniverse Replicator SDK 现已在中提供 Omniverse Code ,可从 Omniverse 启动器下载。

有关 Replicator 的更多信息,请访问 Replicator documentation 并观看 Replicator tutorials. 加入我们的 Discord 服务器 与社区聊天并查看我们在 合成数据生成 上的 Discord 频道。

通过深入了解 Omniverse 资源中心 ,其中详细说明了开发人员如何为平台构建自定义应用程序和扩展。

关注 MediumTwitterYouTubeMedium 上的 Omniverse ,获取更多资源和灵感。查看 Omniverse forums 以获取专家指导。

 

Tags