編輯

共用方式為


製造邊緣的端對端電腦視覺

Azure Data Factory
Azure IoT Edge
Azure IoT 中樞
Azure Machine Learning
Azure Pipelines

此範例架構顯示製造中物聯網 (IoT) 電腦視覺的端對端方法。

架構

此圖顯示從邊緣到雲端和後端的端對端電腦視覺方法。

下載此架構的 Visio 檔案

資料流程

  1. IoT Edge 自訂模組會擷取即時影片串流、將其細分為畫面,以及對影像資料執行推斷,以判斷事件是否已發生。
  2. 自訂模組也會使用 Azure 記憶體 SDK 方法或 Blob API,將原始影片檔上傳至 Azure 儲存體,做為原始媒體存放區。
  3. 自訂模組會將推斷結果和中繼資料傳送至 Azure IoT 中樞,做為雙向通訊的中央訊息中樞。
  4. Azure Logic Apps 會監視有關事件活動的訊息 IoT 中樞。 Logic Apps 會將推斷結果和中繼資料路由傳送至 Microsoft Dataverse 進行儲存。
  5. 發生事件時,Logic Apps 會將 SMS 和電子郵件通知傳送給現場工程師。 現場工程師使用以 Power Apps 為基礎的行動應用程式來確認並解決該事件。
  6. Power Apps 從 Dataverse 提取推斷結果和中繼資料,以及 Blob 儲存體的原始影片檔,以顯示事件的相關資訊。 Power Apps 會使用現場工程師所提供的事件解決方案來更新 Dataverse。 此步驟可做為模型再訓練目的之人機互動驗證。
  7. Azure Data Factory 是一種資料協調器,可從原始媒體存放區擷取原始影片檔,並從 Dataverse 取得對應的推斷結果和中繼資料。
  8. Data Factory 會將原始影片檔連同中繼資料一起儲存在 Azure Data Lake 中,以充當稽核用途的影片封存。
  9. Data Factory 會將原始影片檔分成畫面、將推斷結果轉換成標籤,並將資料上傳至 Blob 儲存體,以做為 ML 資料存放區。
  10. 模型程式碼的變更會自動觸發 Azure Pipelines 模型協調器管線,運算子也可以手動觸發。 程式碼變更也會在 Azure Machine Learning 中啟動 ML 模型訓練和驗證程序。
  11. Azure Machine Learning 會驗證 ML 資料存放區中的資料,並將所需的資料集複製到 Azure 進階 Blob 儲存體,藉以開始訓練模型。 此效能層級提供資料快取,可加快模型訓練的速度。
  12. Azure Machine Learning 會使用進階資料快取中的資料集來訓練模型、驗證經過訓練之模型的效能、為針對剛訓練的模型評分,並將模型註冊至 Azure Machine Learning 登錄。
  13. Azure Pipelines 模型協調器會檢閱剛訓練 ML 模型的效能,判定其是否優於先前的模型。 如果新模型執行效率更佳,管線會從 Azure Machine Learning 下載模型,並建置新版本的 ML 推斷模組,以在 Azure Container Registry 中發佈。
  14. 當新的 ML 推斷模組準備就緒時,Azure Pipelines 會將模組容器從 Container Registry 部署到 IoT 中樞的 IoT Edge 模組。
  15. IoT 中樞使用新的 ML 推斷模組更新 IoT Edge 裝置。

