編輯

共用方式為


邊緣和雲端的視訊擷取和物件偵測

Azure Stack Edge
Azure Kubernetes Service (AKS)
Azure SQL Edge
Azure Container Registry

本文介紹如何使用帶有直播攝影機的行動機器人來實現各種使用案例。 此解決方案實作了一個在 Azure Stack Edge 上本機執行的系統,以接收和處理視訊流,並利用 Azure AI 服務執行物體偵測。

架構

此圖顯示了視訊擷取和物件偵測的架構。

下載此架構的 Visio 檔案

工作流程

此工作流程描述了系統如何處理傳入資料:

  1. 安裝在機器人上的攝影機使用即時串流協定 (RTSP) 即時傳輸視訊。

  2. Azure Stack Edge 上 Kubernetes 叢集中的容器會讀取傳入串流,並將視訊分割成單獨的映像。 名為 FFmpeg 的開放原始碼的軟體工具會擷取並處理視訊串流。

  3. 影像會儲存在本機 Azure Stack Edge 儲存體帳戶中。

  4. 每次在儲存體帳戶中儲存新的關鍵影格時,AI Vision 容器都會擷取它。 有關將邏輯分離到多個容器中的資訊,請參閱「情境詳細資訊」。

  5. 當 AI Vision 容器從儲存容器載入關鍵影格時,會將其傳送到雲端中的 Azure AI 服務。 該架構使用 Azure AI 視覺,可透過影像分析實現物件偵測。

  6. 影像分析的結果 (偵測到的物件和信賴度評等) 會傳送到異常偵測容器。

  7. 異常偵測容器會將影像分析和異常偵測的結果儲存在 Azure Stack Edge 的本機 Azure SQL 資料庫執行個體中,以供日後參考。 使用資料庫的本機執行個體可以縮短存取時間,這有助於最大限度地減少資料存取的延遲。

  8. 執行資料處理以偵測傳入即時視訊串流中的任何異常。 如果偵測到異常,前端 UI 會顯示警示。

元件

  • Azure Stack Edge 是一種 Azure 受控裝置,可將 Azure 的計算、儲存體和智慧帶到邊緣。 此架構會使用它來裝載內部部署 Azure 服務,靠近發生異常偵測的位置,從而減少延遲。

  • Azure Stack Edge 上的 Azure Kubernetes Service (AKS)。 Azure Kubernetes Service (AKS) 是受控 Kubernetes 服務,可用來部署和管理容器化應用程式。 在此架構中,我們使用在 Azure Stack Edge 裝置上執行的 AKS 版本來管理負責系統邏輯的容器。

  • Azure Arc 是將 Azure 服務擴展到邊緣的橋樑。 透過在此架構中利用 Azure Arc,我們能夠透過雲端入口網站控制邊緣服務。

  • Azure AI 視覺 是一項提供電腦視覺功能的統一服務。 在此架構中,影像分析功能用於偵測視訊串流關鍵影格中的物件。

  • Azure Blob 儲存體是 Microsoft 針對雲端推出的物件儲存體解決方案。 在此架構中,它用於儲存從視訊串流中提取的關鍵幀影像。

  • Azure SQL Edge 是磁碟使用量低、適用於邊緣且內建 AI 的 SQL 引擎。 在此架構中,我們專門使用 SQL 引擎的邊緣版本來儲存影像分析中繼資料,將其保持在消費和處理服務附近。

  • Azure Container Registry是 Docker 和開放容器計畫 (OCI) 映像的登錄,支援所有 OCI 專案。 在此架構中,登錄會儲存用於異常偵測和 AI 視覺容器的 Docker 容器映像。

  • Azure Key Vault 是一項服務,可在雲端中提供安全的金鑰管理。 在此架構中,它用於儲存機密和金鑰,以允許系統邏輯與無法使用受控身分識別識的外部服務進行互動。

  • Azure 監視器是一種全方位的監視解決方案,可讓您從雲端和內部部署環境中收集、分析及回應監視資料。 在此架構中,該服務是工作負載的主要可檢視性平台。

