0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

創(chuàng)建端到端零售愿景AI應(yīng)用程序

jf_pJlTbmA9 ? 來源:NVIDIA ? 作者:NVIDIA ? 2023-07-05 16:30 ? 次閱讀

如今,零售商可以使用商店中安裝的攝像頭和傳感器提供的大量視頻數(shù)據(jù)。利用計算機視覺 AI 應(yīng)用程序,零售商和軟件合作伙伴可以更快地開發(fā) AI 應(yīng)用程序同時提供更高的準確性。這些應(yīng)用程序可以幫助零售商:

了解店內(nèi)顧客行為和購買偏好

減少收縮

通知員工庫存不足或耗盡

改進商品銷售

優(yōu)化操作

大規(guī)模構(gòu)建和部署這種高效的計算機視覺人工智能應(yīng)用帶來了許多挑戰(zhàn)。傳統(tǒng)技術(shù)耗時,需要密集的開發(fā)工作和人工智能專業(yè)知識來繪制所有復(fù)雜的架構(gòu)和選項。這些可以包括構(gòu)建定制的人工智能模型、部署高性能視頻解碼和人工智能推理管道,以及生成有洞察力的分析儀表板。

NVIDIA 的 SDK 套件有助于簡化此工作流。您可以使用 NVIDIA DeepStream SDK 創(chuàng)建具有最低配置的高質(zhì)量視頻分析,并使用 NVIDIA TAO Toolkit 創(chuàng)建簡單的模型訓練過程。

這篇文章提供了一個教程,介紹如何使用 NVIDIA DeepStream SDK 和 NVIDIA TAO Toolkit 構(gòu)建一個可以在零售領(lǐng)域執(zhí)行實時智能視頻分析( IVA )的示例應(yīng)用程序。

要創(chuàng)建端到端零售愿景 AI 應(yīng)用程序,請遵循以下步驟:

使用 NVIDIA 預(yù)訓練模型進行人員檢測和跟蹤。

使用 NVIDIA TAO 工具包為特定零售使用案例定制計算機視覺模型。

使用 Apache Kafka 開發(fā) NVIDIA DeepStream 管道,用于視頻分析和流式推理輸出。 Kafka 是一個用于 stream processing 、實時數(shù)據(jù)管道和大規(guī)模數(shù)據(jù)集成的開源分布式流系統(tǒng)。

設(shè)置 Kafka Consumer 將推理數(shù)據(jù)存儲到數(shù)據(jù)庫中。

開發(fā)一個 Django web 應(yīng)用程序,使用各種指標分析商店性能。

您可以使用 NVIDIA-AI-IOT/deepstream-retail-analytics GitHub repo 上的代碼來實現(xiàn)這個示例應(yīng)用程序。

此示例的最終產(chǎn)品是一個自定義儀表板,如圖 1 所示。該儀表板提供分析見解,如商店流量趨勢、帶購物籃的顧客數(shù)量、過道占用率等。

image1-2.png

圖 1 。用于可視化推斷數(shù)據(jù)的前端儀表板

應(yīng)用程序體系結(jié)構(gòu)簡介

在深入了解詳細的工作流之前,本節(jié)概述了用于構(gòu)建此項目的工具。

NVIDIA DeepStream SDK 公司

NVIDIA DeepStream SDK 是 NVIDIA 的流媒體分析工具包,支持 GPU 加速視頻分析,支持跨各種硬件平臺的高性能 AI 推理。 DeepStream 包括幾個 reference applications 以啟動開發(fā)。這些參考應(yīng)用程序可以很容易地進行修改,以適應(yīng)新的用例,并且可以在 DeepStream Docker 鏡像和 GitHub 上的 deepstream_reference_apps 中獲得。

該零售視覺 AI 應(yīng)用程序構(gòu)建在兩個參考應(yīng)用程序之上,- deepstream-test4 和 deepstream test5 。圖 2 顯示了典型 DeepStream 應(yīng)用程序的體系結(jié)構(gòu)。

image4-1.png

圖 2 : NVIDIA DeepStream 參考應(yīng)用程序架構(gòu)

NVIDIA TAO 工具包和預(yù)訓練模型

NVIDIA TAO (訓練、調(diào)整和優(yōu)化)工具包可將各種 AI 預(yù)訓練模型微調(diào)到新領(lǐng)域。 TAO 工具包與 DeepStream 應(yīng)用程序配合使用,以執(zhí)行獨特用例的分析。

