使用 自訂視覺 和 Windows 機器學習 進行影像分類

Image classification flow

本指南說明如何:定型類神經網路模型,以使用 Azure 自訂視覺 服務分類食物的影像、將模型匯出至 ONNX 格式;以及在 Windows 裝置本機執行的 Windows 機器學習 (Windows ML) 應用程式中部署模型。 您不需要任何先前在機器學習方面的專業知識! 我們將逐步引導您完成此程式。

如果您想要瞭解如何使用自訂視覺建置和定型模型,您可以繼續訓練 模型

如果您有模型,而且想要瞭解如何從頭開始建立 Windows ML 應用程式,請參閱完整的 Windows ML 應用程式教學課程

如果您想要從適用于 Windows ML 應用程式的預先存在的 Visual Studio 專案開始,則可以複製 自訂視覺 和 Windows ML 教學課程範例應用程式,並使用該專案作為起點。

案例

在本教學課程中,我們將建立在 Windows 裝置上執行的機器學習食品分類應用程式。 模型會定型以辨識特定類型的模式來分類食物的影像,並在指定影像時傳回分類標記和該分類的相關百分比信賴值。

模型定型的必要條件

若要建置和定型模型,您需要 Azure 自訂視覺 服務的訂用帳戶。

如果您不熟悉 Azure,則可以註冊 Azure 免費帳戶 。 這可讓您有機會使用 Azure AI 建置、定型及部署機器學習模型。

提示

您是否有興趣深入瞭解 Azure 註冊選項和 Azure 免費帳戶? 然後查看 建立 Azure 帳戶

Windows ML 應用程式部署的必要條件

若要建立及部署 Windows ML 應用程式,您需要下列專案:

  • Windows 10 版本 1809(組建 17763) 或更新版本。 您可以透過 winver [執行 ] 命令執行來檢查組建版本號碼(Windows 標誌鍵 + R)。
  • 適用于組建 17763 或更新版本的 Windows SDK。 若要下載,請參閱 Windows SDK
  • Visual Studio 2017 15.7 版或更新版本;但建議您使用 Visual Studio 2022 或更新版本。 本教學課程中的某些螢幕擷取畫面可能與您將看到的 UI 不同。 若要下載 Visual Studio,請參閱 下載和 Windows 開發 工具。
  • Windows ML 程式碼產生器 ( mlgen ) Visual Studio 擴充功能。 下載 Visual Studio 2019 或更新版本 或 Visual Studio 2017
  • 如果您決定建立 通用 Windows 平臺 (UWP) 應用程式,則必須在 Visual Studio 中啟用通用 Windows 平臺開發工作負載。
  • 在您的電腦上啟用開發人員模式-請參閱 啟用您的裝置以進行開發

注意

Windows ML API 內建至最新版的 Windows 10(1809 或更高版本)和 Windows Server 2019。 如果您的目標平臺是舊版 Windows,您可以將 Windows ML 應用程式移植到可轉散發的 NuGet 套件(Windows 8.1 或更高版本)。

準備資料

機器學習模型必須使用現有的資料定型。 在本指南中,您將使用 Kaggle Open Datasets 中食物影像的資料集。 該資料集會以公用網域授權散發。

重要

若要使用此資料集,您必須遵守使用 Kaggle 網站的詞彙,以及隨附資料集本身的 Food-11 授權條款。 Microsoft 不會對網站或此資料集提出任何擔保或表示。

資料集有三個分割:評估、定型和驗證,並包含 16,643 個食物影像,分組為 11 個主要食品類別。 每個食物類別資料集中的影像會放在個別的資料夾中,讓模型定型程式更方便。

Food-11 影像資料集下載資料集 。 資料集的大小約為 1 GB,您可能會被要求在 Kaggle 網站上建立帳戶以下載資料。

Food image datasaet

如果您想要的話,歡迎使用任何其他相關影像資料集。 我們建議您至少在初始定型集中使用每個標記 30 個影像。 您也會想要收集一些額外的影像,以在模型定型之後進行測試。

此外,請確定所有定型影像都符合下列準則:

  • .jpg.png.bmp.gif 格式。
  • 大小不超過 6 MB(預測影像為 4 MB)。
  • 最短邊緣不小於 256 圖元;比這個短的任何影像都會由 自訂視覺 服務自動相應增加。

下一步

既然您已整理好必要條件,並備妥資料集,您可以繼續建立 Windows ML 模型。 在下一個部分中( 使用 自訂視覺 定型模型),您將使用 Web 型自訂視覺介面來建立和定型分類模型。