元件

  • Azure IoT Edge 服務會在本機分析裝置資料,以將較少的資料傳送至雲端、快速回應事件,以及在低連線能力下運作。 IoT Edge ML 模組可以從串流影片資料擷取可付諸行動的深入解析。
  • Azure IoT 中樞是一項受管服務,可在數百萬台 IoT 裝置和雲端式後端之間實現可靠且安全的雙向通訊。 IoT 中樞提供各裝置驗證、訊息路由、與其他 Azure 服務整合及管理功能,以控制和設定 IoT 裝置。
  • Azure Logic Apps 是無伺服器的雲端服務,可用於建立和執行整合應用程式、資料、服務和系統的自動化工作流程。 開發人員可以使用可做出視覺效果的設計工具,以排程及協調一般工作的工作流程。 Logic Apps 具有許多熱門雲端服務、內部部署產品和其他軟體即服務 (SaaS) 應用程式的連接器。 在這個解決方案中,Logic Apps 會執行自動化通知工作流程,將 SMS 和電子郵件警示傳送給現場工程師。
  • Power Apps 是資料平台和一套應用程式、服務及連接器。 該應用程式可做為快速的應用程式開發環境。 該基礎資料平台是 Microsoft Dataverse。
  • Dataverse 是 Power Apps 的雲端式儲存平台。 Dataverse 支援人機迴圈通知,並儲存與 MLOps 資料管線相關聯的中繼資料。
  • Azure Blob 儲存體 是非結構化資料的可調整且安全的物件儲存體。 您可以將其用於封存、資料湖、高效能運算、機器學習和雲端原生工作負載。 在此解決方案中,Blob 儲存體會提供 ML 資料存放區的本機資料存放區,以及用於訓練 ML 模型的進階資料快取。 Blob 儲存體的進階層級適用於需要快速回應時間和高交易速率的工作負載,例如此範例中的人機迴圈影片標籤。
  • Data Lake Storage 是可大規模調整且安全的儲存服務,適用於高效能分析工作負載。 資料通常來自多個結構化、半結構化或非結構化形式的異質來源。 Azure Data Lake Storage Gen2 將 Azure Data Lake Storage Gen1 功能與 Blob 儲存體結合,並提供檔案系統語意、檔案層級安全性和規模。 此外還具備 Blob 儲存體的分層式儲存、高可用性和災難復原能力。 在此解決方案中,Data Lake Storage 提供原始影片檔和中繼資料的封存影片存放區。
  • Azure Data Factory 是適用於資料整合及轉換工作流程的混合式、完全受控的無伺服器解決方案。 此解決方案提供無程式碼 UI 和易於使用的監視面板。 Azure Data Factory 使用管道移動資料。 對應資料流會執行各種轉換工作,例如擷取、轉換和載入 (ETL) 和擷取、載入和轉換 (ELT)。 在此範例中,Data Factory 將 ETL 管線中的資料協調至推斷資料,以供重新訓練之用。
  • Azure Machine Learning 是企業級機器學習服務,可快速建置和部署模型。 該服務提供所有技能層級的使用者,具有低程式碼設計工具、自動化機器學習,以及支援各種 IDE 的託管 Jupyter Notebook 環境。
  • Azure PipelinesAzure DevOps 團隊開發人員服務的一部分,可建立持續整合 (CI) 及持續部署 (CD) 管線。 在此範例中,Azure Pipelines 模型協調器會驗證 ML 程式碼、觸發無伺服器工作管線、比較 ML 模型,以及建置推斷容器。
  • Container Registry 會建立和管理 Docker 登錄 ,以建置、存放和管理 Docker 容器映像,包括容器化 ML 模型。
  • Azure 監視器 會從 Azure 資源收集遙測資料,讓各工作小組可以主動找出問題,並將效能和可靠性最大化。

替代項目

您可以將 Azure Blob 儲存體模組部署到 IoT Edge 裝置,而不是使用資料管線將視訊串流分解成影像畫面。 推斷模組接著會將推斷的影像畫面上傳至邊緣裝置上的儲存體模組。 儲存體模組會判定何時將畫面訊號框直接上傳至 ML 資料存放區。 這種方法的優點是它會從資料管線中移除步驟。 權衡做法是邊緣裝置與 Azure Blob 儲存體緊密結合。

對於模型協調流程,您可以使用 Azure Pipelines 或 Azure Data Factory。

  • Azure Pipelines 的優點是其與 ML 模型程式碼關係密切。 您可以透過 CI/CD,利用程式碼變更輕鬆地觸發訓練管線,
  • Data Factory 的優點是每個管線都可以佈建所需的運算資源。 Data Factory 不會緊抓 Azure Pipelines 代理程式來執行 ML 訓練,因為這可能會使一般 CI/CD 流程變擁擠。

案例詳細資料

完全自動化的智慧工廠會使用人工智慧 (AI) 和機器學習 (ML),隨時間分析資料、執行系統及改良程序。

在此範例中,攝影機會將影像傳送至執行 ML 模型的 Azure IoT Edge 裝置。 模型會計算推斷,並將可付諸行動的輸出傳送至雲端以進一步處理。 人力干預是 ML 模型擷取的情報的一部分。 ML 程序是訓練、測試、微調及驗證 ML 演算法的連續工作週期。

潛在使用案例

製造流程在安全性和品質保證應用程式中會使用 IoT 電腦視覺。 IoT 電腦視覺系統可以:

  • 協助確保符合製造指導方針,例如適當標籤。
  • 識別製造缺陷,例如表面不均衡。
  • 藉由監視建築物或區域入口來增強安全性。
  • 透過偵測個人防護設備 (PPE) 使用和其他安全做法,維護工作人員的安全。

考量

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

可靠性

可靠性可確保您的應用程式可以符合您對客戶的承諾。 如需詳細資訊,請參閱 可靠性的設計檢閱檢查清單。

ML 型應用程式通常需要一組資源來進行訓練,另一組資源則用於服務。 訓練資源通常不需要高可用性,因為即時生產要求並不會直接使用這些資源。 服務要求所需的資源需要具備高可用性。

安全性

安全性可提供保證,以避免刻意攻擊和濫用您寶貴的資料和系統。 如需詳細資訊,請參閱 安全性的設計檢閱檢查清單。

Dataverse 和其他 Azure 服務的存取管理,有助於確保只有授權使用者才能存取環境、資料和報表。 此解決方案會使用 Azure Key Vault 管理密碼和秘密。 儲存體會使用客戶管理的金鑰進行加密。