在本項目中,該模型用于檢測客戶是否攜帶購物籃。 DeepStream 實現(xiàn)了 TAO 工具包與其現(xiàn)有管道的無縫集成,無需進行大量配置。

使用 TAO 工具包很容易。 TAO 工具包為 100 多種 CV 架構(gòu)和主干的組合提供了完整的 Jupyter notebooks 模型定制。 TAO 工具包還為常見零售任務(wù)(如 people detection 、 pose estimation 和 action recognition 等)提供了一個特定于任務(wù)的預(yù)訓練模型庫。要開始,請參見 TAO Toolkit Quick Start 。

零售視覺 AI 應(yīng)用程序工作流

零售視覺 AI 應(yīng)用程序架構(gòu)(圖 3 )由以下階段組成:

具有以下配置的DeepStream 管道:

主檢測器:從 NGC 配置 PeopleNet 預(yù)訓練模型以檢測“人員”

二級檢測器:使用 TAO 工具包訓練的自定義分類模型,用于購物籃檢測

對象跟蹤器: NvDCF 跟蹤器(在精度配置中),用于跟蹤視頻流中的移動

消息轉(zhuǎn)換器:消息轉(zhuǎn)換器,用于從推斷數(shù)據(jù)生成自定義 Kafka 流負載

MessageBroker :將推斷數(shù)據(jù)中繼到 Kafka 接收器的消息代理

kSQL 時間序列數(shù)據(jù)庫:用于存儲邊緣推理服務(wù)器的推理輸出流

Django Web Application:應(yīng)用程序,用于分析存儲在 kSQL 數(shù)據(jù)庫中的數(shù)據(jù),以生成有關(guān)存儲性能的見解,并將這些指標用作 RESTful API 和 web 儀表板

image8.png

圖 3 。零售視覺 AI 應(yīng)用架構(gòu)

此外,此應(yīng)用程序是為具有 NVIDIA GPU 的 x86 平臺構(gòu)建的。然而,它可以很容易地部署在 NVIDIA Jetson 嵌入式平臺上,例如 NVIDIA ZVK4] AGX Orin 。

下一節(jié)將引導您完成構(gòu)建應(yīng)用程序所涉及的步驟。

步驟 1 :構(gòu)建自定義 NVIDIA DeepStream 管道

要構(gòu)建零售數(shù)據(jù)分析管道,請從 NVIDIA DeepStream reference applications deepstream-test4 和 deepstream-1test5 開始。 deepstream-retail-analytics GitHub repo 中提供了管道代碼和流程的詳細描述。我們建議使用本文作為對存儲庫中代碼的演練。

deepstream-test4 應(yīng)用程序是一個引用 DeepStream 管道,它演示了將custom-detected對象添加為NVDS_EVENT_MSG_META用戶元數(shù)據(jù)并將其附加到要發(fā)布的緩沖區(qū)。 deepstream-test5 是一個端到端應(yīng)用程序,它演示了如何在多流管道中使用nvmsgconv和nvmsgbroker插件,創(chuàng)建NVDS_META_EVENT_MSG類型的元,以及使用 Kafka 和其他匯類型的流推理輸出。

除了主對象檢測器之外,該管道還集成了一個輔助分類器,一旦在零售視頻分析應(yīng)用程序中檢測到某人,該分類器可用于檢測購物者屬性。 test4 應(yīng)用程序用于修改nvmsgconv插件以包括零售分析屬性。然后,在 Kafka 主題上使用nvmsgbroker從管道中獲取二級分類器和流式數(shù)據(jù),請參考 test5 應(yīng)用程序。

由于工作流的第一步是從視頻源中識別人和對象,因此首先使用 deepstream-test4 應(yīng)用程序進行主要對象檢測。該對象檢測是在 PeopleNet 預(yù)訓練模型上完成的,默認情況下,該模型接受視頻輸入并檢測人或其物品。

對于此用例,請配置模型以僅捕獲有關(guān)人員的信息。這可以通過僅存儲關(guān)于數(shù)據(jù)集中包含人物的幀子集的信息來輕松實現(xiàn)。

完成主person對象檢測后,使用 deepstream-test5 添加輔助對象分類模型。該對象分類顯示檢測到的人是否攜帶籃子。

步驟 2 :使用 NVIDIA TAO 工具包構(gòu)建購物籃檢測的自定義模型

本節(jié)介紹如何使用 TAO 工具包來微調(diào)對象分類模型,并找出 PeopleNet 模型中檢測到的人是否攜帶購物籃。

首先,從零售環(huán)境收集并注釋訓練數(shù)據(jù),以執(zhí)行對象分類。使用 Computer Vision Annotation Tool ( CVAT )為觀察到的人標注以下標簽

hasBasket:有人提著籃子

noBasket:人沒有提籃子

此注釋存儲為 KITTI 格式的數(shù)據(jù)集,其中每行對應(yīng)一個幀,因此對應(yīng)一個對象。要使數(shù)據(jù)與對象分類兼容,請使用 GitHub 上的示例 ‘kitti_to_classification‘ Python file 裁剪數(shù)據(jù)集。然后可以對其執(zhí)行對象分類。

接下來,使用 TAO 工具包微調(diào) Resnet34 圖像分類模型,以對訓練數(shù)據(jù)執(zhí)行分類。在 GitHub 上 deepstream-retail-analytics/tree/main/TAO 了解有關(guān)微調(diào)過程的更多信息。

創(chuàng)建自定義模型后,運行推斷以驗證模型是否按預(yù)期工作。

步驟 3 :集成 Kafka 消息代理以創(chuàng)建自定義前端儀表板

隨著主要對象檢測和次要對象分類模型準備就緒, DeepStream 應(yīng)用程序需要將該推斷數(shù)據(jù)轉(zhuǎn)發(fā)到分析 web 服務(wù)器。使用 deepstream-test5 參考應(yīng)用程序作為模板,使用 ApacheKafka 流式傳輸數(shù)據(jù)。

這里,內(nèi)置在 DeepStream 中的 Kafka 適配器用于向 Kafka 消息代理發(fā)布消息。一旦 web 服務(wù)器從商店內(nèi)的每個攝像頭接收到 Kafka 流,這些推斷輸出數(shù)據(jù)就會存儲在一個 kSQL 時間序列數(shù)據(jù)庫中。

DeepStream 有一個默認的 Kafka 消息共享庫對象,使用戶能夠執(zhí)行主要對象檢測并無縫傳輸數(shù)據(jù)。這個項目進一步修改了這個庫,以包括關(guān)于二級分類器的信息。這有助于流式傳輸商店內(nèi)購物籃使用的數(shù)據(jù)。

當前 DeepStream 庫包括NvDsPersonObject、 ,用于定義在主檢測器中檢測到的persons。為了確?;@子檢測唯一地映射到每個人,請修改該類,使其除了先前存在的屬性之外,還包含hasBasket屬性。有關(guān)詳細信息,請訪問 GitHub 上的 deepstream-retail-analytics/tree/main/nvmsgconv 。

在修改NvDsPersonObject 以包括籃檢測后,使用圖 5 所示的管道以確保籃檢測功能正常工作。

image2-2.png

圖 5 。零售視覺 AI 應(yīng)用管道

如圖 5 中的應(yīng)用程序管道所示,對象檢測和跟蹤是在pgie和sgie.的幫助下執(zhí)行的。這些 是nvinfer 插件[VZX6]的一部分,作為主要和次要推理引擎。使用nvtracker,將數(shù)據(jù)傳輸?shù)絥vosd 插件。這個nvosd 插件負責在前面章節(jié)中檢測到的對象周圍繪制方框。

接下來,需要根據(jù)特定的模式將該推斷數(shù)據(jù)轉(zhuǎn)換為消息負載, Kafka 消息代理稍后可以使用該模式來存儲和分析結(jié)果。使用NvDsPersonsObject (先前生成) 作為 eventmsg_payload file. 中更新的有效載荷

最后,您現(xiàn)在有了帶有自定義模式的消息負載。使用此命令將其傳遞給 Kafka 協(xié)議適配器,并發(fā)布 DeepStream 應(yīng)用程序在指定的代理地址和主題向 Kafka 消息代理發(fā)送的消息。此時,最終的消息負載已準備就緒。

現(xiàn)在 DeepStream 管道已經(jīng)準備好,構(gòu)建一個 web 應(yīng)用程序,將流式推理數(shù)據(jù)存儲到一個 kSQL 數(shù)據(jù)庫中。這個使用 Django 框架構(gòu)建的 web 應(yīng)用程序分析推理數(shù)據(jù),以生成與前面討論的商店性能相關(guān)的指標。這些指標可通過 GitHub 上 deepstream-retail-analytics/tree/main/ds-retail-iva-frontend 中記錄的 RESTful API 獲得。