案例詳細資料

該架構示範了一個處理即時視訊串流、將提取的即時資料與一組參考資料進行比較,並根據結果做出決策的系統。 例如,它可用於對安全位置周圍的圍欄進行定期檢查。

此架構使用 Azure Stack Edge 確保資源最密集的流程在內部部署執行,靠近視訊來源。 這個設計顯著改善了系統的回應時間,這在需要對異常做出立即反應時尤為重要。

由於系統的各個部分作為獨立的容器部署在 Kubernetes 叢集中,因此您可以根據需求只擴展所需的子系統。 例如,如果增加視訊來源的攝影機數量,則可以擴展負責視訊攝取和處理的容器來滿足需求,但將叢集的其餘部分保持在原始水準。

將物件偵測功能卸載到 Azure AI 服務可大幅減少部署此架構所需的專業知識。 除非您對物件偵測的需求非常專業,否則從影像分析服務中獲得的開箱即用方法就已足夠,不需要擁有機器學習方面的知識。

潛在使用案例

  • 監視週邊的安全性

  • 偵測工廠中不安全的工作環境

  • 偵測自動化裝配線中的異常

  • 偵測飛機上是否缺少除冰液

考量

這些考量能實作 Azure Well-Architected Framework 的支柱,這是一組指導原則,可以用來改善工作負載的品質。 如需更多資訊,請參閱 Microsoft Azure 結構完善的架構

可靠性

可靠性可確保您的應用程式符合您對客戶的承諾。 如需詳細資訊,請參閱可靠性支柱的概觀 (部分機器翻譯)。

使用 Azure Stack Edge 的最大優勢之一是您可以在內部部署硬體上取得完全受控的元件。 所有完全受控的 Azure 元件都可以在區域層級自動復原。

此外,在 Kubernetes 叢集中執行系統可讓您將保持子系統健康的責任轉移給 Kubernetes 協調流程系統。

安全性

安全性可提供保證,以避免刻意攻擊和濫用您寶貴的資料和系統。 如需詳細資訊,請參閱安全性支柱的概觀

Microsoft Entra 受控身分識別識別為此架構的所有元件提供安全性。 使用受控身分識別識別無需在程式碼或設定檔中儲存機密。 它簡化了存取控制、憑證管理和角色分配。

成本最佳化

成本最佳化是關於減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱成本最佳化支柱的概觀

若要查看此方案的定價範例,請使用 Azure 定價計算機。 這個情境中最昂貴的元件是 Azure Stack Edge 和 Azure Kubernetes Service。 這些服務提供了擴展系統的能力,以滿足未來不斷增長的需求。

使用 Azure AI 服務進行物件偵測的成本會根據系統運作的時間長短而有所不同。 前面的定價範例是基於每秒生成一張影像並每天執行 8 小時的系統。 對於這種情況,1 FPS 就足夠了。 但是,如果您的系統需要運作更長時間,使用 Azure AI 服務的成本會更高:

效能效益

效能效率可讓您的工作負載進行調整,以有效率的方式符合使用者對其放置的需求。 如需詳細資訊,請參閱效能效率支柱概觀

由於程式碼部署在 Kubernetes 叢集中,因此您可以利用這個強大的協調流程系統的優勢。 由於各個子系統被分成容器,因此您只能擴展應用程式中要求最嚴格的部分。 在基本層面上,透過一個傳入視訊來源,系統可以只包含叢集中的一個節點。 此設計顯著簡化了初始設定。 隨著資料處理需求的成長,您可以透過新增節點輕鬆擴展叢集。

參與者

本文由 Microsoft 維護。 原始投稿人如下。

主要作者:

其他投稿人:

若要查看非公開的 LinkedIn 設定檔,請登入 LinkedIn。

下一步

產品文件:

指導學習路徑: