0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

创建端到端零售愿景AI应用程序

jf_pJlTbmA9 来源:NVIDIA 作者:NVIDIA 2023-07-05 16:30 次阅读

如今,零售商可以使用商店中安装的摄像头和传感器提供的大量视频数据。利用计算机视觉 AI 应用程序,零售商和软件合作伙伴可以更快地开发 AI 应用程序同时提供更高的准确性。这些应用程序可以帮助零售商:

了解店内顾客行为和购买偏好

减少收缩

通知员工库存不足或耗尽

改进商品销售

优化操作

大规模构建和部署这种高效的计算机视觉人工智能应用带来了许多挑战。传统技术耗时,需要密集的开发工作和人工智能专业知识来绘制所有复杂的架构和选项。这些可以包括构建定制的人工智能模型、部署高性能视频解码和人工智能推理管道,以及生成有洞察力的分析仪表板。

NVIDIA 的 SDK 套件有助于简化此工作流。您可以使用 NVIDIA DeepStream SDK 创建具有最低配置的高质量视频分析,并使用 NVIDIA TAO Toolkit 创建简单的模型训练过程。

这篇文章提供了一个教程,介绍如何使用 NVIDIA DeepStream SDK 和 NVIDIA TAO Toolkit 构建一个可以在零售领域执行实时智能视频分析( IVA )的示例应用程序。

要创建端到端零售愿景 AI 应用程序,请遵循以下步骤:

使用 NVIDIA 预训练模型进行人员检测和跟踪。

使用 NVIDIA TAO 工具包为特定零售使用案例定制计算机视觉模型。

使用 Apache Kafka 开发 NVIDIA DeepStream 管道,用于视频分析和流式推理输出。 Kafka 是一个用于 stream processing 、实时数据管道和大规模数据集成的开源分布式流系统。

设置 Kafka Consumer 将推理数据存储到数据库中。

开发一个 Django web 应用程序,使用各种指标分析商店性能。

您可以使用 NVIDIA-AI-IOT/deepstream-retail-analytics GitHub repo 上的代码来实现这个示例应用程序。

此示例的最终产品是一个自定义仪表板,如图 1 所示。该仪表板提供分析见解,如商店流量趋势、带购物篮的顾客数量、过道占用率等。

image1-2.png

图 1 。用于可视化推断数据的前端仪表板

应用程序体系结构简介

在深入了解详细的工作流之前,本节概述了用于构建此项目的工具。

NVIDIA DeepStream SDK 公司

NVIDIA DeepStream SDK 是 NVIDIA 的流媒体分析工具包,支持 GPU 加速视频分析,支持跨各种硬件平台的高性能 AI 推理。 DeepStream 包括几个 reference applications 以启动开发。这些参考应用程序可以很容易地进行修改,以适应新的用例,并且可以在 DeepStream Docker 镜像和 GitHub 上的 deepstream_reference_apps 中获得。

该零售视觉 AI 应用程序构建在两个参考应用程序之上,­ deepstream-test4 和 deepstream test5 。图 2 显示了典型 DeepStream 应用程序的体系结构。

image4-1.png

图 2 : NVIDIA DeepStream 参考应用程序架构

NVIDIA TAO 工具包和预训练模型

NVIDIA TAO (训练、调整和优化)工具包可将各种 AI 预训练模型微调到新领域。 TAO 工具包与 DeepStream 应用程序配合使用,以执行独特用例的分析。

在本项目中,该模型用于检测客户是否携带购物篮。 DeepStream 实现了 TAO 工具包与其现有管道的无缝集成,无需进行大量配置。

使用 TAO 工具包很容易。 TAO 工具包为 100 多种 CV 架构和主干的组合提供了完整的 Jupyter notebooks 模型定制。 TAO 工具包还为常见零售任务(如 people detection 、 pose estimation 和 action recognition 等)提供了一个特定于任务的预训练模型库。要开始,请参见 TAO Toolkit Quick Start 。

零售视觉 AI 应用程序工作流

零售视觉 AI 应用程序架构(图 3 )由以下阶段组成:

具有以下配置的DeepStream 管道:

主检测器:从 NGC 配置 PeopleNet 预训练模型以检测“人员”

二级检测器:使用 TAO 工具包训练的自定义分类模型,用于购物篮检测

对象跟踪器: NvDCF 跟踪器(在精度配置中),用于跟踪视频流中的移动

