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

基于DirectShow的多攝像頭視頻采集
如何在NVIDIA Jetson平臺創建多攝像頭管道
全新 NVIDIA RTX Enterprise 驅動程序支持最新的 RTX 6000 Ada 架構 GPU,助力改進圖形工作流
NVIDIA發布全新AI和仿真工具以及工作流
多光譜火焰檢測攝像頭

評論