NVIDIA Omniverse Replicator为机器人生成合成训练数据
时间:2021-11-11
面向机器学习 (ML) 工程师的合成数据生成驾驶舱
AI先驱Andrew Ng正在呼吁全球向更加以数据为中心的机器学习(ML)方法转变。他最近举办了首届以数据为中心的AI数据质量竞赛。许多人认为数据质量占AI工作的80%。
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,以避免发生常见的叉车叉齿碾压事故。
您可以在许多其他场景使用这个流程,通过合成数据来增进机器人对其环境和应该如何行动的理解,最终减少机器人事故和人类干预。
https://www.ixigua.com/7028578729987146277
视频:Data Replicator功能概述
即刻启程
NVIDIA Isaac Sim的新版本将于11月中旬上市,包括新的合成数据生成功能以及专为开发者和机器人专家开发的众多增强功能。(作者:Gerard Andrews)