0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用Omniverse Replicator SDK构建自定义、物理级精确的合成数据生成管线

丽台科技 来源:NVIDIA英伟达企业解决方案 作者:NVIDIA英伟达企业解 2022-07-11 11:49 次阅读

提供合成数据生成工具和服务的企业以及开发者现在可以使用 Omniverse Replicator SDK 构建自定义、物理级精确的合成数据生成管线。Omniverse Replicator SDK 建立在 NVIDIA Omniverse 平台上,目前已在 Omniverse Code 内提供公测版。

Omniverse Replicator 是一个建立在可扩展的 Omniverse 平台上的高度可扩展 SDK,它可以生成物理级精确的 3D 合成数据来加速 AI 感知网络的训练和性能。开发者、研究人员和工程师现在可以使用 Omniverse Replicator 生成的大规模逼真合成数据来引导和提高现有深度学习感知模型的性能。

b0dca986-00c1-11ed-ba43-dac502259ad0.png

图1:Replicator 使用基于开放标准的 Omniverse 平台,以及 OmniGraph 和 Farm 架构提供的可延伸性和可扩展性

Omniverse Replicator 为开发者提供了一个可以根据他们的神经网络要求构建特定合成数据生成应用的特殊平台。它建立在通用场景描述(USD)、PhysX 和材质定义语言(MDL)等开放标准之上并带有易于使用的 python API,还具有可扩展性并且支持自定义随机发生器、注释器和写入器。Replicator 通过基于 CUDA 的 OmniGraph 实现核心注释器功能,支持瞬间数据生成,因此可以实时预览输出。当与 Omniverse Farm 和 SwiftStack 输出相结合时,Replicator 可在云中提供大规模的可扩展性。

Omniverse Replicator SDK 由六个用于自定义合成数据工作流程的主要组件组成:

语义模式编辑器:通过对 3D 资产及其 prim 进行语义标记,Replicator 可以在渲染和数据生成过程中对目标对象进行注释。语义模式编辑器提供一种通过用户界面将这些标签应用于 prim 的方式。

可视化器:为分配给 3D 资产的语义标签以及 2D/3D bounding box、法线、深度等注释提供可视化功能。

随机发生器:域随机化是 Replicator 最重要的功能之一。用户可以使用随机发生器创建随机化的场景,从资产、材质、照明和摄像机位置等随机化能力中取样。

Omni.syntheticdata:提供与 Omniverse RTX 渲染器和 OmniGraph 计算图系统的低层次集成,驱动 Replicator 的基准真值数据提取注释器,将任意输出变量(AOV)从渲染器传递到注释器。

注释器:从 Omni.syntheticdata 扩展程序中提取 AOV 和其他输出,生成用于深度神经网络(DNN)训练的精确标记注释。

写入器:处理来自注释器的图像和其他注释,并生成用于训练的 DNN 专用数据格式。

用于 AI 训练的合成数据

为了训练一个用于感知任务的 DNN,通常需要从数百万图像中手动采集数据,然后对这些图像进行手动注释和有选择性的增强。

b0fff4a4-00c1-11ed-ba43-dac502259ad0.png

图2:数据采集和注释任务图

人工数据采集和注释是一项费力而主观的任务。在采集和注释真实图像的过程中,即便只是像大规模 2D bounding box 这样的简单注释也会带来许多人力协调方面的挑战。分割等所涉及到的注释存在资源限制,并且手动执行此类任务时的准确性要差得多。

b1148a54-00c1-11ed-ba43-dac502259ad0.png

图3:语义分割任务的复杂性

在采集和注释完毕后,数据将被转换成 DNN 可用的格式,然后训练用于感知任务的 DNN。一般情况下,接下来会通过超参数调节或改变网络结构来优化网络性能。在对模型性能进行分析时,可能会导致数据集发生变化,在大多数情况下,还需要进行一轮手动数据采集和注释,这种人工数据采集和注释的迭代循环是昂贵、乏味且缓慢的。


凭借以合成方式生成的数据,团队就能以一种高成本效益的方式启动和加强带有准确注释的大规模训练数据的生成。此外,合成数据生成还有助于解决与长尾异常、缺乏可用训练数据和在线强化学习有关的挑战。不同于人工采集和注释的数据,以合成方式生成的数据具有较低的摊销成本。由于数据采集/注释和模型训练周期一般具有迭代性,因此这一点十分有益。

b15da57c-00c1-11ed-ba43-dac502259ad0.png

图4:使用 Omniverse Replicator 生成带有准确注释的大规模训练数据

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

为了生成物理级精确的逼真数据集,需要使用各种 RTX 技术、基于物理学的材质和物理引擎等 Omniverse 平台的所有核心技术进行准确的光线追踪和路径追踪。

