倉庫、工廠、體育場和機場等大片區域通常由數百個攝像頭進行監控,以提高安全性并優化運營。通過這些攝像頭準確跟蹤物體和測量活動稱為多攝像頭跟蹤,可讓您有效地監控和管理空間。
例如,零售商店可以使用多攝像頭跟蹤來了解客戶如何在通道中導航,并改善商店布局,以獲得更好的購物體驗。倉庫可以監控設備、材料和人員的移動,以提高安全性、提高交付速度并降低成本。機場可以跟蹤人員流動,以增強安全性和出行體驗。
然而,實施多攝像頭追蹤系統可能具有挑戰性。
首先,從不同的角度和視圖在多個攝像頭源中匹配受試者需要先進的算法和 AI 模型,準確訓練可能需要數月時間。特別是,真值訓練數據集很少,因為標記需要一個人或多達一個小組審查來自多個攝像頭的所有流,以實現一致的識別和跟蹤,從而延遲 AI 模型訓練。
其次,實時多攝像頭跟蹤需要構建用于實時數據流、多流融合、行為分析和異常檢測的專用模塊,以提供亞秒級延遲和高吞吐量。
第三,擴展到工廠或機場等更大的空間需要分布式計算和可以處理數千個攝像頭和主題的云原生架構。
因此,我們宣布推出新的多攝像頭追蹤參考工作流程,以加速下一波視覺 AI 的開發,該浪潮可測量并幫助管理大型空間的基礎設施和運營。
NVIDIA 多攝像頭追蹤?
NVIDIA 多攝像頭追蹤是一種可定制的工作流程,可為您提供一個堅實的起點,讓您無需從頭開始即可順利進行開發,從而節省數月的開發時間。
該工作流程還提供了經過驗證的生產路徑。它包括基于真實和合成數據集預訓練的先進 AI 模型,您可以根據用例自定義這些模型。它配備了實時視頻流模塊。
- 基礎層:生產就緒型功能,可以融合多個攝像頭源,為對象創建全球唯一標識符及其全球和本地坐標。
- 分析層:獨特的物體計數和局部軌跡。
- 可視化和用戶界面:對可以進一步構建的熱圖、直方圖和路徑進行采樣。
借助工作流程的這些組件,您可以對業務邏輯進行編碼,并構建端到端視覺 AI 應用,以優化和管理空間。
無需支付額外費用,僅需基礎架構和工具許可證。此外, NVIDIA AI Enterprise 還可為多攝像頭追蹤工作流程提供專家支持和最新產品更新。
開始使用多攝像頭追蹤工作流程?
首先,請參閱 多攝像頭追蹤快速入門指南 并了解如何在本地開發或云端部署參考工作流程。有關針對您的用例進行仿真和微調的更多信息,請參閱 端到端 Sim2Deploy 配方。
在以下各節中,我們將為您介紹工作流的應用程序架構以及開發、配置和部署工作流的分步流程。
用于多攝像頭追蹤的端到端工作流程?
多攝像頭跟蹤參考工作流程 (圖 1) 從 Media Management 微服務中獲取實時或錄制的流,并在多攝像頭視圖中輸出物體的行為和全局 IDs 行為可以定義為物體在任何給定時間的位置、方向、速度或軌跡。
對象元數據 (例如邊界框、跟蹤 ID 和帶時間的行為數據) 存儲在 Elasticsearch 索引中。行為數據也進行排序并存儲在 Milvus 向量數據庫中。Web UI 微服務在工作流程結束時運行,使您能夠可視化行為,并單擊任何對象以查找其隨時所處的位置 (時間)。來自 ELK 或 Milvus 的數據通過 Web API 微服務獲取。
在 視頻 1中,右側窗格顯示了覆蓋物體的全局 ID 及其行為的建筑貼圖。左側的攝像頭視圖顯示了物體的當前位置。在此窗口中,您可以使用其全局 ID 查詢物體,以查看其在給定周期內的位置。例如,如果您使用 global 查詢物體:id-2
,您可以從平面圖上可用的所有攝像頭中獲取與此物體 ID 相關的元數據。
構建塊?
該應用程序使用 NVIDIA 都市微服務:
它還包括第三方微服務:
- 消息代理(Kafka)
- 彈性搜索日志存儲分析堆棧 (ELK)
- 矢量數據庫 (Milvus)
使用了多種 NVIDIA Metropolis 工具:
使用以下感知模型:
從模擬到部署的方法?
在本文中,我們將探索開發這些先進 AI 功能的可擴展方法,從使用數字孿生進行模擬和合成數據生成,到部署到云端進行推理。
模擬和訓練
要構建更高效、更準確的 AI 工作流程,使用先進的 NVIDIA 技術至關重要。這包括創建 3D 數字孿生、生成合成數據,以及使用以下工具簡化模型開發:
- NVIDIA Omniverse:構建真實環境的三維數字副本,定位虛擬攝像頭以捕獲各種合成數據,生成真值標注,并在實際部署之前驗證應用程序。
- NVIDIA Isaac Sim:使用 Omni.Replicator.Agent 模擬智能體(包括人員和機器人),以簡化場景中的合成數據生成。有關更多信息,請參閱 借助 NVIDIA Metropolis 微服務,將多攝像頭跟蹤工作流部署到公有云。
- NVIDIA TAO 工具套件:使用真實數據和合成數據簡化模型訓練和優化,通過量化和剪枝提高模型的推理性能。
這些工具共同促進 AI 模型的穩健訓練、驗證和優化,確保在真實應用中實現高性能。
構建和部署多攝像頭追蹤工作流程
對于多攝像頭追蹤應用,NVIDIA 提供了多種構建和部署應用的選項。
使用 docker-compose 快速部署
任何人都可以開始使用多攝像頭跟蹤應用程序。NVIDIA 提供了一些示例視頻流,您可以在默認情況下使用這些視頻流,并且可以在 nvstreamer 微服務中進行配置。
然后,您可以配置這些 RTSP 流或將真實攝像頭 RTSP 端點添加到 VST。除了這些流之外, NVIDIA 還提供了使用 deepstream-app 供任何人查看多攝像頭數據流。您可以按照如下所示部署整個端到端工作流程:
$ docker compose -f foundational/mdx-foundational.yml -f mtmc-app/mdx-mtmc-app.yml --profile e2e up -d --pull always --build --force-recreate |
在這里,mdx-foundational.yaml
文件是一個 Docker.Compose 文件,其中包含基本服務,如 Elasticsearch 和 Kafka。mdx-mtmc-app.yaml
文件包含多個微服務,例如感知、媒體管理和行為分析等。
要嘗試使用現有感知數據的多攝像頭應用,請運行 docker compose
命令,帶有播放配置文件參數:
$ docker compose -f foundational/mdx-foundational.yml -f mtmc-app/mdx-mtmc-app.yml --profile playback up -d --pull always --build --force-recreate |
使用 Helm 圖表在 Kubernetes 中的生產環境中部署
要在 Kubernetes 中部署多攝像頭跟蹤應用程序,請先創建 Kubernetes 服務器。有關更多信息,請參閱硬件和軟件 先決條件。應用程序資源在 NGC 中。本文其余部分假設您已設置 Kubernetes 服務器,并已 獲得 NGC 團隊的訪問權限。
下載部署包:
ngc registry resource download-version "nfgnkvuikvjm/mdx-v2-0/metropolis-apps-k8s-deployment:-" |
此軟件包具有 Helm,基于 values.yaml
文件的基礎服務,例如存儲和監控服務,以及應用程序的 Helm 配置。
值文件是應用的配置文件,您可以在其中定義特定服務的鏡像、服務副本數量、服務類型、端口、入口、卷、存儲等。
應用程序 Helm 配置的每個微服務都有一個值文件,例如感知 (wdm-deepstream-mtmc-values.yaml
) 和多攝像頭融合 (mtmc-app-override-values.yaml
)。
有關更多信息,請參閱 配置值文件。
部署基礎服務
helm install mdx-foundation-sys-svcs --wait https: //helm.ngc.nvidia.com/nfgnkvuikvjm/mdx-v2-0/charts/mdx-foundation-sys-svcs-v1.3.tgz --username='$oauthtoken' --password=YOUR_API_KEY -f application-helm-configs/foundational-sys/foundational-sys-monitoring-override-values.yaml |
在這里,foundational-sys-monitoring-override-values.yaml
文件將替換為 override values.yaml 文件,您可以在其中定義任何更新的應用程序設置,例如為 Grafana 用戶界面添加密碼。
部署微服務
對于每個微服務:容器單元,GPU 可以共享,但感知微服務除外。GPU 共享通過 NVIDIA _VISIBLE_DEVICES 啟用。每個微服務都有一個 override value.yaml
文件,可用于自定義任何配置。我們稍后將討論自定義。
與基礎服務類似,您可以單獨部署每個微服務。例如,要部署運行的 Multi-Camera Fusion 微服務,請使用以下代碼:
helm install mdx-mtmc-app https: //helm.ngc.nvidia.com/nfgnkvuikvjm/mdx-v2-0/charts/mdx-mtmc-app-1.0.37.tgz --username='$oauthtoken' --password= -f application-helm-configs/MTMC/mtmc-app-override-values.yaml |
有關如何部署其他微服務的更多信息,請參閱 用戶手冊。
訪問多攝像頭追蹤 UI
部署完成后,您可以在http://:31080/ui/mtmc/。
為在多個攝像頭視圖中有效跟蹤物體、最大限度地減少遮擋并提高空間理解, NVIDIA 在 Multi-Camera Fusion 和 Behavior Analytics 微服務中采用了攝像頭校正。這包括提供示例視頻流以及 calibration.json 文件和建筑物地圖圖像。calibration.json 包含圖像坐標和全局坐標,用于將每個攝像頭的視圖與常見的自上而下地圖視圖對齊。
使用一鍵部署腳本在云端部署
要在云端部署 Metropolis 應用,NVIDIA 向 Microsoft Azure、Google Cloud Platform 和 Amazon Web Services (AWS) 等多個云服務提供商(CSP)提供了一鍵腳本。有關更多信息,請參閱 使用 NVIDIA Metropolis 微服務將多攝像頭跟蹤工作流部署到公有云(視頻) 和 云設置 主題NVIDIA Metropolis 用戶指南。
針對您的用例進行配置?
如果您已遵循所有構建和部署說明,則可以在隨版本打包的示例流上運行多攝像頭追蹤工作流并將結果可視化。
為了將應用程序擴展到您的用例,NVIDIA 為每個微服務級別和工具提供了一些配置選項。在 override-values.yaml
文件中。
helm install vst-app https: //helm.ngc.nvidia.com/rxczgrvsg8nx//charts/-.tgz --username='$oauthtoken' --password= -f application-helm-configs/MTMC/override-values.yaml |
在 Media Management 微服務中使用 Video Storage Toolkit 配置攝像頭
在此微服務中,您可以設置 配置 用于視頻流。如果您有實時攝像頭,則可以使用 視頻存儲工具包(Video Storage Toolkit,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 地址:30000。
- 添加攝像頭。
在 Perception 微服務中集成微調模型和自定義跟蹤器
Perception 微服務提供多個配置選項。例如,多攝像頭追蹤應用程序隨附用于檢測人員的默認模型。如果您有自定義模型,并且必須更新模型參數,則可以更新 模型配置文件。
感知微服務基于 NVIDIA DeepStream,它提供了多種類型的 跟蹤器,用于追蹤單個攝像頭視圖中的物體。您可以選擇任何跟蹤器并更新 配置。
典型的感知微服務流程包括一個檢測器和一個多物體追蹤器,每個都在各自的配置文件中列出了大量參數。針對不同的應用程序手動調整這些參數會使實現最佳準確性變得非常困難,因此 NVIDIA 提供了 管道調整工具,該工具可幫助您針對特定用例獲得最佳參數并實現最佳準確性。
使用 Camera Calibration Toolkit 創建校正文件
對于新添加的攝像頭流,您必須創建 calibration.json 文件,才能使用 多攝像頭融合和行為分析微服務。為了實現高效且可擴展的攝像頭校正, NVIDIA 提供了基于用戶界面的攝像頭 校準工具包。
監控和記錄?
在多攝像頭追蹤應用程序中, NVIDIA 將 Kibana 控制面板與基礎服務集成,您可以使用這些服務來監控和可視化應用程序。
在http://<host_ip>/5601
。

從左上角可以看到,在給定的輸入流中共檢測到 34 個物體。但在 34 個物體中,只有 6 個獨特的人物。圖像底部是多攝像頭追蹤工作流程直方圖。
立即開始使用工作流程?
開發者預覽版現已正式支持多攝像頭追蹤參考工作流。立即開始使用 快速入門指南 并按照分步說明下載工作流組件。然后,在本地或云端環境中部署工作流。
要使用 NVIDIA 工具自定義并進一步構建工作流,涵蓋從模擬到微調和部署的整個視覺 AI 生命周期,請參閱 Metropolis 多攝像頭模擬到部署快速入門指南。
請嘗試并通過以下方式向我們發送您的反饋:開發者論壇 或您的 NVIDIA 企業支持團隊。我們非常期待看到您使用多攝像頭跟蹤構建的內容,以將物理空間的安全性和可用性提升到更高水平!
?