NVIDIA 技术博客:使用 Omniverse Replicator 构建自定义合成数据生成管道

nvdev 2023-06-27 12:07:39

这篇文章最初发表在 NVIDIA 技术博客上。有关此类的更多内容,请参阅最新的 概括 新闻和教程。

提供合成数据生成工具和服务的公司以及开发人员现在可以使用 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 以获取专家指导。

 

阅读原文

...全文
253 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 四路20秒声光显示计分抢答器Multisim14仿真源文件+设计文档资料摘要 数字抢答器由主体电路与扩展电路组成。优先编码电路、锁存器、译码电路将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路,以上两部分组成主体电路。通过定时电路和译码电路将秒脉冲产生的信号在显示器上输出实现计时功能,构成扩展电路。经过布线、焊接、调试等工作后数字抢答器成形。关键字:开关阵列电路;触发锁存电路;解锁电路;编码电路;显示电路 一、设计目的 本设计是利用已学过的数电知识,设计的4人抢答器。(1)重温自己已学过的数电知识;(2)掌握数字集成电路的设计方法和原理;(3)通过完成该设计任务掌握实际问题的逻辑分析,学会对实际问题进行逻辑状态分配、化简;(4)掌握数字电路各部分电路与总体电路的设计、调试、模拟仿真方法。 二、整体设计 (一)设计任务与要求: 抢答器同时供4名选手或4个代表队比赛,分别用4个按钮S0 ~ S3表示。 设置一个系统清除和抢答控制开关S,该开关由主持人控制。 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。 如果定时时间已到,无人抢答,本次抢答无效。 (二)设计原理与参考电路 抢答器的组成框图如下图所示。它主要由开关阵列电路、触发锁存电路、解锁电路、编码电路和显示电路等几部分组成。

1,337

社区成员

发帖
与我相关
我的任务
社区描述
NVIDIA 开发者技术交流
人工智能 企业社区
社区管理员
  • nvdev
  • 活动通知
  • AI_CUDA_Training
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