Leggere in inglese

Condividi tramite


Creare un modello di Image Analysis personalizzato

Importante

Questa funzionalità è ora deprecata. Il 10 gennaio 2025, l'API di anteprima Analisi immagini di Intelligenza artificiale di Azure 4.0, Rilevamento oggetti personalizzati e Riconoscimento del prodotto verrà ritirata. Dopo questa data, le chiamate API a questi servizi avranno esito negativo.

Per mantenere il funzionamento dei modelli, passare a Visione personalizzata di Azure AI, ora disponibile a livello generale. Visione personalizzata offre funzionalità simili a quelle in fase di ritiro.

Image Analysis 4.0 consente di eseguire il training di un modello personalizzato con immagini di training personalizzate. Assegnando manualmente delle etichette alle immagini, è possibile eseguire il training di un modello per applicare tag personalizzati alle immagini (classificazione immagini), oppure per rilevare oggetti personalizzati (rilevamento oggetti). I modelli di analisi delle immagini 4.0 sono particolarmente efficaci durante l'apprendimento con pochi scatti , quindi è possibile ottenere modelli accurati con meno dati di training.

Nella presente guida si illustra come creare ed eseguire il training di un modello di classificazione immagini personalizzato. Sono indicate alcune differenze tra il training di un modello di classificazione immagini e il modello di rilevamento oggetti.

Nota

La personalizzazione del modello è disponibile tramite l'API REST e Vision Studio, ma non tramite gli SDK del linguaggio client.

Prerequisiti

  • Una sottoscrizione di Azure. È possibile crearne uno gratuitamente.
  • Dopo aver creato la sottoscrizione di Azure, creare una risorsa di Visione nel portale di Azure per ottenere la chiave e l'endpoint. Se si seguono le istruzioni della presente guida utilizzando Vision Studio, è necessario creare la risorsa nell'area Stati Uniti orientali. Al termine della distribuzione, fare clic su Vai alla risorsa. Copiare la chiave e l'endpoint in un percorso temporaneo per un uso successivo.
  • Una risorsa di Archiviazione di Azure. Creare una risorsa di archiviazione.
  • Un set di immagini con cui eseguire il training del modello di classificazione. È possibile usare il set di immagini di esempio in GitHub. In alternativa, è possibile usare immagini personalizzate. Sono sufficienti circa 3-5 immagini per classe.

Nota

Non è consigliabile usare modelli personalizzati per ambienti business critical a causa di una potenziale latenza elevata. Quando i clienti eseguono il training di modelli personalizzati in Vision Studio, tali modelli appartengono alla risorsa Visione con la quale sono stati sottoposti a training, quindi il cliente è in grado di effettuare chiamate a questi modelli tramite l'API Analizza immagine. Quando si effettuano queste chiamate, il modello personalizzato viene caricato in memoria e l'infrastruttura di previsione viene inizializzata. Quando ciò accade, i clienti potrebbero riscontrare una latenza più lunga del previsto prima di ricevere i risultati della previsione.

Creazione di un nuovo modello personalizzato

Per iniziare, passare a Vision Studio e selezionare la scheda di analisi immagini. Selezionare quindi il riquadro Modelli personalizzati.

Screenshot del riquadro Personalizza modelli.

Successivamente, accedere con l'account di Azure e selezionare la risorsa Visione. Se non è presente, è possibile crearne una da questa schermata.

Screenshot della schermata di selezione risorsa.

Preparare le immagini per eseguire il training

Sarà necessario caricare i dati di training in un contenitore di Archiviazione BLOB di Azure. Passare alla risorsa di archiviazione nel portale di Azure e passare alla scheda Browser archiviazione. Qui è possibile creare un contenitore BLOB e caricare le immagini. Inserirle tutte nella radice del contenitore.

Aggiungere un set di dati

Per eseguire il training di un modello personalizzato, è necessario associarlo a un Set di dati nel quale siano presenti le immagini e le relative informazioni sull'etichetta come dati di training. In Vision Studio, selezionare la scheda Set di dati per visualizzare i set di dati.

Per creare un nuovo set di dati, selezionare Aggiungi nuovo set di dati. Nella finestra popup immettere un nome e selezionare un tipo di set di dati per il caso d'uso. I modelli di classificazione delle immagini applicano etichette di contenuto all'intera immagine, mentre i modelli di rilevamento oggetti applicano etichette oggetti a posizioni specifiche nell'immagine. I modelli di riconoscimento dei prodotti sono una sottocategoria di modelli di rilevamento oggetti ottimizzati per il rilevamento dei prodotti al dettaglio.

