共用方式為


使用自訂視覺訓練您的模型

在本教學課程 的上一個階段中,我們已討論建立您自己的 Windows Machine Learning 模型和應用程式的必要條件,並下載要使用的映像集。 在此階段中,我們將瞭解如何使用 Web 型自定義視覺介面,將影像集轉換成影像分類模型。

Azure 自定義視覺是影像辨識服務,可讓您建置、部署及改善您自己的映像標識符。 Custom Vision 服務提供一組原生 SDK,並可以透過 Custom Vision 網站的網頁介面使用。

建立自定義視覺資源和專案

建立自定義視覺資源

若要使用自定義視覺服務,您必須在 Azure 中建立自定義視覺資源。

  1. 瀏覽至 Azure 帳戶的主頁面,然後選取 Create a resource

Azure 資源選取

  1. 在搜尋方塊中,搜尋 Custom Vision,然後輸入 Azure Marketplace。 選取 Create Custom Vision 以開啟 [建立自定義視覺] 頁面上的對話框視窗。

套件選擇

  1. 在 [自定義視覺] 頁面上,選擇下列項目:
  • 選取 TrainingPrediction 資源。
  • 選取訂用帳戶以管理已部署資源。 如果您沒有在功能表中看到您的 Azure 訂用帳戶,請使用您用來開啟帳戶的相同認證註銷並重新開啟您的 Azure 帳戶。
  • 建立新的資源群組,併為其命名。 在本教學課程中,我們將其命名為MLTraining,但您可以隨意選擇自己的名稱,或如果您已經有資源群組,請使用現有的資源群組。
  • 為專案命名。 在本教學課程中,我們已將我們的命名為 classificationApp,但您可以使用任何您選擇的名稱。
  • 針對TrainingPrediction兩者資源,將位置設定為US美國東部,並將定價層級設定為免費FO
  1. Review + create 以部署您的自定義視覺資源。 部署資源可能需要幾分鐘的時間。

部署新的自定義視覺資源

在自定義視覺中建立新專案

現在您已建立資源,現在可以在自定義視覺中建立訓練專案。

  1. 在您的網頁瀏覽器中,瀏覽至 [自訂視覺 ] 頁面,然後選取 Sign in。 使用您用來登入 Azure 入口網站的相同帳戶登入。

  2. 選取 New Project 以開啟新的項目對話框。

建立新專案

  1. 建立新的專案,如下所示:
  • Name:食物分類。
  • Description:不同類型的食物分類。
  • Resource:保留您先前開啟的相同資源 – ClassificationApp [F0]
  • Project Typesclassification
  • Classification TypesMultilabel (Multiple tags per image)
  • DomainsFood (compact)
  • Export CapabilitiesBasic platforms (Tensorflow, CoreML, ONNX, ...)

備註

若要匯出至 ONNX 格式,請確定您選擇網域 Food (compact) 。 無法將非精簡網域匯出至 ONNX。

這很重要

如果您的登入帳戶與 Azure 帳戶相關聯,[資源群組] 下拉式清單會顯示所有包含自定義視覺服務資源的 Azure 資源群組。 如果沒有可用的資源群組,請確認您已使用您用來登入 Azure 入口網站的相同帳戶登入 customvision.ai。

  1. 填入對話框之後,請選擇 Create project

完成您的專案

上傳訓練數據集

既然您已建立專案,您將會從 Kaggle Open Datasets 上傳先前準備的食品影像數據集。

  1. 選取您的 FoodClassification 項目以開啟自定義視覺網站的 Web 介面。

  2. 選取Add images按鈕,然後選擇Browse local files

[新增影像] 對話框

  1. 瀏覽至影像資料集的位置,然後選取訓練資料夾 – vegetable-fruit。 選取資料夾中的所有影像,然後選取 open。 標記選項將會開啟。

  2. vegetable-fruit 欄位中輸入 My Tags ,然後按 Upload

上傳影像