消息转换器:消息转换器,用于从推断数据生成自定义 Kafka 流负载

MessageBroker :将推断数据中继到 Kafka 接收器的消息代理

kSQL 时间序列数据库:用于存储边缘推理服务器的推理输出流

Django Web Application:应用程序,用于分析存储在 kSQL 数据库中的数据,以生成有关存储性能的见解,并将这些指标用作 RESTful API 和 web 仪表板

image8.png

图 3 。零售视觉 AI 应用架构

此外,此应用程序是为具有 NVIDIA GPU 的 x86 平台构建的。然而,它可以很容易地部署在 NVIDIA Jetson 嵌入式平台上,例如 NVIDIA ZVK4] AGX Orin 。

下一节将引导您完成构建应用程序所涉及的步骤。

步骤 1 :构建自定义 NVIDIA DeepStream 管道

要构建零售数据分析管道,请从 NVIDIA DeepStream reference applications deepstream-test4 和 deepstream-1test5 开始。 deepstream-retail-analytics GitHub repo 中提供了管道代码和流程的详细描述。我们建议使用本文作为对存储库中代码的演练。

deepstream-test4 应用程序是一个引用 DeepStream 管道,它演示了将custom-detected对象添加为NVDS_EVENT_MSG_META用户元数据并将其附加到要发布的缓冲区。 deepstream-test5 是一个端到端应用程序,它演示了如何在多流管道中使用nvmsgconv和nvmsgbroker插件,创建NVDS_META_EVENT_MSG类型的元,以及使用 Kafka 和其他汇类型的流推理输出。

除了主对象检测器之外,该管道还集成了一个辅助分类器,一旦在零售视频分析应用程序中检测到某人,该分类器可用于检测购物者属性。 test4 应用程序用于修改nvmsgconv插件以包括零售分析属性。然后,在 Kafka 主题上使用nvmsgbroker从管道中获取二级分类器和流式数据,请参考 test5 应用程序。

由于工作流的第一步是从视频源中识别人和对象,因此首先使用 deepstream-test4 应用程序进行主要对象检测。该对象检测是在 PeopleNet 预训练模型上完成的,默认情况下,该模型接受视频输入并检测人或其物品。

对于此用例,请配置模型以仅捕获有关人员的信息。这可以通过仅存储关于数据集中包含人物的帧子集的信息来轻松实现。

完成主person对象检测后,使用 deepstream-test5 添加辅助对象分类模型。该对象分类显示检测到的人是否携带篮子。

步骤 2 :使用 NVIDIA TAO 工具包构建购物篮检测的自定义模型

本节介绍如何使用 TAO 工具包来微调对象分类模型,并找出 PeopleNet 模型中检测到的人是否携带购物篮。

首先,从零售环境收集并注释训练数据,以执行对象分类。使用 Computer Vision Annotation Tool ( CVAT )为观察到的人标注以下标签

hasBasket:有人提着篮子

noBasket:人没有提篮子

此注释存储为 KITTI 格式的数据集,其中每行对应一个帧,因此对应一个对象。要使数据与对象分类兼容,请使用 GitHub 上的示例 ‘kitti_to_classification‘ Python file 裁剪数据集。然后可以对其执行对象分类。

接下来,使用 TAO 工具包微调 Resnet34 图像分类模型,以对训练数据执行分类。在 GitHub 上 deepstream-retail-analytics/tree/main/TAO 了解有关微调过程的更多信息。

创建自定义模型后,运行推断以验证模型是否按预期工作。

步骤 3 :集成 Kafka 消息代理以创建自定义前端仪表板

随着主要对象检测和次要对象分类模型准备就绪, DeepStream 应用程序需要将该推断数据转发到分析 web 服务器。使用 deepstream-test5 参考应用程序作为模板,使用 ApacheKafka 流式传输数据。

这里,内置在 DeepStream 中的 Kafka 适配器用于向 Kafka 消息代理发布消息。一旦 web 服务器从商店内的每个摄像头接收到 Kafka 流,这些推断输出数据就会存储在一个 kSQL 时间序列数据库中。

DeepStream 有一个默认的 Kafka 消息共享库对象,使用户能够执行主要对象检测并无缝传输数据。这个项目进一步修改了这个库,以包括关于二级分类器的信息。这有助于流式传输商店内购物篮使用的数据。