b1969a6c-00c1-11ed-ba43-dac502259ad0.png

图5:使用 Omniverse Replicator 增强仓库场景中的传感器注释

基于通用场景描述(USD)的 Omniverse 可以无缝连接其他 3D 应用,因此开发者可以导入自定义内容或编写自己的工具来生成不同的域场景。由于需要在多个 GPU 和节点上进行扩展,因此这些资产的生成往往会成为瓶颈。

Omniverse Replicator 通过 Omniverse Farm 使团队能够一起使用多个工作站或服务器驱动渲染或合成数据生成等工作。合成数据生成工作流程不是一蹴而就的,为了成功使用合成数据训练网络,必须在真实数据集上反复测试该网络。Replicator 通过将模拟世界转换为一组可学习的参数来提供这种以数据为中心的 AI 训练。

使用 Omniverse Replicator 和 TAO 工具套件加速现有的工作流程

开发者、工程师和研究人员可以将 Omniverse Replicator 与现有的工具进行整合,来加快 AI 模型的训练速度。例如,在生成合成数据后,开发者可以利用 NVIDIA TAO 工具套件快速训练他们的 AI 模型。TAO 工具套件利用迁移学习让开发者无需事先掌握 AI 专业知识,就能根据其用例来训练、调整和优化模型。

b1b935ea-00c1-11ed-ba43-dac502259ad0.png

图6:用于合成数据生成和模型训练的 Omniverse Replicator 和 TAO 工具套件工作流程

使用 Omniverse Replicator 构建应用

Kinetic Vision 是一家为零售、内部物流、消费性制造和消费性包装品行业的大型客户提供服务的系统集成商。为了向客户提供高质量的合成数据服务,该公司正在开发一个基于 Omniverse Replicator SDK 的新企业应用。

当训练深度学习模型所需的数据不可用时,Omniverse Replicator 会生成可用于增强有限数据集的合成数据。Lightning AI (前身为 Grid.AI)使用 NVIDIA Omniverse Replicator 生成基于通用场景描述(USD)格式、物理级精确的 3D 数据集,这些数据集可用于训练这些模型。用户只需要拖放 3D 资产,然后在数据集生成后,就可以选择最新、最先进的计算机视觉模型并使用合成数据自动训练。

b1e3c936-00c1-11ed-ba43-dac502259ad0.png

图7:Lightning AI 应用正在基于 Replicator 生成的合成数据来训练和测试 DNN。

NVIDIA Isaac Sim 和 DRIVE Sim 团队使用 Omniverse Replicator SDK 构建特定领域的合成数据生成工具——用于机器人的 Isaac Replicator 和用于自动驾驶汽车训练的 DRIVE Replicator。Omniverse Replicator SDK 为开发者提供一套核心功能,方便开发者利用 Omniverse 平台所提供的所有优势建立任何特定领域的合成数据生成管线。Replicator 通过将 Omniverse 作为 3D 模拟、渲染和 AI 开发能力的开发平台,提供自定义合成数据生成管线。

b2007374-00c1-11ed-ba43-dac502259ad0.png

图8:使用 Omniverse Replicator 构建的 NVIDIA Isaac Sim(左)和 DRIVE Sim(右)合成数据生成能力

使用Omniverse Replicator

现在可以在 Omniverse Code 中使用 Omniverse Replicator SDK。用户可从 Omniverse Launcher 下载 Omniverse Code。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编辑器
    +关注

    关注

    1

    文章

    800

    浏览量

    31108
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1025

    浏览量

    45762
  • 深度学习
    +关注

    关注

    73

    文章

    5491

    浏览量

    120958

原文标题:已开启公测 | 使用 Omniverse Replicator 构建自定义合成数据生成管线

