共用方式為


使用自訂視覺定型模型

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

Azure 自訂視覺是映射辨識服務,可讓您建置、部署及改善自己的映射識別碼。 自訂視覺服務可做為一組原生 SDK,以及透過自訂視覺網站上的網頁型介面來取得。

建立自訂視覺資源和專案

建立自訂視覺資源

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

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

Azure resources selection

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

Packages selection

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

Deploy a new Custom Vision resource

在 自訂視覺 內建立新專案

現在您已建立資源,現在可以在 自訂視覺 內建立定型專案。

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

  2. 選取 New Project 以開啟新的專案對話方塊。

Create a new project

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

注意

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

重要

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

  1. 填入對話方塊之後,請選取 Create project

Finalize your project

上傳訓練資料集

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

  1. 選取您的 FoodClassification 專案以開啟自訂視覺網站的 Web 介面。

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

Add images dialog

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

  2. 在 欄位中輸入 vegetable-fruit ,然後按 UploadMy Tags

Upload images

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

Image upload progress

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

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

Image tags display

定型模型分類器

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

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

Train button

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

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

  1. 在這裡,我們將使用 Quick Training 程式。 Advanced Training 有更多設定,可讓您特別設定用於定型的時間,但我們在這裡不需要該層級的控制。 按 Train 以起始定型程式。

Choose training type

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

Training process

評估及測試

評估結果

完成定型之後,您會看到第一個定型反復專案的摘要。 其中包含模型效能的估計 – 精確度 召回 率。

  • 精確度 表示已識別分類的分數,這些分類正確無誤。 在我們的模型中,精確度為 98.2%,因此,如果我們的模型分類影像,很可能正確預測。
  • 重新叫用 表示正確識別的實際分類分數。 在我們的模型中,召回率為 97.5%,因此我們的模型會適當地分類呈現給它的絕大多數影像。
  • AP 代表其他效能。 這會提供額外的計量,其摘要說明不同臨界值的有效位數和召回率。

Model training evaluation

測試模型

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

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

Test button

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

Select image for testing

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

測試的結果會出現在畫面上。 在我們的測試中,模式已成功將影像分類為 99.8% 確定性。

Test classification results

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

注意

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

將模型匯出至 ONNX

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

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

Export button

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

Choose your format

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

Choose your platform

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

恭喜! 您已成功建置和匯出分類模型。

後續步驟

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