当前 DeepStream 库包括NvDsPersonObject、 ,用于定义在主检测器中检测到的persons。为了确保篮子检测唯一地映射到每个人,请修改该类,使其除了先前存在的属性之外,还包含hasBasket属性。有关详细信息,请访问 GitHub 上的 deepstream-retail-analytics/tree/main/nvmsgconv 。

在修改NvDsPersonObject 以包括篮检测后,使用图 5 所示的管道以确保篮检测功能正常工作。

image2-2.png

图 5 。零售视觉 AI 应用管道

如图 5 中的应用程序管道所示,对象检测和跟踪是在pgie和sgie.的帮助下执行的。这些 是nvinfer 插件[VZX6]的一部分,作为主要和次要推理引擎。使用nvtracker,将数据传输到nvosd 插件。这个nvosd 插件负责在前面章节中检测到的对象周围绘制方框。

接下来,需要根据特定的模式将该推断数据转换为消息负载, Kafka 消息代理稍后可以使用该模式来存储和分析结果。使用NvDsPersonsObject (先前生成) 作为 eventmsg_payload file. 中更新的有效载荷

最后,您现在有了带有自定义模式的消息负载。使用此命令将其传递给 Kafka 协议适配器,并发布 DeepStream 应用程序在指定的代理地址和主题向 Kafka 消息代理发送的消息。此时,最终的消息负载已准备就绪。

现在 DeepStream 管道已经准备好,构建一个 web 应用程序,将流式推理数据存储到一个 kSQL 数据库中。这个使用 Django 框架构建的 web 应用程序分析推理数据,以生成与前面讨论的商店性能相关的指标。这些指标可通过 GitHub 上 deepstream-retail-analytics/tree/main/ds-retail-iva-frontend 中记录的 RESTful API 获得。

为了演示 API 功能,我们构建了一个前端 web 仪表板,以可视化分析服务器的结果。此仪表板充当整个门店分析系统的模板。

Results

前面的步骤演示了如何使用 NVIDIA DeepStream 和 NVIDIA TAO 工具包轻松开发端到端零售视频分析管道。这条管道帮助零售企业利用已有的视频源,并找到他们可以用来提高利润的有洞察力的信息。

该工作流以易于使用的 web 仪表板为高潮,可实时分析宝贵的全店数据。如图 1 所示,仪表板显示以下信息:

全天门店访客数量

关于带篮子和不带篮子购物的客户比例的信息

每个商店过道的访客数

门店入住热图

客户旅程可视化

这些属性可以很容易地修改,以包括与每个单独商店更相关的特定用例的信息。商店可以使用这些信息来安排人员配置并改进商店布局,以最大限度地提高效率。

例如,图 6 显示了全天商店中顾客的总体分布,以及带篮子和不带篮子的顾客的比例。虽然此示例应用程序仅支持单个摄像机流,但可以轻松修改以支持多个摄像机。将此应用程序扩展到多个商店同样容易。

image7.png

图 6 。一段时间内商店中顾客数量的推断数据(左),以及有篮子的顾客与没有篮子的顾客的比率(右)

应用程序通过设置hasBasket属性来唯一检测person 11携带购物篮,而未携带购物篮的其他客户则标记为noBasket。此外,带有纸板箱的person 1未被识别为有篮子。因此,该模型对误报是鲁棒的,确保它被成功训练为只获取该用例的相关信息。

总结

这篇文章展示了一个端到端的过程,即使用 NVIDIA TAO 工具包和 NVIDIA DeepStream SDK 开发视觉 AI 应用程序,以执行零售分析。零售企业可以利用现有的视频数据流,并构建最先进的视频分析应用程序。这些应用程序可以实时部署,启动时只需最少的配置。此外,该应用程序的高度可定制性确保了它可以应用于商店可能受益的任何用例。

开始使用 GitHub 上的示例 deepstream-retail-analytics 应用程序。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NVIDIA
    +关注

    关注

    14

    文章

    4841

    浏览量

    102694
  • AI
    AI
    +关注

    关注

    87

    文章

    29640

    浏览量

    267981
  • TAO
    TAO
    +关注

    关注

    0

    文章

    10

    浏览量

    6988