如需設計安全 IoT 解決方案的一般指引,請參閱 Azure 安全性檔

成本優化

成本優化是考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱 成本優化的設計檢閱檢查清單。

通常會使用 Azure 定價計算機估算成本。 有關其他考量,請參閱成本最佳化

Azure Machine Learning 也會部署 Container Registry、Azure 儲存體 和 Azure Key Vault 服務,但這會產生額外費用。 如需詳細資訊,請參閱 Azure Machine Learning 如何運作:架構和概念

Azure Machine Learning 定價包含用來在雲端中訓練模型的虛擬機器 (VM) 的費用。 有關每個 Azure 區域的 Azure Machine Learning 和 VM 的可用性資訊,請參閱各地區的產品供應狀況

卓越營運

卓越營運涵蓋部署應用程式的作業程式,並讓它在生產環境中執行。 如需詳細資訊,請參閱 Operational Excellence的設計檢閱檢查清單。

此解決方案分為三個作業區:

  • IoT作業中,邊緣裝置上的ML模型會使用來自連線相機的即時影像來推斷視訊畫面。 邊緣裝置也會將快取的視訊串流傳送至雲端儲存體,以用於稽核及模型重新訓練。 在 ML 重新訓練之後,Azure IoT 中樞會使用新的 ML 推斷模組更新邊緣裝置。

  • MLOps 使用 DevOps 做法協調模型訓練、測試和部署作業。 MLOps 生命週期管理會將使用 ML 模型進行複雜決策的程序自動化,或將模型生產化。 MLOps 的關鍵在於在建置、訓練、評估及部署 ML 模型的小組之間緊密協調。

  • 人機迴圈互動作業會通知人員在自動化的某些步驟進行干預。 在人機迴圈的互動交易中,背景工作會檢查和評估機器學習所預測的結果。 人力干預會成為 ML 模型擷取之情報的一部分,並協助驗證模型。

    下列人力角色是此解決方案的一部分:

    • 現場工程師會收到 Logic Apps 傳送的事件通知,並手動驗證 ML 模型的結果或預測。 例如,現場工程師可能會檢查模型預測失敗的閥值。

    • 資料標記工具為資料集加上重新訓練的標籤資料,以完成端對端解決方案的迴圈。 資料標記流程對於影像資料來說特別重要,因為這是透過演算法訓練可靠模型的第一個步驟。 在此範例中,Azure Data Factory 會將影片畫面整理成正判和誤判群組,讓資料標記的工作更容易進行。

    • 資料科學家使用加上標籤的資料集來訓練演算法,以做出正確的實際預測。 資料科學家在 CI 程序中搭配 GitHub Actions 或 Azure Pipelines,使用 MLOps 來自動訓練和驗證模型。 您可以手動觸發訓練,或藉由簽入新的訓練指令碼或資料自動觸發訓練。 資料科學家可在 Azure Machine Learning 工作區中工作,以自動註冊、部署和管理模型。

    • IoT 工程師會使用 Azure Pipelines 將容器中的 IoT Edge 模組發佈至 Container Registry。 工程師可以藉由使用 CD 管線,隨需部署和調整基礎結構。

    • 安全稽核員會檢閱封存的視訊串流,以偵測異常狀況、評估合規性,以及確認當發生模型預測的問題時的結果。

    在此解決方案中,IoT 中樞從相機擷取遙測資料,並將計量傳送至 Azure 監視器,以讓現場工程師可以調查和排解問題。 Azure Machine Learning 會將可觀察性計量和模型遙測資料傳送至 Azure 監視器,協助 IoT 工程師和資料科學家將作業流程最佳化。

效能效率

效能效率是工作負載調整的能力,以符合使用者以有效率的方式滿足其需求。 如需詳細資訊,請參閱 效能效率的設計檢閱檢查清單。

IoT 裝置的記憶體和處理能力有限,因此請務必限制傳送至該裝置的模型容器大小。 請務必使用可進行模型推斷的 IoT 裝置,並在可接受的時間內產生結果。

為了最佳化訓練模型的效能,此範例架構會使用 Azure 進階 Blob 儲存體。 此效能層級是針對需要快速回應時間和高交易速率的工作負載設計的,例如人機迴圈影片標記案例。

效能考量也適用於資料擷取管線。 Data Factory 藉由提供高效能且符合成本效益的解決方案,將資料移動最大化。

延展性

此解決方案中使用的大部分元件,都是自動調整的受控服務。

IoT 應用程式的延展性取決於 IoT 中樞配額和節流。 考量因素包括:

  • IoT 中樞每日訊息配額上限。
  • IoT 中樞執行個體中已連線裝置的配額。
  • 擷取和處理輸送量。

在 ML 中,延展性是指擴展可用於對照大型資料集訓練模型的叢集。 延展性也可讓 ML 模型符合取用該模型的應用程式要求。 為了符合這些需求,ML 叢集必須在 CPU 和支援圖形處理單位 (GPU) 的節點上提供向外擴展。

參與者

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

主要作者:

下一步