Classificazione delle immagini con Visione personalizzata e Windows Machine Learning

Image classification flow

Questa guida illustra come eseguire il training di un modello di rete neurale per classificare le immagini di alimenti usando il servizio Azure Visione personalizzata, esportare il modello in formato ONNX e distribuire il modello in un'applicazione Windows Machine Learning (Windows ML) in esecuzione in locale in un dispositivo Windows. Non sono necessarie competenze precedenti in Machine Learning. Ti guideremo dettagliatamente nel processo.

Se si vuole imparare a compilare ed eseguire il training di un modello con Visione personalizzata, è possibile procedere a Eseguire il training di un modello.

Se si ha un modello e si vuole imparare a creare un'app di Windows ML da zero, vedere l'esercitazione completa sull'app di Windows ML.

Se si vuole iniziare con un progetto di Visual Studio preesistente per un'app di Windows ML, è possibile clonare l'app di esempio di esercitazione di Visione personalizzata e Windows ML e usarla come punto di partenza.

Scenario

In questa esercitazione si creerà un'applicazione di classificazione degli alimenti di Machine Learning eseguita nei dispositivi Windows. Verrà eseguito il training del modello per riconoscere determinati tipi di modelli per classificare un'immagine di cibo e, quando viene fornita un'immagine, verrà restituito un tag di classificazione e il valore di attendibilità percentuale associato di tale classificazione.

Prerequisiti per il training del modello

Per compilare ed eseguire il training di un modello, è necessaria una sottoscrizione ai servizi di Azure Visione personalizzata.

Se non si ha familiarità con Azure, è possibile iscriversi per ottenere un account Azure gratuito. In questo modo sarà possibile creare, eseguire il training e distribuire modelli di Machine Learning con l'intelligenza artificiale di Azure.

Suggerimento

Sono interessati altre informazioni sulle opzioni di iscrizione di Azure e sugli account gratuiti di Azure? Quindi vedere Creare un account Azure.

Prerequisiti per la distribuzione di app di Windows ML

Per creare e distribuire un'app di Windows ML, sono necessari gli elementi seguenti:

  • Windows 10, versione 1809 (build 17763) o successiva. È possibile controllare il numero di versione della build eseguendo winver tramite il comando Esegui (tasto logo Windows + R).
  • Windows SDK per la build 17763 o successiva. Per scaricare, vedi Windows SDK.
  • Visual Studio 2017 versione 15.7 o successiva; è tuttavia consigliabile usare Visual Studio 2022 o versione successiva. Alcuni screenshot di questa esercitazione potrebbero essere diversi dall'interfaccia utente visualizzata. Per scaricare Visual Studio, vedere Download e strumenti per lo sviluppo di Windows.
  • Estensione Windows ML Code Generator (mlgen) di Visual Studio. Scaricarlo per Visual Studio 2019 o versione successiva o per Visual Studio 2017.
  • Se decidi di creare un'app piattaforma UWP (Universal Windows Platform) (UWP), dovrai abilitare il carico di lavoro di sviluppo piattaforma UWP (Universal Windows Platform) in Visual Studio.
  • Abilitare la modalità sviluppatore nel PC: vedi Abilitare il dispositivo per lo sviluppo.

Nota

Le API di Windows ML sono integrate nelle versioni più recenti di Windows 10 (1809 o versioni successive) e Windows Server 2019. Se la piattaforma di destinazione è una versione precedente di Windows, puoi convertire l'app windows ML nel pacchetto NuGet ridistribuibile (Windows 8.1 o versione successiva).

Preparare i dati

I modelli di apprendimento automatico devono essere sottoposti a training con i dati esistenti. In questa guida si userà un set di dati di immagini alimentari di Kaggle Open Datasets. Tale set di dati viene distribuito con la licenza di dominio pubblico.

Importante

Per usare questo set di dati, è necessario rispettare il termine dell'uso del sito Kaggle e le condizioni di licenza che accompagnano il Food-11 set di dati stesso. Microsoft non garantisce alcuna garanzia o rappresentazione relativa al sito o al set di dati.

Il set di dati include tre divisioni, ovvero valutazione, training e convalida, e contiene 16.643 immagini alimentari raggruppate in 11 categorie principali di alimenti. Le immagini nel set di dati di ogni categoria di alimenti vengono inserite in una cartella separata, che rende più conveniente il processo di training del modello.

Scaricare il set di dati dal set di dati immagine Food-11. Il set di dati è di circa 1 GB e potrebbe essere richiesto di creare un account nel sito Web Kaggle per scaricare i dati.

Food image datasaet

Se si preferisce, è possibile usare qualsiasi altro set di dati di immagini pertinenti. Come minimo, è consigliabile usare almeno 30 immagini per tag nel set di training iniziale. È anche opportuno raccogliere alcune immagini aggiuntive per testare il modello dopo il training.

Assicurarsi inoltre che tutte le immagini di training soddisfino i criteri seguenti:

  • .jpgFormato , .png.bmp, o .gif .
  • Dimensioni non superiori a 6 MB (4 MB per le immagini di stima).
  • Non meno di 256 pixel sul bordo più corto; qualsiasi immagine più breve di questa verrà automaticamente ridimensionata dal servizio Visione personalizzata.

Passaggi successivi

Dopo aver ottenuto i prerequisiti ordinati e aver preparato il set di dati, è possibile procedere alla creazione del modello di Windows ML. Nella parte successiva (Eseguire il training del modello con Visione personalizzata), si userà l'interfaccia Visione personalizzata basata sul Web per creare ed eseguire il training del modello di classificazione.