為提高安全性并優(yōu)化運(yùn)營(yíng),倉(cāng)庫(kù)、工廠、體育場(chǎng)、機(jī)場(chǎng)等大型區(qū)域通常會(huì)有數(shù)百個(gè)攝像頭進(jìn)行監(jiān)控。多攝像頭追蹤指的是通過(guò)這些攝像頭追蹤對(duì)象,并精確測(cè)量其活動(dòng),以此實(shí)現(xiàn)對(duì)空間的有效監(jiān)控和管理。
例如,零售店可以使用多攝像頭追蹤了解顧客如何在過(guò)道中穿行,通過(guò)改進(jìn)店鋪布局,為顧客提供更好的購(gòu)物體驗(yàn);倉(cāng)庫(kù)可以通過(guò)監(jiān)控設(shè)備、材料和人員的流動(dòng),來(lái)提高安全性、加快交付速度和降低成本;機(jī)場(chǎng)可以通過(guò)追蹤人流來(lái)加強(qiáng)安保和提升旅行體驗(yàn)。
但落實(shí)多攝像頭追蹤系統(tǒng)可能具有一定的挑戰(zhàn)性。
第一,要匹配多個(gè)攝像頭從不同角度和視野所拍攝的對(duì)象,需要有經(jīng)過(guò)數(shù)月精準(zhǔn)訓(xùn)練的先進(jìn)算法和 AI 模型,尤其是基準(zhǔn)真相訓(xùn)練數(shù)據(jù)集非常稀缺。數(shù)據(jù)集的標(biāo)記工作需要由一個(gè)人或一小群人對(duì)來(lái)自眾多攝像頭的所有數(shù)據(jù)流進(jìn)行審查,以保證識(shí)別與追蹤的一致性,這就延遲了 AI 模型的訓(xùn)練。
第二,多攝像頭實(shí)時(shí)追蹤需要建立專門的實(shí)時(shí)數(shù)據(jù)流、多流融合、行為分析和異常檢測(cè)模塊,實(shí)現(xiàn)亞秒級(jí)的延遲和高吞吐量。
第三,要擴(kuò)展到工廠、機(jī)場(chǎng)等更大的空間,就必須采用分布式計(jì)算和云原生架構(gòu)來(lái)處理成千上萬(wàn)個(gè)攝像頭和對(duì)象。
因此,我們發(fā)布了全新的多攝像頭追蹤參考工作流,推動(dòng)新一代視覺(jué) AI 的發(fā)展,使其能夠測(cè)量并幫助管理大型空間的基礎(chǔ)設(shè)施和運(yùn)營(yíng)。
NVIDIA 多攝像頭追蹤
NVIDIA 多攝像頭追蹤是一個(gè)可自定義的工作流。您可以放心地從這里開(kāi)始,無(wú)需從頭啟動(dòng)開(kāi)發(fā)工作,這將節(jié)省您數(shù)月的開(kāi)發(fā)時(shí)間。
該工作流還提供一條經(jīng)過(guò)驗(yàn)證的生產(chǎn)路徑,并且包含在真實(shí)和合成數(shù)據(jù)集上預(yù)訓(xùn)練的高級(jí) AI 模型,您可以根據(jù)自己的用例對(duì)這些模型進(jìn)行自定義。該流程也已包含實(shí)時(shí)視頻流模塊。
基礎(chǔ)層:通過(guò)融合多攝像頭視頻,為對(duì)象創(chuàng)建全局 ID 及其全局和局部坐標(biāo)的生產(chǎn)就緒功能。
分析層:唯一對(duì)象計(jì)數(shù)和本地軌跡。
可視化和 UI:作為進(jìn)一步開(kāi)發(fā)基礎(chǔ)的示例熱圖、直方圖和路徑。
借助該工作流的這些組件,您就可以對(duì)業(yè)務(wù)邏輯進(jìn)行編碼,并構(gòu)建端到端視覺(jué) AI 應(yīng)用,實(shí)現(xiàn)對(duì)空間的優(yōu)化與管理。
無(wú)需支付額外費(fèi)用,只需基礎(chǔ)設(shè)施和工具許可證即可。此外,您還能通過(guò) NVIDIA AI Enterprise 獲得專家支持以及多攝像頭追蹤工作流的最新產(chǎn)品更新。
開(kāi)始使用多攝像頭追蹤工作流
如要開(kāi)始使用,請(qǐng)參見(jiàn)多攝像頭追蹤快速入門指南,了解如何在本地開(kāi)發(fā)或云中部署該參考工作流。
有關(guān)仿真和微調(diào)用例的更多信息,請(qǐng)參見(jiàn)從仿真到部署的全套方法。
在以下章節(jié)中,我們將引導(dǎo)您了解該工作流的應(yīng)用架構(gòu),以及開(kāi)發(fā)、配置和部署工作流的各個(gè)步驟。
端到端多攝像頭追蹤工作流
圖 1. 從仿真到部署的多攝像頭追蹤工作流
多攝像頭追蹤參考工作流(圖 1)從媒體管理微服務(wù)獲取實(shí)時(shí)或錄制的數(shù)據(jù)流,并在多攝像頭視圖中輸出對(duì)象的行為和全局 ID。行為可定義為對(duì)象在任何給定時(shí)間的位置、方向、速度或軌跡。
對(duì)象元數(shù)據(jù)(如邊界框、追蹤 ID 和帶有時(shí)間戳的行為數(shù)據(jù)等)存儲(chǔ)在 Elasticsearch 索引中,行為數(shù)據(jù)也經(jīng)過(guò)排序并存儲(chǔ)在 Milvus 向量數(shù)據(jù)庫(kù)中。工作流結(jié)束時(shí)會(huì)運(yùn)行一項(xiàng)網(wǎng)絡(luò) UI 微服務(wù),使您能夠生成行為的可視化圖,并點(diǎn)擊任何對(duì)象查找其在任何時(shí)刻的位置(時(shí)間戳)??赏ㄟ^(guò)網(wǎng)絡(luò) API 微服務(wù)從 ELK 或 Milvus 獲取數(shù)據(jù)。
在視頻 1 中,右側(cè)窗格顯示了疊加對(duì)象全局 ID 及其行為的建筑地圖。左側(cè)的攝像頭視圖顯示對(duì)象的當(dāng)前位置。在該窗口中,您可以使用對(duì)象的全局 ID 對(duì)其進(jìn)行查詢,查看其在特定時(shí)間段內(nèi)的位置。例如,如果用全局 id-2 查詢對(duì)象,就可以獲得與該對(duì)象 ID 相關(guān)的元數(shù)據(jù)。
基礎(chǔ)模塊
該應(yīng)用由多個(gè) NVIDIA Metropolis 微服務(wù)構(gòu)建而成:
媒體管理
感知
多攝像頭融合
行為分析
網(wǎng)絡(luò) API
網(wǎng)絡(luò) UI
數(shù)據(jù)流分發(fā)和路由(SDR)
它還包含第三方微服務(wù):
消息代理(Kafka)
Elasticsearch Logstash Kibana 堆棧(ELK)
矢量數(shù)據(jù)庫(kù)(Milvus)
使用了多個(gè) NVIDIA Metropolis 工具:
攝像機(jī)校準(zhǔn)工具
Pipetuner 自動(dòng)參數(shù)追蹤工具
使用了以下感知模型:
人物檢測(cè)和重新識(shí)別嵌入
從仿真到部署的全套方法
我們將探討開(kāi)發(fā)這些高級(jí) AI 功能的全套方法,從使用數(shù)字孿生進(jìn)行仿真和合成數(shù)據(jù)生成開(kāi)始,一直到部署到云端用于推理為止。
仿真和訓(xùn)練
想要構(gòu)建最為高效、準(zhǔn)確的 AI 工作流,就必須使用先進(jìn)的 NVIDIA 技術(shù),比如使用以下工具創(chuàng)建 3D 數(shù)字孿生、生成合成數(shù)據(jù)和簡(jiǎn)化模型開(kāi)發(fā):
NVIDIA Omniverse:建立真實(shí)世界環(huán)境的 3D 數(shù)字副本、定位虛擬攝像頭以捕獲各種合成數(shù)據(jù)、生成基準(zhǔn)真相注釋,并在實(shí)際部署前驗(yàn)證應(yīng)用。
NVIDIA Isaac Sim:使用 Omni.Replicator.Agent 仿真智能體,包括人和機(jī)器人,以簡(jiǎn)化從場(chǎng)景中生成合成數(shù)據(jù)。如需了解更多信息,請(qǐng)參見(jiàn)使用 NVIDIA Metropolis 微服務(wù)將多攝像頭追蹤工作流部署到公有云(視頻)。
NVIDIA TAO 套件:同時(shí)使用真實(shí)數(shù)據(jù)與合成數(shù)據(jù),簡(jiǎn)化訓(xùn)練并優(yōu)化模型,通過(guò)量化和剪枝提高推理性能。
這些工具可共同加強(qiáng) AI 模型的訓(xùn)練、驗(yàn)證和優(yōu)化,保證其在真實(shí)世界應(yīng)用中發(fā)揮高性能。
構(gòu)建和部署多攝像頭追蹤工作流
針對(duì)多攝像頭追蹤應(yīng)用,NVIDIA 提供了多種構(gòu)建和部署應(yīng)用程序的選項(xiàng)。
使用 docker-compose 進(jìn)行快速部署
現(xiàn)在,任何人都可以開(kāi)始使用多攝像頭追蹤應(yīng)用。NVIDIA 提供了一些在默認(rèn)設(shè)置下就可以使用的示例視頻流,這些視頻流可以在 nvstreamer 微服務(wù)中進(jìn)行配置。
然后,您可以配置這些 RTSP 流,或?qū)⒄鎸?shí)攝像頭 RTSP 端點(diǎn)添加到 VST 中。除了這些流之外,NVIDIA 還提供了使用 deepstream-app 生成的感知元數(shù)據(jù)樣本,供任何人檢查多攝像頭數(shù)據(jù)流。您可以按以下方式部署整個(gè)端到端工作流:
$dockercompose-ffoundational/mdx-foundational.yml-fmtmc-app/mdx-mtmc-app.yml--profilee2eup-d--pullalways--build--force-recreate
這里的 mdx-foundational.yaml 文件是一個(gè) docker-compose 文件,包含 Elasticsearch、Kafka 等基本服務(wù)。mdx-mtmc-app.yaml 文件包含感知、媒體管理、行為分析等微服務(wù)。
如要試用帶有現(xiàn)成感知數(shù)據(jù)的多攝像頭應(yīng)用,請(qǐng)運(yùn)行帶有播放配置文件參數(shù)的 docker compose 命令:
$dockercompose-ffoundational/mdx-foundational.yml-fmtmc-app/mdx-mtmc-app.yml--profileplaybackup-d--pullalways--build--force-recreate
使用 Helm 圖表在 Kubernetes 的生產(chǎn)環(huán)境中進(jìn)行部署
如要在 Kubernetes 中部署多攝像頭追蹤應(yīng)用,首先要?jiǎng)?chuàng)建一個(gè) Kubernetes 服務(wù)器。詳細(xì)信息參見(jiàn)軟硬件前提條件。這些應(yīng)用資源位于 NGC 中。
下文假定您已設(shè)置了 Kubernetes 服務(wù)器并擁有 NGC 團(tuán)隊(duì)訪問(wèn)權(quán)限。
下載部署包:
ngcregistryresourcedownload-version"nfgnkvuikvjm/mdx-v2-0/metropolis-apps-k8s-deployment:- "
該部署包具有存儲(chǔ)、監(jiān)控服務(wù)等基礎(chǔ)服務(wù)和應(yīng)用 helm 配置的 Helm values.yaml 文件。
Values 文件是應(yīng)用的配置文件,您可以在其中定義特定服務(wù)的映像、服務(wù)副本數(shù)量、服務(wù)類型、端口、入口、卷、存儲(chǔ)等。
該應(yīng)用 helm 配置為每項(xiàng)微服務(wù)提供一個(gè) Values 文件,如感知(wdm-deepstream-mtmc-values.yaml)和多攝像頭融合(mtmc-app-override-values.yaml)等。
更多信息,請(qǐng)參見(jiàn) Values 文件。
部署基礎(chǔ)服務(wù)
helminstallmdx-foundation-sys-svcs--waithttps://helm.ngc.nvidia.com/nfgnkvuikvjm/mdx-v2-0/charts/mdx-foundation-sys-svcs-v1.3.tgz--username='$oauthtoken'--password=YOUR_API_KEY-fapplication-helm-configs/foundational-sys/foundational-sys-monitoring-override-values.yaml
這里的 foundational-sys-monitoring-override-values.yaml 文件被 override values.yaml 文件取代,您可以在其中定義任何經(jīng)過(guò)更新的應(yīng)用設(shè)置,例如為 Grafana UI 添加密碼等。
部署微服務(wù)
除感知微服務(wù)外,每個(gè)微服務(wù) pod 都可以共享 GPU。GPU 共享通過(guò) NVIDIA_VISIBLE_DEVICES 啟用。每個(gè)微服務(wù)都有一個(gè)用于自定義各項(xiàng)配置的 override value.yaml 文件。我們將在后面討論自定義問(wèn)題。
與基礎(chǔ)服務(wù)類似,您可以單獨(dú)部署每項(xiàng)微服務(wù)。例如,如要部署多攝像頭融合微服務(wù)運(yùn)行,請(qǐng)使用以下代碼:
helminstallmdx-mtmc-apphttps://helm.ngc.nvidia.com/nfgnkvuikvjm/mdx-v2-0/charts/mdx-mtmc-app-1.0.37.tgz--username='$oauthtoken'--password=-fapplication-helm-configs/MTMC/mtmc-app-override-values.yaml
關(guān)于如何部署其他微服務(wù)的更多信息,請(qǐng)參見(jiàn)用戶指南。
訪問(wèn)多攝像頭追蹤 UI
在完成部署后,您可以訪問(wèn)多攝像頭追蹤用戶界面。
為了在多攝像頭視圖中有效追蹤對(duì)象、最大程度地減少遮擋和提高空間理解能力,NVIDIA 在多攝像頭融合和行為分析微服務(wù)中采用了攝像頭校準(zhǔn)技術(shù),其中包括提供示例視頻流以及 calibration.json 文件和建筑地圖圖像。calibration.json 文件包含圖像坐標(biāo)和全局坐標(biāo),這些坐標(biāo)用于將每個(gè)攝像頭的視圖與通用的自上而下的地圖視圖對(duì)齊。
使用一鍵式部署腳本在云端部署
為了將 Metropolis 應(yīng)用部署到云端,NVIDIA 向 Microsoft Azure、Google Cloud Platform、亞馬遜云科技(AWS)等多家云服務(wù)提供商(CSP)提供了一鍵式腳本。更多信息,參見(jiàn)使用 NVIDIA Metropolis 微服務(wù)將多攝像頭追蹤工作流部署到公有云(視頻)。
以及 NVIDIA Metropolis 用戶指南中的云設(shè)置專題。
根據(jù)您的用例進(jìn)行配置
如果您已經(jīng)遵循了所有的構(gòu)建和部署說(shuō)明,那么現(xiàn)在您就可以在隨版本一起打包的示例數(shù)據(jù)流上,運(yùn)行多攝像頭追蹤工作流,并生成結(jié)果的可視化圖。
為了根據(jù)您的用例擴(kuò)展應(yīng)用,NVIDIA 在每個(gè)微服務(wù)級(jí)別和工具中都提供了一些配置選項(xiàng)??稍?override-values.yaml 中添加配置級(jí)自定義。
helminstallvst-apphttps://helm.ngc.nvidia.com/rxczgrvsg8nx//charts/ - .tgz--username='$oauthtoken'--password= -fapplication-helm-configs/MTMC/override-values.yaml
在媒體管理微服務(wù)中使用視頻存儲(chǔ)套件配置攝像頭?
您可以在這項(xiàng)微服務(wù)中設(shè)置您的視頻流配置。在有實(shí)時(shí)攝像頭的情況下,可以使用視頻存儲(chǔ)套件(VST)。VST 提供多種配置,您可以根據(jù)自己的需要進(jìn)行設(shè)置:
vst_config.json: notifications: enable_notification: true use_message_broker: "kafka" security: use_https: false use_http_digest_authentication: false vst_storage.json: total_video_storage_size_MB: 100000
現(xiàn)在,您可以使用這些 override-values.yaml 更新來(lái)部署微服務(wù):
訪問(wèn) VST 儀表盤:http://IP_address:30000
添加攝像頭
將經(jīng)過(guò)微調(diào)的模型和自定義追蹤器整合到感知微服務(wù)中
感知微服務(wù)提供多種配置選項(xiàng),例如多攝像頭追蹤應(yīng)用帶有用于檢測(cè)人物的默認(rèn)模型。如果您有自定義模型且必須更新模型參數(shù),可以更新模型配置文件。
感知微服務(wù)基于 NVIDIA DeepStream。NVIDIA DeepStream 提供了多種類型的追蹤器,來(lái)追蹤單個(gè)攝像頭視圖內(nèi)的對(duì)象。您可以選擇任何一種追蹤器并更新配置。
典型的感知微服務(wù)管線包含一個(gè)檢測(cè)器和一個(gè)多對(duì)象追蹤器,每個(gè)檢測(cè)器和追蹤器的配置文件都列有大量參數(shù)。由于需要針對(duì)不同的應(yīng)用來(lái)手動(dòng)調(diào)整這些參數(shù),會(huì)使達(dá)到最佳的準(zhǔn)確性具有一定的挑戰(zhàn)性,因此 NVIDIA 提供 pipe tuner 工具來(lái)幫助您獲得最佳參數(shù),并在特定用例中達(dá)到最佳的準(zhǔn)確性。
使用攝像頭校準(zhǔn)套件創(chuàng)建校準(zhǔn)文件
您必須為新添加的攝像頭流創(chuàng)建 calibration.json 文件,才能使用多攝像頭融合和行為分析 (Multi-Camera Fusion and Behaviour Analytics) 微服務(wù)。為了實(shí)現(xiàn)高效、可擴(kuò)展的攝像頭校準(zhǔn),NVIDIA 提供了基于 UI 的攝像頭校準(zhǔn)套件。
監(jiān)控和記錄
NVIDIA 在多攝像頭追蹤應(yīng)用中,將 Kibana 控制面板與基礎(chǔ)服務(wù)整合到一起,以便您對(duì)應(yīng)用進(jìn)行監(jiān)控和可視化。
打開(kāi) Kibana 控制面板。
圖 2. 使用 Kibana 面板通過(guò)
時(shí)間戳監(jiān)控多攝像頭追蹤對(duì)象
從左上方可以看到,在給定的輸入流中總共檢測(cè)到 34 個(gè)對(duì)象。但在 34 個(gè)對(duì)象中,只有 6 個(gè)唯一人物。圖像底部是多攝像頭追蹤工作流直方圖。
立刻開(kāi)始使用該工作流
多攝像頭追蹤參考工作流現(xiàn)已全面推出開(kāi)發(fā)者預(yù)覽版。立刻開(kāi)始使用快速入門指南,并按照分步說(shuō)明下載工作流構(gòu)件,然后就可以在您的專用系統(tǒng)環(huán)境或云環(huán)境中部署該工作流。
如要使用覆蓋整個(gè)視覺(jué) AI 生命周期(從仿真到微調(diào)和部署)的 NVIDIA 工具自定義和進(jìn)一步構(gòu)建該工作流,請(qǐng)參見(jiàn) Metropolis 多攝像頭仿真到部署快速入門指南。
嘗試該工作流并通過(guò)開(kāi)發(fā)者論壇或您的 NVIDIA 企業(yè)支持團(tuán)隊(duì)給出您的反饋意見(jiàn)。
我們迫不及待地想看到您使用多攝像頭追蹤所構(gòu)建出的流程,如何將物理空間的安全性與實(shí)用性提升到新的水平!
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5109瀏覽量
104519 -
攝像頭
+關(guān)注
關(guān)注
60文章
4884瀏覽量
96766 -
AI
+關(guān)注
關(guān)注
87文章
32491瀏覽量
271701
原文標(biāo)題:借助多攝像頭追蹤工作流優(yōu)化大型空間內(nèi)的流程
文章出處:【微信號(hào):NVIDIA-Enterprise,微信公眾號(hào):NVIDIA英偉達(dá)企業(yè)解決方案】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
誰(shuí)能做OV7670攝像頭基于STM32F103,追蹤紅光?
安防攝像頭的過(guò)流保護(hù)
如何在i.MX8M Plus上為13MP攝像頭啟用雙攝像頭流?
基于分組-分類的工作流活動(dòng)多實(shí)例調(diào)度
網(wǎng)格環(huán)境中基于移動(dòng)Agent的工作流架構(gòu)研究
攝像頭的工作原理
輕量級(jí)工作流引擎架構(gòu)設(shè)計(jì)

基于MVC架構(gòu)的輕量級(jí)工作流引擎設(shè)計(jì)

基于DirectShow的多攝像頭視頻采集
如何在NVIDIA Jetson平臺(tái)創(chuàng)建多攝像頭管道
全新 NVIDIA RTX Enterprise 驅(qū)動(dòng)程序支持最新的 RTX 6000 Ada 架構(gòu) GPU,助力改進(jìn)圖形工作流
NVIDIA發(fā)布全新AI和仿真工具以及工作流
多光譜火焰檢測(cè)攝像頭

評(píng)論