Creare un modello di analisi delle immagini personalizzato (anteprima)

Analisi immagini 4.0 consente di eseguire il training di un modello personalizzato usando immagini di training personalizzate. Assegnando manualmente etichette alle immagini, è possibile eseguire il training di un modello per applicare tag personalizzati alle immagini (classificazione delle immagini) o 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.

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

Prerequisiti

  • Sottoscrizione di Azure: creare un account gratuito
  • 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 segue questa guida usando 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 da usare in un secondo momento.
  • Una risorsa Archiviazione di Azure - Crearne una
  • 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 le proprie immagini. Sono necessarie solo 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, questi modelli personalizzati appartengono alla risorsa visione di cui sono stati sottoposti a training e il cliente è in grado di effettuare chiamate a tali modelli usando l'API Analizza immagine . Quando effettuano queste chiamate, il modello personalizzato viene caricato in memoria e l'infrastruttura di stima viene inizializzata. Anche se ciò accade, i clienti potrebbero riscontrare una latenza più lunga del previsto per ricevere i risultati della stima.

Creazione di un nuovo modello personalizzato

Per iniziare, passare a Vision Studio e selezionare la scheda Analisi immagini. Selezionare quindi il riquadro Personalizza modelli .

Screenshot del riquadro Personalizza modelli.

Accedere quindi con l'account Azure e selezionare la risorsa Visione. Se non ne hai uno, puoi crearne uno da questa schermata.

Importante

Per eseguire il training di un modello personalizzato in Vision Studio, è necessario approvare la sottoscrizione di Azure per l'accesso. Richiedere l'accesso tramite questo modulo.

Screenshot della schermata seleziona risorsa.

Preparare le immagini di training

È necessario caricare le immagini di training in un contenitore Archiviazione BLOB di Azure. Passare alla risorsa di archiviazione nel portale di Azure e passare alla scheda del browser Archiviazione. Qui è possibile creare un contenitore BLOB e caricare le immagini. Inserirli tutti nella radice del contenitore.

Aggiungere un set di dati

Per eseguire il training di un modello personalizzato, è necessario associarlo a un set di dati in cui si forniscono 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.

Scegliere Archiviazione BLOB

Selezionare quindi il contenitore dall'account Archiviazione BLOB di Azure in cui sono state archiviate le immagini di training. Selezionare la casella per consentire a Vision Studio di leggere e scrivere nel contenitore di archiviazione BLOB. Si tratta di un passaggio necessario per importare i dati etichettati. Creazione del set di dati.

Creare un progetto di etichettatura di Azure Machine Learning

È necessario un file COCO per comunicare le informazioni sull'etichettatura. Un modo semplice per generare un file COCO consiste nel creare un progetto di Azure Machine Learning, fornito con un flusso di lavoro di etichettatura dei dati.

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

Scegliere 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 verrà quindi aperto in una nuova scheda del browser.

Azure Machine Learning: Creare etichette

Per avviare l'etichettatura, seguire la richiesta Aggiungi classi di etichette per aggiungere classi di etichette.

Classi di etichette

Aggiungere etichette di classe

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

Avviare l'etichettatura

Azure Machine Learning: etichettare manualmente i dati di training

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

Selezionare ora Aggiungi file COCO, quindi importa file COCO da un progetto di etichettatura dati di Azure ML. In questo modo vengono importati i dati etichettati da Azure Machine Learning.

Il file COCO appena 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. Dopo l'importazione del file COCO nel set di dati, il set di dati può essere usato per il training di un modello.

Nota

Importare file COCO da un'altra posizione

Se si ha un file COCO pronto per l'importazione, passare alla scheda Set di dati e selezionare Add COCO files to this dataset. È 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 usando un set di dati di grandi dimensioni, è consigliabile usare invece l'API REST.

Scegliere COCO

Informazioni sui file COCO

I file COCO sono file JSON con campi obbligatori specifici: "images", "annotations"e "categories". Un file COCO di esempio sarà 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 sul campo del file COCO

Se stai generando il tuo file COCO da zero, assicurati che tutti i campi obbligatori siano compilati con i dettagli corretti. Le tabelle seguenti descrivono ogni campo 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 per l'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 per leggere i file di annotazione e tutti i file di immagine a cui si fa riferimento.

Il valore per 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 categories sezione
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 di selezione (da 0 a 1), nell'ordine di 'Left', 'Top', 'Width', 'Height'

"categories"

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

Verifica file COCO

È possibile usare 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 un nuovo modello. Immettere un nome per il modello e selezionare Image classification o Object detection come tipo di modello.

Creare un modello personalizzato

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

Selezionare quindi un budget temporale ed eseguire il training del modello. Per esempi di piccole dimensioni, è possibile usare un 1 hour budget.

Esaminare i dettagli del training

Il completamento del training potrebbe richiedere del tempo. I modelli di analisi delle immagini 4.0 possono essere accurati solo con un piccolo set di dati di training, ma richiedono più tempo per il training rispetto ai modelli precedenti.

Valutare il modello sottoposto a training

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

  • Classificazione delle immagini: precisione media, precisione top 1, accuratezza top 5
  • Rilevamento oggetti: precisione media media @ 30, precisione media media @ 50, precisione media media @ 75

Se non viene fornito un set di valutazione durante il training del modello, le prestazioni segnalate vengono stimate in base a parte del set di training. È consigliabile usare un set di dati di valutazione (usando lo stesso processo precedente) per ottenere una stima affidabile delle prestazioni del modello.

Screenshot della valutazione

Testare un 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 Estrai 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 stima vengono visualizzati nella colonna destra.

Passaggi successivi

In questa guida è stato creato ed eseguito il training di un modello di classificazione delle immagini personalizzato usando l'analisi delle immagini. Altre informazioni sull'API Analyze Image 4.0 consentono quindi di chiamare il modello personalizzato da un'applicazione usando GLI SDK REST o della libreria.

  • Per una panoramica generale di questa funzionalità e un elenco di domande frequenti, vedere la guida ai concetti relativi alla personalizzazione del modello.
  • Chiamare l'API Analizza immagine.