為了演示 API 功能,我們構(gòu)建了一個前端 web 儀表板,以可視化分析服務(wù)器的結(jié)果。此儀表板充當整個門店分析系統(tǒng)的模板。

Results

前面的步驟演示了如何使用 NVIDIA DeepStream 和 NVIDIA TAO 工具包輕松開發(fā)端到端零售視頻分析管道。這條管道幫助零售企業(yè)利用已有的視頻源,并找到他們可以用來提高利潤的有洞察力的信息。

該工作流以易于使用的 web 儀表板為高潮,可實時分析寶貴的全店數(shù)據(jù)。如圖 1 所示,儀表板顯示以下信息:

全天門店訪客數(shù)量

關(guān)于帶籃子和不帶籃子購物的客戶比例的信息

每個商店過道的訪客數(shù)

門店入住熱圖

客戶旅程可視化

這些屬性可以很容易地修改,以包括與每個單獨商店更相關(guān)的特定用例的信息。商店可以使用這些信息來安排人員配置并改進商店布局,以最大限度地提高效率。

例如,圖 6 顯示了全天商店中顧客的總體分布,以及帶籃子和不帶籃子的顧客的比例。雖然此示例應(yīng)用程序僅支持單個攝像機流,但可以輕松修改以支持多個攝像機。將此應(yīng)用程序擴展到多個商店同樣容易。

image7.png

圖 6 。一段時間內(nèi)商店中顧客數(shù)量的推斷數(shù)據(jù)(左),以及有籃子的顧客與沒有籃子的顧客的比率(右)

應(yīng)用程序通過設(shè)置hasBasket屬性來唯一檢測person 11攜帶購物籃,而未攜帶購物籃的其他客戶則標記為noBasket。此外,帶有紙板箱的person 1未被識別為有籃子。因此,該模型對誤報是魯棒的,確保它被成功訓練為只獲取該用例的相關(guān)信息。

總結(jié)

這篇文章展示了一個端到端的過程,即使用 NVIDIA TAO 工具包和 NVIDIA DeepStream SDK 開發(fā)視覺 AI 應(yīng)用程序,以執(zhí)行零售分析。零售企業(yè)可以利用現(xiàn)有的視頻數(shù)據(jù)流,并構(gòu)建最先進的視頻分析應(yīng)用程序。這些應(yīng)用程序可以實時部署,啟動時只需最少的配置。此外,該應(yīng)用程序的高度可定制性確保了它可以應(yīng)用于商店可能受益的任何用例。