Schermate della finestra di dialogo Crea nuovo set di dati.

Selezionare quindi il contenitore dall'account di Archiviazione BLOB di Azure in cui sono state archiviate le immagini di training. Selezionare la casella per consentire a Vision Studio l'accesso in lettura e scrittura nel contenitore di archiviazione BLOB. Questo è un passaggio necessario per importare i dati con etichetta. Creazione del set di dati.

Creare un progetto di etichettatura di Azure Machine Learning

Per trasmettere le informazioni sull'etichettatura è necessario disporre di un file COCO. Un modo semplice per generare un file COCO consiste nel creare un progetto di Azure Machine Learning, contenente un flusso di lavoro di etichettatura dei dati.

Nella pagina dei dettagli del set di dati, selezionare Aggiungi nuovo progetto di etichettatura dei dati. Denominarlo e selezionare Crea nuova area di lavoro. Verrà visualizzata una nuova scheda del portale di Azure dove è possibile creare il progetto di Azure Machine Learning.

Screenshot di Create Azure Machine Learning Data Labeling project (Creare un progetto di etichettatura dati di Azure Machine Learning).

Dopo aver creato il progetto di Azure Machine Learning, tornare alla scheda Vision Studio e selezionarlo in Area di lavoro. Il portale di Azure Machine Learning si apre in una nuova scheda del browser.

Creare etichette

Per avviare l'etichettatura, seguire le istruzioni della richiesta Aggiungi classi di etichette per aggiungere le classi di etichette.

Screenshot che mostra il pulsante Aggiungi classi di etichette.

Screenshot che mostra il pulsante Aggiungi categorie di etichette.

Dopo aver aggiunto tutte le etichette di classe, salvarle, selezionare Avvia nel progetto e quindi selezionare Etichetta dati nella parte superiore.

Screenshot che mostra il pulsante Start labeling data (Avvia etichettatura dei dati).

Etichettare manualmente i dati di training

Scegliere Avvia etichettatura e seguire le istruzioni delle richieste per etichettare tutte le immagini. Al termine, tornare alla scheda Vision Studio nel browser.

A questo punto, selezionare Aggiungi file COCO, quindi scegliere Importa file COCO da un progetto di etichettatura dei dati di Azure ML. I dati con etichetta vengono importati da Azure Machine Learning.

Il file COCO creato viene ora archiviato nel contenitore Archiviazione di Azure collegato a questo progetto. È ora possibile importarlo nel flusso di lavoro di personalizzazione del modello. selezionare l'ID nell'elenco a discesa. Una volta importato il file COCO nel set di dati, quest'ultimo può essere utilizzato per eseguire il training di un modello.

Nota

Se si vuole importare un file COCO pronto, passare alla scheda Set di dati e selezionare Aggiungi file COCO a questo set di dati. È possibile scegliere di aggiungere un file COCO specifico da un account di archiviazione BLOB o di importare dal progetto di etichettatura di Azure Machine Learning.

Attualmente, Microsoft sta risolvendo un problema che causa l'esito negativo dell'importazione di file COCO con set di dati di grandi dimensioni quando viene avviato in Vision Studio. Per eseguire il training con un set di dati di grandi dimensioni, è consigliabile, in alternativa, utilizzare l'API REST.

Screenshot della finestra di dialogo Importa file COCO.

Informazioni sui file COCO

I file COCO sono file JSON con campi obbligatori specifici: "images", "annotations" e "categories". Un file COCO di esempio ha un aspetto simile al seguente:

{
 "images": [
   {
     "id": 1,
     "width": 500,
     "height": 828,
     "file_name": "0.jpg",
     "absolute_url": "https://blobstorage1.blob.core.windows.net/cpgcontainer/0.jpg"
   },
    {
      "id": 2,
      "width": 754,
      "height": 832,
      "file_name": "1.jpg",
      "absolute_url": "https://blobstorage1.blob.core.windows.net/cpgcontainer/1.jpg"
    },

   ...

  ],
  "annotations": [
    {
      "id": 1,
      "category_id": 7,
      "image_id": 1,
      "area": 0.407,
      "bbox": [
        0.02663142641129032,
        0.40691584277841153,
        0.9524163571731749,
        0.42766634515266866
      ]
    },
    {
      "id": 2,
      "category_id": 9,
      "image_id": 2,
      "area": 0.27,
      "bbox": [
        0.11803319477782331,
        0.41586723392402375,
        0.7765206955096307,
        0.3483334397217212
      ]
    },
    ...

  ],
  "categories": [
    {
      "id": 1,
      "name": "vegall original mixed vegetables"
    },
    {
      "id": 2,
      "name": "Amy's organic soups lentil vegetable"
    },
    {
      "id": 3,
      "name": "Arrowhead 8oz"
    },

    ...

  ]
}

