5、无摩擦客户体验的自主购物 | NVIDIA 开发者
利用迁移学习调整和助力 AI 工作流的各种方法
NVIDIA TAO 工具套件和预训练的模型如何改变您的开发工作
5. 自主购物助力实现顺畅的客户体验
自主购物正在迅速成为一种潮流。在进行自主购物时,顾客能够自由地进出商店及购物,而无需与收银员接触,也无需在自助结账柜台(有时不能可靠地工作)处排长队等待。
我们需要许多模型来为这种应用提供助力,其中之一是能够准确预测人类动作的模型。
5.1 人类动作识别所面临的挑战
识别人类动作不仅仅只是为了检测人员,还有助于更深入地了解场景。在零售环境中,识别人类动作可以帮助识别用户的活动,例如从货架上拿取物品、查看物品或将其放入购物车,这对于打造顺畅的购物体验至关重要。
但是,动作识别是一个非常难以解决的问题。首先,您需要有带标签的视频数据,这比获得带标签的图像数据成本要高。其次,动作识别是一种更复杂的计算密集型操作。要识别某个动作,您需要时序信息,因此您要使用一系列帧,而非单个帧。
5.3 结果
在本实验中,我们使用了开源的“Merl 购物数据集”。此数据集共有 106 个视频,每个视频的时长为 2 分钟,其中显示了给定动作。为了将这些数据用于动作识别任务,我们对每个视频片段进行了预处理并将其提取为子片段,然后将每个子片段标记为五个不同的动作分类:
- 手伸向货架
- 手从货架收回
- 手放在货架上
- 查看商品
- 查看货架
然后,这些数据会按以下所示的目录格式进行存储:
$HOST_DATA_DIR/processed_data/
|--> <Class name>
|--> <Video 1>
|--> rgb
|--> 000001.png
|--> 000002.png
|--> 000003.png
我们从这 106 个视频中选择了 65 个用于训练,10 个用于验证,另外 31 个用于测试。https://github.com/NVIDIA-AI-IOT/TAO-Toolkit-Whitepaper-use-cases/tree/main/workspace/ar_merl。
我们以 I3D Kinetics 预训练的权重为起点。关于这个预训练的权重,您可以在 GitHub 资料库中找到具体用法
请查找用于模型微调、导出、推理和评估的规格文件。
经过 100 次迭代后,对于给定的训练数据集,最终训练损失和验证损失分别不到 0.1 和 0.4。下表中报告了针对这五个分类的准确度。
分类名称 | 准确度 |
---|---|
手放在货架上 | 61.5 |
查看商品 | 48.67 |
查看货架 | 95.73 |
手伸向货架 | 89.63 |
手从货架收回 | 89.33 |
在模型评估时,我们使用的是“conv”方法,如需关于这种评估方法的更多信息,请参阅我们的开发者博客。

训练模型后,我们使用测试数据集中的片段对其进行了评估。图 11 中显示的图像展示的是分类结果。您可以在此资料库中找到分步训练过程。