開始使用 GitHub 上的示例 deepstream-retail-analytics 應(yīng)用程序。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    4793

    瀏覽量

    102427
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    28876

    瀏覽量

    266219
  • TAO
    TAO
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    6982
收藏 人收藏

    評論

    相關(guān)推薦

    2011年美國零售業(yè)展/美國零售業(yè)展/GLOBAL SHOP

    2011年美國零售業(yè)展/美國零售業(yè)展/GLOBAL SHOP/黃小姐***/LEWAY/2011年美國零售業(yè)展/美國零售業(yè)展/GLOBAL SHOP/黃小姐***/LEWAY2011年
    發(fā)表于 08-27 15:33

    零售是什么?外匯與新零售的聯(lián)系!

    `新零售谷元科技是金融服務(wù)與科技產(chǎn)業(yè)的結(jié)合,這意味著金融正在回歸科技技術(shù)的位置。創(chuàng)新是一直以來推動金融產(chǎn)業(yè)不斷前進的動力,從最初EA /量化交易/人工智能/大數(shù)據(jù)等,數(shù)據(jù)和技術(shù)已成為金融行業(yè)的核心
    發(fā)表于 05-22 15:04

    聊聊RFID如何改變零售行業(yè)?

    飛漲、行業(yè)過度競爭、商業(yè)模式單一等都成為實體零售低迷的萬金油原因,客觀而言,這些都是原因,但不是關(guān)鍵原因,真正關(guān)鍵的原因在效率。 實體零售行業(yè)的競爭已進入效率為王的時代,可謂效率者得天下,而如何提升
    發(fā)表于 07-29 15:11

    什么樣的零售能抓住小店經(jīng)濟機遇?做智能零售數(shù)據(jù)分析

    做智能零售數(shù)據(jù)分析的零售企業(yè)具備極強的運營靈活性,對市場變化有著極強的敏銳度,因此能夠更加靈活地調(diào)整銷售品類、方式,更快抓住小店經(jīng)濟機遇,銷售適合小店經(jīng)濟的商品。零售企業(yè)的這些市場運營靈活性、敏銳性
    發(fā)表于 06-10 16:59

    RFID/NFC技術(shù)在無人零售領(lǐng)域的應(yīng)用有哪些

    無人零售行業(yè)簡介2016年10月的阿里云棲大會上,阿里巴巴馬云在演講中第一次提出了新零售,“未來的十年、二十年,沒有電子商務(wù)這一說,只有新零售。”線上線下和物流結(jié)合在一起,才會產(chǎn)生新零售
    發(fā)表于 08-07 07:39

    RF設(shè)計在不斷演進的零售空間中的作用

      電子貨架標簽(ESL)  各類零售企業(yè)——從雜貨店五金以及消費電子產(chǎn)品門店——都正迅速采用電子貨架標簽;零售商將這些標簽置于零售貨架以更新產(chǎn)品信息。根據(jù) Verified Mar
    發(fā)表于 01-07 15:35

    如何利用數(shù)據(jù)構(gòu)建零售智能?

    英特爾的Marta Muszynska 和戴爾的Siobhan Lynch 討論“如何利用數(shù)據(jù)建立零售情報”
    發(fā)表于 08-04 07:51

    零售引發(fā)的安防應(yīng)用與商機

    2017年,從無人便利店無人貨架,從生鮮零售能源零售,從智慧零售無界
    的頭像 發(fā)表于 04-12 08:40 ?4296次閱讀

    Aibee精準零售的三大場景

    人工智能公司Aibee創(chuàng)始人兼CEO林元慶作為開場嘉賓,以“線下零售+AI=精準零售”為題進行了主題演講,并提出了“精準零售”的概念。他表示,AI
    的頭像 發(fā)表于 04-18 17:34 ?8850次閱讀

    AI零售柜躥紅世界人工智能大會盛大開啟

    AI+零售應(yīng)用場景,哈哈獸和騰訊共同攜手為來自全球的現(xiàn)場嘉賓與媒體帶來了承載新一代“AI+即時零售”技術(shù)的產(chǎn)品。
    發(fā)表于 09-21 14:54 ?1176次閱讀

    AI 零售三大勢力的走向是怎樣的

    想發(fā)展零售行業(yè),作為技術(shù)新貴的視覺AI更是被寄予了厚望。
    發(fā)表于 06-21 11:08 ?1338次閱讀

    關(guān)于霍尼韋爾零售完整解決方案的介紹和應(yīng)用

    一直以來,霍尼韋爾的語音解決方案,都能最好地支持零售業(yè)務(wù)需求——幫助零售業(yè)提升準確率、提高訂單揀選的速度、更好地監(jiān)控庫存、精簡流程并能更高效地利用勞動力等。
    的頭像 發(fā)表于 10-17 17:28 ?2331次閱讀

    瑞為智慧零售解決方案 助力構(gòu)建起了“AI+零售”的全新業(yè)態(tài)

    這不,剛剛刷爆朋友圈的珠海首個情景式購物公園——珠海玖洲道購物中心以及三亞國際免稅城二期就在近日接連開業(yè),并不約而同地選擇了瑞為智慧零售解決方案,構(gòu)建起“AI+零售”的全新業(yè)態(tài),在智慧零售
    發(fā)表于 01-06 15:41 ?1117次閱讀

    AI正在改變企業(yè)管理邊緣應(yīng)用程序的方式

      為了幫助企業(yè)快速起步,我們創(chuàng)建了 NVIDIA LaunchPad ,這是一個免費的程序,提供對必要硬件和軟件堆棧的即時、短期訪問,以體驗
    發(fā)表于 08-15 14:52 ?497次閱讀
    <b class='flag-5'>AI</b>正在改變企業(yè)管理邊緣<b class='flag-5'>應(yīng)用程序</b>的方式

    揭秘零售業(yè)背后的 AI

    零售 AI 工作流 快速構(gòu)建防損應(yīng)用程序 NVIDIA AI Enterprise 軟件套件提供的 NVIDIA 零售
    的頭像 發(fā)表于 05-20 03:00 ?446次閱讀