Esempio guidato per il riconoscimento immagini

Scopri come caricare e pre-elaborare i dati, importare una rete, eseguire il Transfer Learning e testare la rete usando il Deep Learning.

Come iniziare:

  1. Scarica il codice.
  2. Apri il codice in MATLAB.
  3. Attieniti alla procedura indicata di seguito.

Non hai l’accesso?

Tempo necessario:
15–30 minuti
Livello:
Principianti/Intermedio

Ti serve un aggiornamento? Prova un tutorial gratuito e interattivo.

Fase 1

Caricamento e pre-elaborazione dei dati

Con il Deep Learning è possibile utilizzare set di dati di grandi dimensioni, per cui è importante gestire i dati in modo adeguato. Tuttavia, ai fini della dimostrazione, il set di dati di questo esempio è di piccole dimensioni.

  • Importa i dati usando un imageDatastore. La funzione imageDatastore etichetta automaticamente le immagini in base ai nomi delle cartelle.
  • Per addestrare il modello, suddividi i dati in due categorie: “dati di addestramento” per addestrare il modello e “dati di test” per testare il funzionamento del modello con dati nuovi (da utilizzare nella Fase 4, Test della rete).
  • Visualizza immagini casuali dal set di dati per capire come vengono visualizzati i dati.
  • Fai clic su Esegui sezione per eseguire il codice.

Aspetti importanti da ricordare:

  • Per l’intera procedura e per qualsiasi progetto futuro di Deep Learning con immagini, i tuoi dati si troveranno nell’imageDatastore.
  • Le app basate su immagini possono velocizzare notevolmente le attività di pre-elaborazione più comuni quali il ritaglio, l’etichettatura e la registrazione delle immagini.

Fase 2

Importazione della rete

In questa fase, l’esempio utilizza GoogLeNet per importare un modello di Deep Learning e modificarlo per il Transfer Learning, ma è anche possibile importare modelli e architetture da TensorFlow, PyTorch e ONNX.

  • Importa il modello e accertati che i dati siano pronti. 
  • Usa l’app Deep Network Designer per alterare in modo interattivo il modello per una nuova attività. Per la pre-elaborazione, accertati che le immagini siano delle dimensioni corrette e previste dal modello di Deep Learning.
  • Fai delle prove con delle immagini campione per vedere cosa prevede il modello. Se il modello non è stato addestrato per riconoscere i dati, le previsioni potrebbero essere errate (cfr. Fase 3, Transfer Learning).
  • Fai clic su Esegui sezione per eseguire il codice.

Aspetti importanti da ricordare:

  • Usa svariati modelli preaddestrati come punto di partenza per il Transfer Learning.
  • Per evitare che il modello generi errori, i dati devono essere delle dimensioni corrette. 

Fase 3

Transfer Learning

In questa fase, il modello deve essere modificato affinché funzioni con i propri dati specifici. L’addestramento dei modelli può richiedere tempi lunghi, a seconda dell’hardware e del formato del set di dati.

  • Prepara il tuo modello sostituendo il layer finale completamente connesso con un nuovo layer completamente connesso sulla base del numero di categorie di cui disponi. Questo esempio usa 4 categorie.
  • Sostituisci il layer di classificazione finale in base alla tua attività. 
  • Per addestrare il modello, fai clic su Esegui sezione. Accertati di aver già eseguito il codice nelle fasi 1 e 2. L’addestramento richiede circa 60 secondi.

Aspetti importanti da ricordare:

  • Personalizza il Deep Learning per eseguire la tua attività specifica modificando il modello.
  • Usa l’app Deep Network Designer per semplificare il processo di Transfer Learning.

Fase 4

Test della rete

Nella fase conclusiva verifica che il modello funzioni con dati nuovi. Occorre classificare i dati di test (preparati nella Fase 1, Caricamento e pre-elaborazione dei dati) e calcolare la precisione di classificazione.

  • Esegui il comando di classificazione per testare tutte le immagini del tuo set di test e visualizzare la precisione (in questo caso, 90%).
  • Seleziona le immagini nel tuo set di test da visualizzare con le etichette corrispondenti.

Aspetti importanti da ricordare:

  • Usa un modello flessibile che funzioni con dati nuovi o in circostanze nuove e non solo con i dati appresi durante l’addestramento.
  • Per soluzioni di IA più avanzate, usa le tecniche di IA esplicabile per scoprire perché un modello prevede una determinata categoria.

È inoltre possibile seguire il video qui sotto:

Il video dura 4:13

Accedi ai link qui sotto per proseguire con altre attività di riconoscimento immagini o continua a esplorare il Deep Learning con applicazioni correlate.

Johanna Pingel

Contatta Johanna, esperta di Deep Learning presso MathWorks