收藏 人收藏

    评论

    相关推荐

    2011年美国零售业展/美国零售业展/GLOBAL SHOP

    2011年美国零售业展/美国零售业展/GLOBAL SHOP/黄小姐***/LEWAY/2011年美国零售业展/美国零售业展/GLOBAL SHOP/黄小姐***/LEWAY2011年
    发表于 08-27 15:33

    零售是什么?外汇与新零售的联系!

    `新零售谷元科技是金融服务与科技产业的结合,这意味着金融正在回归科技技术的位置。创新是一直以来推动金融产业不断前进的动力,从最初EA /量化交易/人工智能/大数据等,数据和技术已成为金融行业的核心
    发表于 05-22 15:04

    聊聊RFID如何改变零售行业?

    飞涨、行业过度竞争、商业模式单一等都成为实体零售低迷的万金油原因,客观而言,这些都是原因,但不是关键原因,真正关键的原因在效率。 实体零售行业的竞争已进入效率为王的时代,可谓效率者得天下,而如何提升
    发表于 07-29 15:11

    什么样的零售能抓住小店经济机遇?做智能零售数据分析

    做智能零售数据分析的零售企业具备极强的运营灵活性,对市场变化有着极强的敏锐度,因此能够更加灵活地调整销售品类、方式,更快抓住小店经济机遇,销售适合小店经济的商品。零售企业的这些市场运营灵活性、敏锐性
    发表于 06-10 16:59

    RFID/NFC技术在无人零售领域的应用有哪些

    无人零售行业简介2016年10月的阿里云栖大会上,阿里巴巴马云在演讲中第一次提出了新零售,“未来的十年、二十年,没有电子商务这一说,只有新零售。”线上线下和物流结合在一起,才会产生新零售
    发表于 08-07 07:39

    RF设计在不断演进的零售空间中的作用

      电子货架标签(ESL)  各类零售企业——从杂货店五金以及消费电子产品门店——都正迅速采用电子货架标签;零售商将这些标签置于零售货架以更新产品信息。根据 Verified Mar
    发表于 01-07 15:35

    如何利用数据构建零售智能?

    英特尔的Marta Muszynska 和戴尔的Siobhan Lynch 讨论“如何利用数据建立零售情报”
    发表于 08-04 07:51

    零售引发的安防应用与商机

    2017年,从无人便利店无人货架,从生鲜零售能源零售,从智慧零售无界
    的头像 发表于 04-12 08:40 4345次阅读

    Aibee精准零售的三大场景

    人工智能公司Aibee创始人兼CEO林元庆作为开场嘉宾,以“线下零售+AI=精准零售”为题进行了主题演讲,并提出了“精准零售”的概念。他表示,AI
    的头像 发表于 04-18 17:34 8894次阅读

    AI零售柜蹿红世界人工智能大会盛大开启

    AI+零售应用场景,哈哈兽和腾讯共同携手为来自全球的现场嘉宾与媒体带来了承载新一代“AI+即时零售”技术的产品。
    发表于 09-21 14:54 1189次阅读

    AI 零售三大势力的走向是怎样的

    想发展零售行业,作为技术新贵的视觉AI更是被寄予了厚望。
    发表于 06-21 11:08 1388次阅读

    关于霍尼韦尔零售完整解决方案的介绍和应用

    一直以来,霍尼韦尔的语音解决方案,都能最好地支持零售业务需求——帮助零售业提升准确率、提高订单拣选的速度、更好地监控库存、精简流程并能更高效地利用劳动力等。
    的头像 发表于 10-17 17:28 2357次阅读

    瑞为智慧零售解决方案 助力构建起了“AI+零售”的全新业态

    这不,刚刚刷爆朋友圈的珠海首个情景式购物公园——珠海玖洲道购物中心以及三亚国际免税城二期就在近日接连开业,并不约而同地选择了瑞为智慧零售解决方案,构建起“AI+零售”的全新业态,在智慧零售
    发表于 01-06 15:41 1138次阅读

    AI正在改变企业管理边缘应用程序的方式

      为了帮助企业快速起步,我们创建了 NVIDIA LaunchPad ,这是一个免费的程序,提供对必要硬件和软件堆栈的即时、短期访问,以体验
    发表于 08-15 14:52 522次阅读
    <b class='flag-5'>AI</b>正在改变企业管理边缘<b class='flag-5'>应用程序</b>的方式

    揭秘零售业背后的 AI

    零售 AI 工作流 快速构建防损应用程序 NVIDIA AI Enterprise 软件套件提供的 NVIDIA 零售
    的头像 发表于 05-20 03:00 486次阅读