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

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

3天内不再提示

如何使用 NVIDIA Omniverse Replicator 生成的合成数据训练缺陷检测模型

NVIDIA英伟达企业解决方案 来源:未知 2023-04-19 04:05 次阅读

美国质量协会(ASQ)的数据显示,制造商因缺陷而遭受的损失可占其销售总收入的近 20%。用户日常使用的电话、汽车、电视和电脑产品都须通过精密制造产出,方能在各类条件和场景中发挥作用。

基于 AI计算机视觉应用正在以更快、更有效的方式帮助制造业检测制造流程中存在的缺陷,以帮助企业提高产量、保持产品质量的稳定性并减少误报。事实上,根据谷歌云制造业报告所示,当前已有 64% 的制造企业通过部署 AI 来帮助其开展日常活动,其中有 39% 的制造企业将 AI 用于质量检查。

驱动相关视觉应用的 AI 模型必须经过训练和调优,以预测众多用例中存在的特定缺陷,例如:

  • 汽车制造缺陷:如裂纹、车漆瑕疵或误装等

  • 半导体电子产品缺陷:如印刷电路板(PCB)元件错位、断裂、存在多余的焊点或存在灰尘或头发等异物

  • 电信设施缺陷:如蜂窝塔和电线杆上存在裂缝或被腐蚀等

这类感知 AI 模型的训练需要采集存在特定缺陷的图像来完成。但这类图像采集在生产环境中很难做到且成本高昂。

NVIDIA Omniverse Replicator 可生成用于训练 AI 模型的合成数据,来帮助企业克服数据挑战。NVIDIA Omniverse 是一个基于通用场景描述(USD)的计算平台,可赋能个人和团队开发 3D 工作流和应用。NVIDIA Omniverse Replicator 是 Omniverse 平台中的一项可扩展的基础应用。

开发人员可基于 Omniverse Replicator,通过改变各项参数(如缺陷类型、位置、环境照明等),轻松生成不同的数据集来启动和加快模型训练与迭代。用户可通过访问 Develop on NVIDIA Omniverse 了解更多有关信息

https://developer.nvidia.cn/omniverse

本文将介绍如何充分利用合成数据来训练对象检测模型、使用有限的真值数据来进一步提高准确性以及使用模型处理中从未出现过的图像来对模型进行验证。本文将基于该方法来展示合成数据在克服真实数据缺失方面存在的价值,以及如何通过模型训练缩小仿真与现实之间的差距。

开发缺陷检测模型

以下示例是在车身(锥形前脸)上生成划痕(如图 1 所示)。需要注意的是,该工作流程需要使用 Adobe Substance 3D Designer 或存在预先生成的划痕库、NVIDIA Omniverse 以及所下载的 USD 格式的样本。

此工作流以在 Adobe Substance 3D Designer 中创建一组缺陷开始,也就是本示例中的“划痕”,然后将缺陷与 CAD 零件导入 NVIDIA Omniverse 中,再将 CAD 零件置于特定场景中(例如生产线或车间)并在相应位置放置传感器或摄像头。

场景设置完毕后,基于 NVIDIA Omniverse Replicator,以程序性的方式将缺陷置于 CAD 零件上,来生成用于模型训练和评估的注释数据。整体的迭代流程将持续进行,直至模型达到预期的关键绩效指标(KPI)为止。

e8c3d6ae-de23-11ed-bfe3-dac502259ad0.png

图 2:基础计算机视觉模型训练流程

创建草图

磨损和划痕是制造业常见的表面缺陷。制造业中会使用名为法线贴图的纹理映射技术在 3D 环境中展现这些纹理。法线贴图利用 RGB 图像来表示高度信息,可直接对应 3D 空间中相对于一个表面所对应的 X、Y 和 Z 轴。

本例中使用的法线贴图是在 Adobe Substance 3D Designer 中所创建的。此外,Blender 或 Autodesk Maya 等多数建模软件也可用于生成法线贴图。

e8dd7f6e-de23-11ed-bfe3-dac502259ad0.png

图 3:在 Adobe Substance 3D Designer 中创建的划痕实例

