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

    文章

    4597

    浏览量

    101747
  • AI
    AI
    +关注

    关注

    87

    文章

    26462

    浏览量

    264088
  • TAO
    TAO
    +关注

    关注

    0

    文章

    10

    浏览量

    6971
收藏 人收藏

    评论

    相关推荐

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

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

    2013年中东迪拜全球零售业及商业店铺展

    2013年中东迪拜全球零售业及商业店铺展ArabiaShop 20132011年2012年 2013年中东迪拜商业店铺展ArabiaShop 中东迪拜商铺展 中东迪拜零售业及商业店铺展2013年韩国
    发表于 12-18 13:20

    2013年中东迪拜全球零售业及商业店铺展

    2011年2012年 2013年中东迪拜商业店铺展ArabiaShop 中东迪拜商铺展 中东迪拜零售业及商业店铺展2013年韩国商业店铺展 韩国商铺展 韩国零售业及商业店铺展 KSHOP 美国零售
    发表于 12-27 15:10

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

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

    物联网行业下一个风口--新零售行业的崛起

    ----新零售。什么是新零售零售,即企业以互联网为依托,通过运用大数据、人工智能等先进技术手段,对商品的生产、流通与销售过程进行升级改造,进而重塑业态结构与生态圈,并对线上服务、线下体验以及现代物流
    发表于 07-11 09:28

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

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

    深圳云栖 | 数字化转型专家,阿里云助力商业转型升级,共建新零售服务市场

    全程监管服务,也能够为合作伙伴提供广阔的市场机会、便利的产品和服务发布平台、专业的赋能与技术支持等。共创中国新零售格局的号角已全面吹响,阿里云与大家共同塑造新零售市场生态,伙伴们,你们准备好了吗?扫
    发表于 04-08 16:45

    2018杭州智能零售柜展

    。〓参展范围〓※新零售终端及特色无人店、样板店、体验店展区:无人零售店/便利店、无人超市、全渠道体验店、无人餐饮厅、无人生鲜店、智能社区服务店等(如连锁便利店、无人便利店、自助洗衣店、智能自助生鲜
    发表于 06-02 13:41

    交互式显示对零售领域的改变

    实体店的购物体验近年来乏善可陈:你来到商场,在货架前精挑细选,作出选择。与此同时,零售商们仍然主要依靠打印出的标签的方式来吸引消费者的注意力,以期能够重获消费者的积极回应。 这一可靠且真实的零售
    发表于 03-25 06:45

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

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

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

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

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

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

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

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

    OpenVINOTM实现零售场所的社会平衡检测

    ,可以输入OpenVINOTM工具包Intel分发的推论引擎。 以下步骤用于推断。 应用 Intel 的个人探测模型,即,人-人-检测-零售-0013检测所有视频流中的人 计算欧几里德距离
    发表于 08-03 07:12

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

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