GTC21 | NVIDIA Omniverse Replicator 为机器人生成合成训练数据
2021-11-11 12:26
#人工智能 #深度学习 #GTC21 分享到微信 分享到微博
Andrew Ng 在他的新闻通讯文章 The Batch 中写道:“我相信 AI 社区很快就会像对待构建模型一样,对系统性地改善数据产生兴趣。”
通过合成数据采取以数据为中心的方法
通过合成数据采取以数据为中心的方法来开发模型是一个迭代的流程。工程师对完成训练的模型进行评估并确定数据集的改进,然后他们将生成新的数据集并启动新的训练周期。这个产生数据、训练模型、评估模型并产生更多数据的流程会一直持续到模型性能符合要求为止。
由于每次迭代中的数据都是在模拟中生成,而不是在现实世界中收集然后标记,因此大大加快了模型训练的速度。这些可以大规模生成的数据集以训练工具可以直接使用的格式输出。此功能无需再对数据进行额外的预处理。
合成数据生成流程的参数化增进了 ML 工程师对每次迭代的控制并提高了对数据集中现有内容的可追溯性。由于能够通过合成数据改进数据集、大规模生成合成数据、了解数据集的现有内容及其生成方式,开发者实现成果的时间被大大缩短。
用于Isaac Sim的
NVIDIA Omniverse Replicator介绍
随着对数据质量的日益关注,NVIDIA 正在发布新的用于 Isaac Sim 的 NVIDIA Omniverse Replicator,该应用程序基于最近发布的 Omniverse Replicator 合成数据生成引擎。Isaac Sim 中的这些新功能使 ML 工程师能够构建生产级的合成数据集,以训练强大的深度学习感知模型。“复制”模型目标域的固有分布是最大化模型性能的关键。
用于 Isaac Sim 的 NVIDIA Omniverse Replicator 的优点:
生成数据集,将它们用于实现开发者设定的随机、受控和有界分布目标
确保数据集包含有针对性的象限检验和测试案例
包含物体、照明和场景的相机相对视野放置
在基于边缘和云的系统上开展大规模工作
追踪每个数据集所使用的工具和参数,以推动迭代流程并支持生产级数据集的质量审核
在Isaac Sim中合成数据生成工作流的示例
Replicator演示:使用自主移动机器人(AMR)避开叉车叉齿
目前许多部署在工厂的 AMR 都是基于平面激光雷达。该激光雷达足以探测到许多物体的存在并进行导航。而许多工厂和仓库中常见的叉车对激光雷达来说是一项独特的挑战:激光雷达可以探测到叉车底盘,但无法探测到叉齿,这导致机器人虽然能够避免与叉车车身发生碰撞,但却因为平面激光雷达无法探测到叉齿而碾压到它们。
解决这个问题的方法之一是让机器人“感知”到在它的路径上有一辆叉车,并利用这一识别功能来改善导航以避开叉齿。
本部分中的演示说明了使用 Isaac Sim Data Replicator 来训练 DNN 以解决 AMR/叉车问题的整个工作流程。
叉车演示中的关键步骤:
在 Omniverse 的 Isaac Sim 中建立仓库场景
在仓库中放置一个 AMR 并重新创建故障场景
获取叉车模型并使用 Isaac Sim 生成合成数据
使用合成数据,使用 TAO 工具套件训练现有的预训练模型
使用 DNN Inference Isaac ROS GEM 部署该模型
在模拟中测试 Isaac ROS GEM
最后一步:在 NVIDIA Jetson 平台上的机器人软件栈中部署 Isaac GEM
Replicator叉车演示的全部工作流程
用于Isaac Sim的NVIDIA Omniverse Replicator生成数据集
在这个演示中,我们获得了八个不同的三维叉车通用场景描述(USD)模型来训练 DNN,然后使用 Isaac Sim Data Replicator 来描述影响物体(叉车)的众多参数,包括灯光、摄像机和场景本身。应特别注意域随机化,以便深度学习模型能够泛化其对叉车的理解。该模型通过改变颜色、纹理、照明、叉车相对于摄像机的位置、叉车的横摆、俯仰、侧倾以及在场景中添加额外的非叉车物体学会泛化叉车。
用于训练的叉车模型示例
最终,我们为这个演示生成了超过 90000 张图像。我们使用新的 Omniverse Farm(多 GPU、多代理、模拟的系统层)来管理创建数据集的 GPU 计算资源。
使用Replicator生成的图像训练示例
这些图像表示实现强大性能所需的数据多样性类型。
叉车图像与用于深度和语义分割的地面实况数据
训练和部署叉车检测器DNN
我们从 NVIDIA TAO 工具套件中选择了一个预训练模型来执行识别叉车所需的分割任务。该模型经过预训练,可以对人、车和背景类进行语义分割。当该模型被调整为使用 Isaac Sim Data Replicator 中生成的合成数据对叉车进行语义分割时,我们使用了迁移学习。
下一步是将叉车模型添加到 DNN Inference Isaac ROS GEM 中。你可以通过该流程将推理快速添加到基于 ROS 的机器人应用中,例如本博客中描述的 AMR 用例。
Forklift Isaac ROS GEM上的图像分割
总结
如要提高具有挑战性的 AI 计算机视觉应用的性能,就需要使用大型、多样化的数据集来复制目标域的内在分布。全新的用于 Isaac Sim 的 NVIDIA Omniverse Replicator 是一个可以生成生产级数据集的强大应用。
我们演示了如何使用合成数据来训练在 AMR 上运行的 DNN,以避免发生常见的叉车叉齿碾压事故。
您可以在许多其他场景使用这个流程,通过合成数据来增进机器人对其环境和应该如何行动的理解,最终减少机器人事故和人类干预。
即刻启程
NVIDIA Isaac Sim 的新版本将于 11 月中旬上市,包括新的合成数据生成功能以及专为开发者和机器人专家开发的众多增强功能。