Informazioni di riferimento sui campi del file COCO

Se si genera un file COCO partendo da zero, assicurarsi che tutti i campi obbligatori siano stati compilati con i dati corretti. Le tabelle seguenti descrivono tutti i campi presenti in un file COCO:

"immagini"

Chiave Type Description Obbligatorio?
id integer ID immagine univoco, a partire da 1
width integer Larghezza dell'immagine in pixel
height integer Altezza dell'immagine in pixel
file_name string Nome univoco dell’immagine
absolute_url oppure coco_url string Percorso dell’immagine come URI assoluto in un BLOB in un contenitore BLOB. La risorsa Visione deve avere l'autorizzazione a leggere i file di annotazione e tutti i file di immagine cui si fa riferimento.

Il valore di absolute_url è reperibile nelle proprietà del contenitore BLOB:

URL assoluto

"annotazioni"

Chiave Type Description Obbligatorio?
id integer ID dell’annotazione
category_id integer ID della categoria definita nella sezione categories
image_id integer ID dell’immagine
area integer Valore di 'Width' x 'Height' (terzo e quarto valore di bbox) No
bbox list[float] Coordinate relative del rettangolo delimitatore (da 0 a 1), nell'ordine 'Left', 'Top', 'Width', 'Height'

"categorie"

Chiave Type Description Obbligatorio?
id integer ID univoco per ogni categoria (classe di etichetta). Devono essere presenti nella sezione annotations.
name string Nome della categoria (classe etichetta)

Verifica del file COCO

È possibile utilizzare il codice di esempio Python per controllare il formato di un file COCO.

Eseguire il training del modello personalizzato

Per avviare il training di un modello con il file COCO, passare alla scheda Modelli personalizzati e selezionare Aggiungi nuovo modello. Immettere un nome per il modello e selezionare Image classification o Object detection come tipo di modello.

Screenshot della finestra di dialogo per eseguire il training di un nuovo modello.

Selezionare il set di dati associato al file COCO contenente le informazioni sull'etichettatura.

Quindi, selezionare un’allocazione di tempo ed eseguire il training del modello. Per esempi di piccole dimensioni, è possibile usare un budget 1 hour.

Screenshot che mostra i dettagli del training da esaminare.

Il completamento del training potrebbe richiedere del tempo. I modelli di Image Analysis 4.0 possono essere precisi solo nel caso di set di dati di training di piccole dimensioni, tuttavia il training richiede più tempo rispetto al training dei modelli precedenti.

Valutare il modello sottoposto a training

Al termine del training, è possibile visualizzare la valutazione delle prestazioni del modello. Sono utilizzate le metriche seguenti:

  • Classificazione immagini: precisione media, Accuratezza Top 1, Accuratezza Top 5
  • Rilevamento oggetti: precisione media @ 30, precisione media @ 50, precisione media @ 75

Se non viene fornito un set di valutazione durante il training del modello, le prestazioni riportate vengono stimate in base a una parte del set di training. Si consiglia vivamente di avvalersi di un set di dati di valutazione (con lo stesso processo descritto in precedenza) per ottenere una previsione attendibile delle prestazioni del modello.

Screenshot che mostra i risultati della valutazione.

Testare il modello personalizzato in Vision Studio

Dopo aver creato un modello personalizzato, è possibile eseguire il test selezionando il pulsante Prova nella schermata di valutazione del modello.

Screenshot della schermata di valutazione del modello con il pulsante Prova evidenziato.

Verrà visualizzata la pagina Estrarre tag comuni dalle immagini. Scegliere il modello personalizzato dal menu a discesa e caricare un’immagine di test.

Screenshot della selezione del modello di test in Vision Studio.

I risultati della previsione vengono visualizzati nella colonna destra.

Nella presente guida si è creato ed eseguito il training di un modello di classificazione immagini personalizzato, avvalendosi dell'analisi delle immagini. In seguito, sarà possibile apprendere maggiori informazioni sull'API Analizza immagine 4.0, per richiamare il modello personalizzato da un'applicazione tramite REST.