虽然开发人员可先将划痕导入 Omniverse,而后再随机调整其大小和位置。但最好是建立一个完整的法线图库并将其以文件形式保存,并用以生成一组具有鲁棒性的合成数据。开发人员所生成的法线贴图应该包含各类形状和大小,以代表不同程度的划痕。

场景设置

接下来该进行场景设置了。首先,借助 Omniverse Code 导入相关零件的 CAD 模型。该示例中是导入了一个“SOLIDWORKS.SLDPRT”文件,该文件是 Sierra Cars RX3 赛车的前脸面板模型。

e8f4bb98-de23-11ed-bfe3-dac502259ad0.png

图 4:Sierra RX3 的完整 CAD 装配体

在将 CAD 文件导入 Omniverse 后,可对场景背景进行设置以便能尽可能接近基于真值数据构建的环境。本示例是使用了车间的激光雷达扫描图。

e909b6ba-de23-11ed-bfe3-dac502259ad0.png

图 5:在 Omniverse 中组装 USD 格式的场景,并将不同材质应用于面板中并将其置于车间扫描图中

为方便复制,此示例中还将背景和 CAD 模型整合成为了可在 Omniverse Exchange 中下载的 USD 场景。

使用扩展程序来构建随机化划痕

为了给该模型创建一个多样化的训练数据集,开发人员需要生成各种合成划痕以反映不同划痕可能留下的不同类型的痕迹。该示例使用了基于 Omniverse Kit 构建的参考扩展程序以随机化划痕的位置、大小和角度。详情请访问 GitHub 上的 NVIDIA-Omniverse/kit-extension-sample-defectsgen 了解。

e9390f32-de23-11ed-bfe3-dac502259ad0.png

图 6:Omniverse 中的 Defects Sample Extension

需注意的是,该参考扩展程序用于操作可将法线贴图作为纹理投射到 CAD 零件表面的 proxy 对象。改变扩展程序中的参数实际上是在改变投射纹理的立方体大小和形状。

e94cbef6-de23-11ed-bfe3-dac502259ad0.gif

图 7:示例 - 在 CAD 零件表面程序性生成划痕

利用所需参数运行扩展程序后,将能够输出一组带注释的参考图像并将以 .png、.json 和 .npy 文件格式保存至一个可利用扩展程序进行定义的文件夹中。

模型训练和验证

Omniverse 扩展程序输出的是可用于大量本地或云端模型训练平台的标准文件格式。此外,开发人员还可以通过构建自定义写入器来格式化相关数据,以便将其用于特定的模型和平台之中。

该示例中开发人员建立了一个可将输出结果导入 Roboflow 的自定义 COCO JSON 写入器。Roboflow 是一个可用于训练和部署计算机视觉模型的网络平台。

e981fc9c-de23-11ed-bfe3-dac502259ad0.png

图 8:Roboflow 中完整的合成数据集

开发人员首先是在 Roboflow 用户界面中使用了一组包含 1000 张合成图像数据集来训练 YOLOv8 模型,以加快对象检测速度。这项操作的主要目的在于查看模型在该数据集中的表现情况,这仅仅只是一个开始。模型训练是一个迭代过程,因此训练伊始可以使用规模较小的数据集,而后在迭代中持续扩大数据集的规模并提升数据集的多样性。

e9a2ca6c-de23-11ed-bfe3-dac502259ad0.png

图 9:合成数据生成所产出的初步结果显示模型准确率为 74%、34% 和 39%

虽然初始模型展示的结果较好,但并不完美(如图 9 所示)。在初始模型中仍存在以下缺陷:

  • 未有效检测出长划痕

  • 捕捉了反光边缘

  • 车间地板上的划痕也被包含在内

为解决这些问题,可以采取以下解决措施:

  • 调整扩展程序参数以涵盖长度更长的划痕

  • 在所生成的场景中加入零件的更多角度

  • 改变照明和背景场景

另一个办法是使用真值图像来强化合成数据。虽然 Replicator 会对文件进行自动注释,但该示例中仍使用了 Roboflow 的内置工具来进行手动注释。

