練習 - 整合 Azure 自訂視覺

已完成

在本課程模組中,您將瞭解如何使用 Azure 自定義視覺。 您將拍攝一組追蹤物件相片、將其上傳至自定義視覺服務,並開始訓練程式。 然後,您將使用該服務透過網路攝影機的串流擷取相片來偵測被追蹤的物件。

瞭解 Azure AI 自定義視覺

Azure AI 自定義視覺是認知服務系列的一部分,可用來定型影像分類器。 影像分類器是使用定型模型來套用比對標籤的 AI 服務。 我們的應用程式會使用此分類功能來偵測追蹤的物件。

深入瞭解 自定義視覺

準備自定義視覺

開始之前,您必須建立自定義視覺專案。 建立自定義視覺專案最快的方式是使用自定義視覺入口網站。

請遵循本 快速入門教學課程 來設定您的帳戶和專案。 請遵循上傳 和標記影像 一節的步驟。 您應該建立一個包含五個圖像的標籤。

警告

若要定型模型,您必須至少有兩個標籤,每個標籤至少要有五個影像。 稍後,我們將透過應用程式新增更多映像。 不過,若要使用此應用程式,您至少必須建立一個具有五個影像的標籤,以便稍後定型程式不會失敗。

準備場景

  1. 在 [專案] 視窗中,瀏覽至 資產>MRTK.Tutorials.AzureCloudServices>Prefabs>Manager 資料夾。

    Unity 的螢幕擷取畫面,其中的專案視窗顯示 ObjectDetectionManager 預製物件的路徑。

  2. 從該處,將 ObjectDetectionManager 預製專案拖曳至場景階層。

    Unity 的螢幕快照,其中含有 Inspector 中顯示的 ObjectDetectionManager 腳本元件組態字段。

  3. 在 [階層] 視窗中,找出並選取 ObjectDetectionManager 物件。 ObjectDetectionManager prefab 包含 ObjectDetectionManager (script) 元件,如您可以從偵測器視窗看到,這取決於 Azure 設定和項目設定。

擷取 Azure API 資源認證

您可以從 Azure 入口網站和自定義視覺入口網站擷取 ObjectDetectionManager (script) 設定的必要認證。

取得 Azure 設定憑證

尋找並找出您在本教學課程的準備場景一節中建立之認知服務類型的自定義視覺資源。 在那裡,選取 [ 概觀 ] 或 [ 金鑰] 和 [端點 ] 以擷取必要的認證。

  • Azure 資源訂閱 ID:使用 [概觀] 區段中的訂閱 ID。
  • Azure 資源組名:使用 [ 概觀 ] 區段中的資源組名。

針對 [認知服務群組名稱],請使用自訂視覺資源名稱,後面接著 [-Prediction]

  • 資源基礎預測端點:在自訂視覺 [-Prediction] 資源中使用來自 [金鑰和端點] 的 [端點]。
  • API 預測金鑰:在自訂視覺 [-Prediction] 資源中使用 [金鑰和端點] 中的 [金鑰 1]。

擷取項目設定認證

[Custom Vision] 儀錶板中,開啟您為此教學課程建立的項目,然後選取頁面右上角的 [設定] 圖示,以開啟 [設定] 頁面。 您會在右側的 [ 資源 ] 區段和左側的 [ 一般 ] 區段中找到必要的認證。

  • 資源基底端點 :使用 [ 資源 ] 區段中的 [端點]。 這應符合自訂視覺資源中 [金鑰和端點] 底下的端點。
  • Api 金鑰:使用 [ 資源 ] 區段中的 [金鑰]。 這應該符合自定義視覺資源中 密鑰和端點 底下的金鑰。
  • 項目標識碼:使用 [ 一般 ] 區段中的專案標識碼。
  1. 現在,使用 ObjectDetectionManager (script) 正確設定,在您的場景階層中尋找 SceneController 物件並加以選取。

    Unity 的螢幕快照,其中含有 Inspector 中顯示的 SceneController 腳本元件組態字段。

  2. SceneController 元件中的 [物件偵測管理員] 字段是空的。 將 ObjectDetectionManager 從階層拖曳至 SceneController 元件,然後儲存場景。

    已設定 SceneController 腳本元件的 Unity 螢幕快照。

擷取和上傳影像

  1. 執行場景,然後選取 [設定物件]。 輸入您在上一課中建立的其中一個追蹤物件名稱。 選取物件卡片底部的 [ 計算機視覺 ] 按鈕。

  2. 新的視窗隨即開啟。 您將拍攝六張照片來訓練模型以進行圖像識別。 選取 [ 相機 ] 按鈕並執行 AirTap,以查看您想要追蹤的物件。執行此動作六次。

    小提示

    若要改善模型定型,請嘗試從不同角度和光源條件擷取每個影像。

  3. 一旦您有足夠的影像,請選取 [訓練] 按鈕,以在雲端中啟動模型訓練程序。 這會上傳所有影像並啟動訓練。 過程可能需要幾分鐘。 功能表內的訊息表示目前的進度。 一旦它指出程式完成,您就可以停止應用程式。

    小提示

    ObjectDetectionManager (script) 會直接將拍攝的影像上傳至自定義視覺服務。 或者,自訂視覺 API 會接受影像的 URL。 在練習中,您可以修改 ObjectDetectionManager (script) 將影像上傳至 Blob 儲存體。

警告

如果訓練失敗,請檢查您的自定義視覺儀表板,並確保您至少有兩個標籤,且每個標籤至少有五個圖像。

偵測物件

您現在可以將定型的模型放入測試。 執行應用程式。 從 [主] 功能表中,選取 [搜尋物件 ],然後輸入有問題的追蹤物件名稱。 物件卡片隨即出現。 接下來,選取 [自定義視覺] 按鈕。 *ObjectDetectionManager 會開始從相機背景擷取影像。 功能表會指出應用程式進度。 將相機指向您用來定型模型的物件。 不久,它應該會偵測物件。