文章出处:【微信号:Leadtek,微信公众号:丽台科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    创建自定义的基于闪存的引导加载程序(BSL)

    电子发烧友网站提供《创建自定义的基于闪存的引导加载程序(BSL).pdf》资料免费下载
    发表于 09-19 10:50 0次下载
    创建<b class='flag-5'>自定义</b>的基于闪存的引导加载程序(BSL)

    NVIDIA Omniverse微服务助力构建大规模数字孪生

    NVIDIA Omniverse Cloud Sensor RTX 生成用于加速自动驾驶汽车、机械臂、移动机器人、人形机器人和智能空间 AI 开发工作的合成数据
    的头像 发表于 09-09 10:20 472次阅读

    NVIDIA NeMo加速并简化自定义模型开发

    如果企业希望充分发挥出 AI 的力量,就需要根据其行业需求量身定制的自定义模型。
    的头像 发表于 07-26 11:17 680次阅读
    NVIDIA NeMo加速并简化<b class='flag-5'>自定义</b>模型开发

    NVIDIA AI Foundry 为全球企业打造自定义 Llama 3.1 生成式 AI 模型

    Foundry 提供从数据策管、合成数据生成、微调、检索、防护到评估的全方位生成式 AI 模型服务,以便部署自定义 Llama 3.1 N
    发表于 07-24 09:39 678次阅读
    NVIDIA AI Foundry 为全球企业打造<b class='flag-5'>自定义</b> Llama 3.1 <b class='flag-5'>生成</b>式 AI 模型

    如何通过SDK功能获取esptouch v2 apk的自定义数据

    、SC_STATUS_GETTING_SSID_PSWD、SC_STATUS_LINK和SC_STATUS_LINK_OVER。我的问题是如何通过 SDK 功能获取 esptouch v2 apk 的自定义数据? 非常感谢!
    发表于 07-15 07:20

    如何为ESP8266构建自定义盾牌?

    我正在寻找某种如何为ESP8266构建自定义盾牌的指南。 到目前为止,我已经使用 NODEMCU 构建了功能原型,但我现在想简化事情并使其更小。 1. 是否有一些书面的、开放的硬件指南 (很好
    发表于 07-08 07:17

    NVIDIA发布Omniverse微服务,为物理AI提供超强助力

    NVIDIA Omniverse Cloud Sensor RTX生成用于加速自动驾驶汽车、机械臂、移动机器人、人形机器人和智能空间AI开发工作的合成数据   CVPR— NVIDIA在CVPR
    发表于 06-18 16:35 497次阅读
    NVIDIA发布<b class='flag-5'>Omniverse</b>微服务,为<b class='flag-5'>物理</b>AI提供超强助力

    Omniverse教程(12):NVIDIA Omniverse USD Presenter的基础应用

    如前所述,NVIDIA Omniverse™ 是一个参考开发平台,通过模块化的开发框架能够轻松扩展和自定义
    的头像 发表于 05-20 10:09 629次阅读
    <b class='flag-5'>Omniverse</b>教程(12):NVIDIA <b class='flag-5'>Omniverse</b> USD Presenter的基础应用

    HarmonyOS开发案例:【 自定义弹窗】

    基于ArkTS的声明式开发范式实现了三种不同的弹窗,第一种直接使用公共组件,后两种使用CustomDialogController实现自定义弹窗
    的头像 发表于 05-16 18:18 1272次阅读
    HarmonyOS开发案例:【 <b class='flag-5'>自定义</b>弹窗】

    TSMaster 自定义 LIN 调度表编程指导

    LIN(LocalInterconnectNetwork)协议调度表是用于LIN总线通信中的消息调度的一种机制,我们收到越来越多来自不同用户希望能够通过接口实现自定义LIN调度表的需求。所以在
    的头像 发表于 05-11 08:21 601次阅读
    TSMaster <b class='flag-5'>自定义</b> LIN 调度表编程指导

    微软Dev Home应用提供自定义文件管理支持

    据悉,Microsoft 近期发布了 0.13 版 Dev Home 应用程序,除修复多项 BUG 外,还新增了自定义文件资源管理器功能。该应用支持用户在应用内创建虚拟机,利用微软旗下的 Hyper V 技术生成本地虚拟机。
    的头像 发表于 04-26 11:15 412次阅读

    HarmonyOS开发实例:【自定义Emitter】

    使用[Emitter]实现事件的订阅和发布,使用[自定义弹窗]设置广告信息。
    的头像 发表于 04-14 11:37 969次阅读
    HarmonyOS开发实例:【<b class='flag-5'>自定义</b>Emitter】

    鸿蒙ArkUI实例:【自定义组件】

    组件是 OpenHarmony 页面最小显示单元,一个页面可由多个组件组合而成,也可只由一个组件组合而成,这些组件可以是ArkUI开发框架自带系统组件,比如 `Text` 、 `Button` 等,也可以是自定义组件,本节笔者简单介绍一下自定义组件的语法规范。
    的头像 发表于 04-08 10:17 600次阅读

    基于YOLOv8实现自定义姿态评估模型训练

    Hello大家好,今天给大家分享一下如何基于YOLOv8姿态评估模型,实现在自定义数据集上,完成自定义姿态评估模型的训练与推理。
    的头像 发表于 12-25 11:29 2773次阅读
    基于YOLOv8实现<b class='flag-5'>自定义</b>姿态评估模型训练

    博途用户自定义库的使用

    中经常使用的函数/函数块/数据类型等存放到自定义库中,方便自己使用及与别人共享。博途具有很强的库管理功能,包括:库版本管理,库的更新及清扫等等。本系列文章我将给大家介绍项目库、全局库、库的更新/清扫等功能,今天这篇文章,我们先来介绍项目库。
    的头像 发表于 12-25 10:08 873次阅读
    博途用户<b class='flag-5'>自定义</b>库的使用