e9c815f6-de23-11ed-bfe3-dac502259ad0.png

图 10:Roboflow 内置用于手动注释图像的工具

通过上述调整可训练该模型于每张验证图像中发现更多的划痕,甚至能在置信度阈值更高的情况下来完成此操作。

e9f1c7a2-de23-11ed-bfe3-dac502259ad0.png

图 11:通过 Roboflow 用户界面调整模型参数

入门

事实上在现实世界中,并非总是能够获得足够的真值图像。开发人员可以使用 NVIDIA Omniverse Replicator 生成的合成数据来缩小仿真与现实之间的差距。

如若想要自行生成合成数据,开发人员需先下载 NVIDIA Omniverse。

https://developer.nvidia.cn/omniverse/get-started

用户可以从 GitHub 下载并安装参考扩展程序,并使用 Omniverse Code 来探索相关工作流,而后通过修改代码来构建自定义的缺陷检测生成工具。此外,用户还可以通过 Omniverse Exchange 上的缺陷检测演示包来访问配套的 USD 文件和样本。

用户可点击“阅读原文”,免费下载标准许可证以使用 NVIDIA Omniverse,或在 Omniverse 页面了解 Omniverse Enterprise 如何连接企业团队。

ea27e3fa-de23-11ed-bfe3-dac502259ad0.png  

即刻扫描下方海报二维码在 NVIDIA On-Demand 上观看 GTC 精选回放,包括主题演讲相关精选、中国本地精选内容、生成式 AI 专题以及全球各行业及领域最新成果! ea2ce616-de23-11ed-bfe3-dac502259ad0.jpg


原文标题:如何使用 NVIDIA Omniverse Replicator 生成的合成数据训练缺陷检测模型

文章出处:【微信公众号:NVIDIA英伟达企业解决方案】欢迎添加关注!文章转载请注明出处。


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

    关注

    22

    文章

    3513

    浏览量

    89008

原文标题:如何使用 NVIDIA Omniverse Replicator 生成的合成数据训练缺陷检测模型

