问:
从头开始创建机器人是不是很有挑战性?
答:
从零开始创建一个机器人并非及其困难,使用合适的工具,就能够轻松达到事半功倍的效果。
问:
那么应该怎么开始呢?
答:
从 0 到 1 搭建机器人系列文章将从第一步开始,拆解并串联起关于机器人创建的必要知识和所涉工具,希望能以 NVIDIA 提供的前沿解决方案为您铺平开发实践的道路。
今天我们将先从数据标记、模型训练开始,出场的是 Isaac Sim Replicator 和 NVIDIA TAO 工具套件,前者用于生成合成数据,后者可对合成数据进行训练,为机器人的仿真打下坚实的基础。
虚拟环境和合成数据
在现实世界中,制造机器人需要从头开始创建数据集,涉及到采集和注释海量真实图像等,这一过程耗时又费钱,存在人力协调方面的挑战,而且会减缓部署速度。因此,开发人员转向了合成数据生成 (SDG)、预训练 AI 模型、迁移学习和机器人仿真这几种方式。
合成数据是计算机模拟或算法所生成的带有注释的信息,可以用于代替真实数据。虽然是人造数据,但合成数据能够从数学或统计学上反映真实数据。研究表明,在训练 AI 模型方面,合成数据与基于实际物体、事件或人的数据一样好。采用合成数据生成 (SDG) 无疑可以节省时间并降低成本。
预训练 AI 模型则是一种为了完成某项特定任务而在大型数据集上进行训练的深度学习模型,既可以直接使用,也可以根据某个应用的具体需求进行进一步微调。比如,在创建一个能够识别独角兽的模型时,首先会为其提供独角兽、马、猫和其他动物的图像作为传入数据。然后再构建具有代表性的数据特征层。从线条、颜色等简单特征开始,深入到复杂的结构特征。依据计算出的概率,这些特征将被赋予不同程度的相关性。一个生物看起来越像马,它是独角兽而不是猫的概率就越大。这些概率值被存储在 AI 模型的每个神经网络层。随着层数的增加,模型对表征的理解程度也在提高。试想一下,若要从头开始创建一个这样的模型,通常需要调用包含数十亿行数据的巨大数据集,几乎是一个‘事倍功半’的过程。相反,如果在预训练模型基础上进行开发,则可以更快创建出 AI 应用,无需处理堆积如山的传入数据或计算密集的数据层的概率。NVIDIA NGC 即汇集了通过 GPU 优化的 AI 软件、模型和 Jupyter Notebook 示例,包括各种预训练模型以及为 NVIDIA AI 平台优化的 AI 基准和训练方式。
熟悉 NVIDIA 的开发者对 Isaac Sim 一定不会感到陌生,这是一个机器人仿真应用程序,用于创建虚拟环境和生成合成数据。更进一步,Isaac Sim Replicator 是一个建立在可扩展的 Omniverse 平台上的高度可扩展 SDK,它可以生成物理级精确的 3D 合成数据来加速 AI 感知网络的训练和性能。开发者可以使用 Isaac Sim Replicator 生成的大规模逼真合成数据,来引导和提高现有深度学习感知模型的性能。
有关于仿真测试的更多技术应用细节,我们将在以后的机器人系列文章中具体谈到。
数据标注和模型训练
选择好合适的模型后,就可以进一步训练和微调出更为准确的 AI 模型了,这也是 NVIDIA TAO 工具套件的用武之地。NVIDIA TAO 是一个框架,可使用自定义数据训练、调整和优化(TAO: Train, Adapt, and Optimize)计算机视觉 (CV) AI 模型和对话式 AI 模型,所需时间非常少,也无需拥有大型训练数据集或 AI 专业知识。
TAO 工具套件是 TAO 的低代码版本,基于 TensorFlow 和 PyTorch 构建,通过抽象出 AI/深度学习框架的复杂性来加速模型训练过程。有了 NVIDIA TAO 工具套件,开发者可以进行迁移学习,通过适应和优化,在短时间内达到最先进的精度和生产级吞吐量。在 NVIDIA GTC23 上,NVIDIA 发布了 NVIDIA TAO 工具套件 5.0 ,带来了 AI 模型开发方面的突破性功能提升。
AI 辅助的数据标注和管理
如前文所述,数据标注仍然是一个昂贵且耗时的过程。对于 CV 任务尤其如此,比如需要在标注对象周围生成像素级别分割掩码的分割任务。通常,分割掩码的成本是对象检测或分类的 10 倍。
通过 TAO 工具套件 5.0 ,用最新的 AI 辅助标注功能对分割掩码进行标注,速度更快,成本更低。可以使用弱监督分割架构 Mask Auto Labeler (MAL) 来帮助进行分割注释,以及固定和收紧用于对象检测的边界框。实况数据中对象周围的松散边界框可能会导致非最佳检测结果,但通过 AI 辅助标注,可以将边界框收紧到对象上,从而获得更准确的模型。
NVIDIA TAO 工具套件自动标记工作流程
在任何平台、任何位置部署 NVIDIA TAO
NVIDIA TAO 工具套件 5.0 支持 ONNX 模型导出。无论是 GPU、CPU、MCU、DLA 还是 FPGA 的边缘或云上的任何计算平台,都可以部署使用 NVIDIA TAO 工具套件训练的模型。NVIDIA TAO 工具套件简化了模型训练过程,优化了模型的推理吞吐量,为数千亿台设备的 AI 提供了动力。
除了传统对象检测和分割,NVIDIA TAO 工具套件也加速了其他的各种 CV 任务。TAO 工具套件 5.0 中新增的字符检测和识别模型使开发人员能够从图像和文档中提取文本。文档转换实现了自动化,并加速了在保险和金融等行业的用例。
为了提高透明度和可解释性, TAO 工具套件以开源形式提供。开发者能够从内部层查看特征图,并绘制激活热图,以更好地理解 AI 预测背后的推理过程。此外,访问源代码使开发者能够灵活地创建定制的 AI,提高调试能力,并增加对模型的信任。
到此为止,我们已经完成了数据的合成和训练,接下来让我们一起期待如何进行机器人模型的仿真与测试吧!
- 下载 NVIDIA TAO 工具套件(https://developer.nvidia.com/tao-toolkit-get-started)并开始创建自定义 AI 模型。
- 您也可以在 LaunchPad (https://www.nvidia.com/en-us/launchpad/ai/develop-fine-tune-computer-vision-models-with-tao-automl/)上体验 NVIDIA TAO 工具套件。