为推动动作识别领域的发展,NVIDIA 一直在利用合成数据来增强像 PoseClassificationNet 这样的模型的能力。根据 NVIDIA 的博客文章作者 Monika Jhuria 的说法,这种方法在收集真实世界数据成本高昂或不切实际的情况下尤为有价值。
动作识别中的挑战
动作识别模型旨在识别和分类人类动作,如行走或挥手。然而,开发能够在各种场景中准确识别多种动作的健壮模型仍然具有挑战性。一个重大障碍是获取足够且多样化的训练数据。合成数据生成(SDG)通过通过 3D 模拟模拟真实世界场景,被认为是解决这一问题的实际解决方案。
使用 NVIDIA Isaac Sim进行合成数据生成
NVIDIA 的 Isaac Sim 是基于 NVIDIA Omniverse 构建的参考应用,在生成合成数据方面起着至关重要的作用。它被广泛应用于零售、体育、仓库和医院等多个领域。该过程涉及从模拟真实世界数据的 3D 模拟中创建人工数据,从而使模型能够通过迭代训练有效发展。
创建人类动作识别数据集
使用 Isaac Sim,NVIDIA 开发了为动作识别模型创建数据集的方法。这包括生成动作动画和提取关键点作为模型输入。Isaac Sim 中的 Omni.Replicator.Agent 扩展促进了在各种 3D 环境中生成合成数据,提供多相机一致性和位置随机化等功能。
利用合成数据扩展模型能力
生成的合成数据用于扩展时空图卷积网络 (ST-GCN) 模型的能力。这些模型根据骨架信息检测人类动作。NVIDIA 的方法涉及在由 Isaac Sim 生成的 3D 骨架数据上训练像 PoseClassificationNet 这样的模型,并使用 NVIDIA TAO 进行高效训练和微调。
训练和测试结果
在测试中,仅在合成数据上训练的 ST-GCN 模型在 85 个动作类别中实现了 97% 的平均准确率。这一表现通过 NTU-RGB+D 数据集得到了进一步验证,表明即使在不专门训练的真实世界数据上应用时,模型也能很好地泛化。
扩展和协调数据生成
NVIDIA 还探索了使用 NVIDIA OSMO——一个云原生编排平台来扩展数据生成过程。这显著加快了数据生成速度,允许创建成千上万具有多样动作动画和摄像机角度的样本。
有关 NVIDIA 如何利用合成数据扩展动作识别模型的更多信息,请参阅 NVIDIA 博客。
Image source: Shutterstock