等到第一組影像上傳至您的項目,然後按 done。 標籤選取專案會套用至您選取要上傳的整個影像群組。 這就是為什麼從已預先建置的映像群組上傳影像會比較容易。 上傳個別影像之後,您一律可以變更這些影像的標籤。

影像上傳進度

  1. 成功上傳第一組影像后,再重複兩次程式,上傳甜點和湯的圖像。 請務必替它們貼上相關的標籤。

最後,您將有三個不同的影像群組可供訓練。

影像標籤顯示

訓練模型分類器

您現在將訓練模型,以分類您在上一個部分中下載的一組影像中的蔬菜、湯和甜點。

  1. 若要開始訓練過程,請選取右上角的 Train 按鈕。 分類器會使用影像來建立模型,以識別每個標記的視覺品質。

學習按鈕

您可以選擇使用左上角的滑桿來變更機率臨界值。 機率臨界值會設定預測必須擁有的信賴等級,才能視為正確。 如果機率臨界值太高,您將會有更多正確的分類,但受到偵測的數量會減少。 另一方面,如果機率臨界值太低,您將檢測到更多的分類,但信賴度較低或有更多誤判的結果。

在本教學課程中,您可以將機率臨界值保持在 50%。

  1. 在這裡,我們將使用 Quick Training 程式。 Advanced Training 有更多的設定功能,可以讓您特別設定培訓所需的時間,但我們在這裡不需要如此精細的控制。 按 Train 以開始訓練過程。

選擇訓練類型

快速訓練過程只需要幾分鐘的時間才能完成。 在此期間,訓練過程的相關信息會顯示在 Performance 索引標籤中。

訓練過程

評估及測試

評估結果

完成訓練後,您會看到首次訓練次數的摘要。 其中包含模型效能的估計 – 精確度召回率。

  • 精確度 表示在所有已識別分類中正確分類的比例。 在我們的模型中,精確度為98.2%,因此,如果我們的模型分類影像,很可能可以正確預測。
  • 召回率 表示在實際分類中正確識別的比例。 在我們的模型中,召回率是97.5%,因此我們的模型會適當地分類呈現給它的絕大多數影像。
  • AP 代表其他效能。 這提供額外的指標,用於總結在不同臨界值下的精確度和召回率。

模型定型評估

測試模型

匯出模型之前,您可以測試其效能。

  1. 選取 Quick Test 頂端功能表列右上角的 ,以開啟新的測試視窗。

測試按鈕

在此視窗中,您可以提供要測試之影像的 URL,或選取 Browse local files 以使用本機儲存的影像。

選取要測試的影像

  1. 選擇 Browse local files,流覽至食物數據集,然後開啟驗證資料夾。 從 fruit-vegetable 資料夾中選擇任何隨機影像,然後按 open

測試的結果會出現在畫面上。 在我們的測試中,模型成功地以99.8% 的置信度將影像分類。

測試分類結果

您可以在 Predictions 分頁標籤中使用預測來訓練,以提升模型效能。 如需詳細資訊,請參閱 如何改善分類器

備註

有興趣深入瞭解 Azure 自定義視覺 API 嗎? 自定義視覺服務檔提供有關自定義視覺入口網站和 SDK 的詳細資訊。

將模型導出至 ONNX

現在我們已將模型定型,我們可以將其導出至 ONNX。

  1. 選取索引 Performance 標籤,然後選擇 Export 開啟匯出視窗。

[匯出] 按鈕

  1. 選取 ONNX 以將模型匯出至 ONNX 格式。

選擇您的格式

  1. 如有需要,您可以選擇 ONNX 16 float 選項,但在本教學課程中,我們不需要變更任何設定。 選取 Export and Download

選擇您的平臺

  1. 開啟下載的 .zip 檔案,並從中擷取 model.onnx 檔案。 此檔案包含分類器模型。

祝賀! 您已成功建置和匯出分類模型。

後續步驟

既然我們有分類模型,下一個步驟是建置 Windows 應用程式,並在您的 Windows 裝置本機執行。