文章出处:【微信号:NVIDIA-Enterprise,微信公众号:NVIDIA英伟达企业解决方案】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

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

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

    如何应对工业缺陷检测数据短缺问题?

    这篇论文介绍了一种文本引导的变分图像生成方法,旨在解决工业制造中的异常检测和分割问题。传统方法通过训练缺陷数据的分布来进行异常
    发表于 03-14 10:15 155次阅读
    如何应对工业<b class='flag-5'>缺陷</b><b class='flag-5'>检测</b><b class='flag-5'>数据</b>短缺问题?

    NVIDIA Omniverse中的物理模拟功能

    NVIDIA Omniverse™ Simulation 作为 NVIDIA Omniverse™ 平台的关键组件之一,由 NVIDIA
    的头像 发表于 03-08 11:30 463次阅读
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Omniverse</b>中的物理模拟功能

    如何基于深度学习模型训练实现圆检测与圆心位置预测

    Hello大家好,今天给大家分享一下如何基于深度学习模型训练实现圆检测与圆心位置预测,主要是通过对YOLOv8姿态评估模型在自定义的数据集上
    的头像 发表于 12-21 10:50 1015次阅读
    如何基于深度学习<b class='flag-5'>模型</b><b class='flag-5'>训练</b>实现圆<b class='flag-5'>检测</b>与圆心位置预测

    Omniverse 资讯速递 | 应用案例、创作者故事、OpenUSD 最新视频等你来解锁!

    设计实习生,使用用于连接和构建 3D 工具和应用的开发平台 NVIDIA Omniverse 与通用场景描述(OpenUSD)改进其合成数据生成流程。Boehmer 负责创建用于 SO
    的头像 发表于 12-04 20:20 393次阅读
    <b class='flag-5'>Omniverse</b> 资讯速递 | 应用案例、创作者故事、OpenUSD 最新视频等你来解锁!

    NVIDIA 为部分大型亚马逊 Titan 基础模型提供训练支持

    GPU 和海量的数据集上所训练而成。 不过这可能会给想要使用生成式 AI 的企业带来很多巨大的挑战。 NVIDIA NeMo (一个用于构建、自定义和运行 LLM 的框架)能够帮助企
    的头像 发表于 11-29 21:15 368次阅读
    <b class='flag-5'>NVIDIA</b> 为部分大型亚马逊 Titan 基础<b class='flag-5'>模型</b>提供<b class='flag-5'>训练</b>支持

    如何训练自主移动机器人使用合成数据检测仓库托盘千斤顶

    训练那些部署在自主移动机器人(AMR)上的感知 AI 模型时,合成数据可以发挥关键作用。这一过程在制造业中变得越来越重要。有关使用合成数据生成
    的头像 发表于 11-09 10:45 238次阅读
    如何<b class='flag-5'>训练</b>自主移动机器人使用<b class='flag-5'>合成数据</b><b class='flag-5'>检测</b>仓库托盘千斤顶

    语音合成数据的收集与处理:挑战与技术

    语音合成数据的质量和多样性对于开发高性能语音合成模型至关重要。本文将深入探讨语音合成数据的收集和处理过程中面临的挑战以及应对这些挑战的技术。 数据
    的头像 发表于 09-09 23:26 374次阅读

    自动驾驶合成数据科普一:不做真实数据的“颠覆者”,做“杠杆”

    顾名思义,合成数据(synthetic data)就是通过计算机技术生成数据,而不是由真实事件产生的数据。但合成数据又具备“可用性”,能够
    的头像 发表于 08-26 14:34 786次阅读
    自动驾驶<b class='flag-5'>合成数据</b>科普一:不做真实<b class='flag-5'>数据</b>的“颠覆者”,做“杠杆”

    Omniverse 资讯速递 | 行业动态、应用案例、合成数据生成系列视频等你来解锁!

    在本期 「Omniverse 资讯速递」 中,Omniverse 用户和开发者将了解到: Omniverse 行业动态 Omniverse 应用案例
    的头像 发表于 08-07 19:15 748次阅读

    NVIDIA Omniverse让AI训练变得更加简单易用

    Rendered.ai 将 NVIDIA Omniverse Replicator 集成到其合成数据生成平台,使 AI
    的头像 发表于 07-24 09:14 930次阅读
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Omniverse</b>让AI<b class='flag-5'>训练</b>变得更加简单易用

    从 0 到 1 搭建机器人 | 使用 NVIDIA Isaac Sim Replicator 和 TAO 套件进行数据合成训练

    文章 将从第一步开始,拆解并串联起关于机器人创建的必要知识和所涉工具,希望能以 NVIDIA 提供的前沿解决方案为您铺平开发实践的道路。 今天我们将先从数据标记、模型训练开始,出场的是
    的头像 发表于 07-17 19:45 472次阅读

    TinyML:使用ChatGPT和合成数据检测婴儿哭声

    电子发烧友网站提供《TinyML:使用ChatGPT和合成数据检测婴儿哭声.zip》资料免费下载
    发表于 07-13 08:30 1次下载
    TinyML:使用ChatGPT和<b class='flag-5'>合成数据</b><b class='flag-5'>检测</b>婴儿哭声

    Rendered.ai 将 NVIDIA Omniverse 集成到其合成数据生成平台

    NVIDIA 初创加速计划成员 Rendered.ai 将 Omniverse Replicator 集成到其合成数据生成平台,使 AI
    的头像 发表于 07-12 19:10 391次阅读
    Rendered.ai 将 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Omniverse</b> 集成到其<b class='flag-5'>合成数据</b><b class='flag-5'>生成</b>平台

    Exelon 利用电网基础设施合成数据生成来实现无人机检查的自动化

    十分困难。 在一场 NVIDIA GTC 分会上,专家分享了 Exelon 如何在 NVIDIA Omniverse 中使用 Omniverse R
    的头像 发表于 07-04 23:45 335次阅读
    Exelon 利用电网基础设施<b class='flag-5'>合成数据</b><b class='flag-5'>生成</b>来实现无人机检查的自动化