Preparazione dei dati di addestramento

Preparazione delle immagini in corso...

Requisiti generali delle immagini
Tipi di file supportati
  • JPEG
  • PNG
  • GIF
  • BMP
  • ICO
Tipi di immagini

I modelli di rilevamento di oggetti di AutoML Vision sono ottimizzati per le fotografie di oggetti nel mondo reale.

Dimensioni del file immagine di addestramento (MB) Dimensione massima 30 MB.
Dimensioni file immagine di previsione* (MB) Dimensione massima 1,5 MB.
Dimensioni immagine (pixel)

Valore massimo suggerito di 1024 x 1024 pixel.

Nel caso di immagini molto più grandi di 1024 x 1024 pixel, è possibile che una parte della qualità dell'immagine vada persa durante il processo di normalizzazione delle immagini di AutoML Vision Object Detection.

Requisiti relativi a etichette e riquadri di delimitazione
Etichetta le istanze per l'addestramento

Minimo 10 annotazioni (istanze).

Requisiti per le annotazioni

Per ogni etichetta devi avere almeno 10 immagini, ciascuna con almeno un'annotazione (riquadro di delimitazione e l'etichetta).

Tuttavia, a scopo di addestramento dei modelli, è consigliabile utilizzare circa 1000 annotazioni per etichetta. In generale, più immagini per etichetta hai, migliori le prestazioni del modello.

Rapporto etichetta (l'etichetta più comune rispetto all'etichetta meno comune):

Il modello funziona meglio quando ci sono al massimo 100 volte più immagini per l'etichetta più comune rispetto all'etichetta meno comune.

Per le prestazioni del modello, consigliamo di rimuovere le etichette di frequenza molto bassa.

Lunghezza bordo riquadro di delimitazione Almeno 0,01 * lunghezza di un lato di un'immagine. Ad esempio, un'immagine di 1000 * 900 pixel richiede riquadri di delimitazione di almeno 10 * 9 pixel.
Dimensioni riquadro di delimitazione (pixel) Minimo 8 pixel per 8 pixel.
Riquadri di delimitazione per immagine distinta Massimo 500.
Riquadri di delimitazione restituiti da una richiesta di previsione

100 (predefinito), massimo 500.

Puoi specificare questo valore nell'ambito della richiesta predict nel campo params.max_bounding_box_count.

Requisiti per i set di dati e i dati di addestramento
Caratteristiche dell'immagine di addestramento

I dati di addestramento devono essere il più possibile simili a quelli sui quali eseguire le previsioni.

Ad esempio, se il tuo caso d'uso prevede immagini sfocate e a bassa risoluzione (come quelle di una videocamera di sicurezza), i dati di addestramento dovrebbero essere composti da immagini sfocate e a bassa risoluzione. In generale, dovresti anche fornire più angolazioni, risoluzioni e sfondi per le immagini di addestramento.

In genere, i modelli di rilevamento di oggetti di AutoML Vision non sono in grado di prevedere etichette che gli utenti non possono assegnare. Quindi, se non è possibile addestrare un essere umano ad assegnare etichette guardando l'immagine per 1-2 secondi, è probabile che anche il modello non possa essere addestrato a farlo.

Immagini in ogni set di dati Massimo 150.000
Riquadri di delimitazione annotati totali in ogni set di dati Massimo 1.000.000
Numero di etichette in ogni set di dati Minimo 1, massimo 1000

Guida alle best practice

Che tipo di dati delle immagini puoi utilizzare?

  • Formati file immagine supportati: JPEG, PNG, GIF, BMP o ICO.
  • I dati di addestramento dovrebbero essere il più vicino possibile a quelli su cui devono essere effettuate le previsioni. Ad esempio, se il tuo caso d'uso prevede immagini a bassa risoluzione delle fotocamere dei cellulari, i dati di addestramento dovrebbero essere composti da immagini a bassa risoluzione. In generale, dovresti anche fornire più angolazioni, risoluzioni e sfondi per le immagini di addestramento. Un altro esempio è se vuoi rilevare le regioni nelle immagini ad alta risoluzione, non addestrare il modello con immagini ritagliate.

Quali sono le condizioni minime per i dati?

  • Le etichette che utilizzi devono essere stringhe valide (senza virgola). La virgola è un problema solo nell'importazione basata su CSV. Per risolvere il problema: "file_comma,path","label,comma",0,0,,,1,1,,.
  • In tutti i casi, i riquadri di delimitazione devono essere più grandi di 8 x 8 pixel. I riquadri di delimitazione più piccoli verranno filtrati.
  • Le immagini possono superare i 1024 x 1024 pixel, ma vengono ridotte automaticamente, con la possibilità di ridurne la qualità. Per questo motivo, consigliamo una dimensione massima delle immagini di 1024 x 1024 pixel. Le immagini più piccole di queste dimensioni non verranno ridimensionate.
  • Tutti i riquadri di delimitazione devono essere immagini all'interno.
  • I riquadri di delimitazione devono essere etichettati in modo esaustivo: se in un'immagine ci sono due auto, devono essere etichettate tutte.

Quanto deve essere grande il set di dati?

  • Più ne usi, meglio è. Questo è quasi sempre vero. Tuttavia, un'eccezione a questa situazione è rappresentata dal caso in cui l'aggiunta di altri campioni causa squilibri o perdite (vedi sotto).
  • La quantità di dati necessari per addestrare un buon modello dipende da diversi fattori:
    • Il numero di corsi. Più classi uniche hai, più esempi per ogni corso sono necessari.
    • Complessità/diversità delle classi. È simile agli umani: con pochi campioni, un essere umano probabilmente impara subito a distinguere tra birra e vino. Dovrà provare diversi vini molto più spesso per distinguire 5-6 tipi diversi di vini rossi e per molte persone sarà difficile imparare a distinguere tra 50 diversi sapori di vino rosso. Almeno uno dovrà esercitarsi molto. Analogamente, le reti neurali sarebbero in grado di distinguere rapidamente tra elefanti e gatti, ma avrebbero bisogno di molti più campioni per classificare 30 animali diversi.
  • Come regola generale, ti consigliamo di avere almeno 100 campioni di addestramento per classe se hai poche classi distintive e più di 200 campioni di addestramento se le classi sono più specifiche e hai più di 50 classi diverse.

Set di dati di addestramento e valutazione

Durante l'addestramento di modelli di machine learning, in genere dividi il set di dati in tre set di dati distinti:

  1. un set di dati di addestramento
  2. un set di dati di convalida
  3. un set di dati di test

Per creare un modello viene utilizzato un set di dati di addestramento. Il modello addestrato prova più iperparametri durante la ricerca di pattern nei dati di addestramento. Durante il processo di identificazione dei pattern, AutoML Vision Object Detection utilizza il set di dati di convalida per testare gli iperparametri del modello. AutoML Vision Object Detection sceglie gli algoritmi e i pattern con le migliori prestazioni tra tutte le opzioni identificate durante la fase di addestramento.

Una volta identificati, gli algoritmi e i pattern con le prestazioni migliori vengono testati per determinare il tasso di errore, la qualità e l'accuratezza utilizzando il set di dati del test. I clienti devono disporre di un set di dati di test separato da utilizzare per testare il modello in modo indipendente. Questo set di dati di test viene specificato nel set di addestramento impostato dall'utente o scelto automaticamente al momento dell'addestramento.

Per evitare bias nel modello, vengono utilizzati sia un set di dati di convalida sia un set di dati di test. Durante la fase di convalida, vengono utilizzati i parametri del modello ottimali. L'uso di questi parametri del modello ottimali può generare metriche distorte. L'utilizzo del set di dati di test per valutare la qualità del modello dopo la fase di convalida consente di fornire al processo di addestramento una valutazione imparziale della qualità del modello.

Se scegli manualmente i campioni di set di dati, devi strutturarli in modo da rappresentare la stessa popolazione. Allo stesso modo, devi creare suddivisioni del set di dati con immagini simili, tutte con una distribuzione simile delle etichette.

Suddivisione manuali e automatiche del set di dati

Puoi specificare manualmente la suddivisione di addestramento, convalida e test durante l'importazione dei set di dati in un file CSV.

Se non lo specifichi, AutoML Vision Object Detection suddividerà i dati in modo casuale. Le suddivisioni vengono create nel seguente modo:

  • L'80% delle immagini viene utilizzato per l'addestramento.
  • Il 10% delle immagini viene utilizzato per l'ottimizzazione degli iperparametri e/o per decidere quando interrompere l'addestramento.
  • Il 10% delle immagini viene utilizzato per valutare il modello. Queste immagini non vengono utilizzate nell'addestramento.

Problemi comuni

  • Dati non bilanciati: in molti casi, il numero di campioni per classe (etichetta) non è uguale. In genere, squilibri minori non creano problemi, ma discrepanze più grandi tra le classi possono causare un problema. Quando si riscontra uno squilibrio maggiore, ad esempio alcune classi sono rappresentate più di 10 volte rispetto ad altre, ciò diventa problematico per la creazione dei modelli. Sebbene esistano approcci per contrastare gli squilibri di classe, questa non è una configurazione ideale per l'addestramento del modello. Se possibile, cerca di evitare l'addestramento di un modello con dati altamente sbilanciati.

    Come regola generale, mantieni il rapporto tra le classi più comuni e meno comuni sotto 2 a 1.

  • Suddivisione errata: quando fornisci dati di addestramento, AutoML Vision Object Detection può suddividerli automaticamente in set di dati di addestramento, convalida e test. Puoi anche assegnare tu stesso le etichette di suddivisione del treno.

    Non possiamo garantire che otterrai la stessa suddivisione se importi gli stessi dati più volte.

    I dati di addestramento, convalida e test non devono avere una forte correlazione. Ad esempio, quando le immagini provengono da video, molte immagini sono molto simili tra loro. Se consenti al sistema di suddividere in modo casuale il set di dati, è molto probabile che otterrai immagini molto simili nei dati di addestramento e convalida/test. Ciò comporterà un'elevata precisione dei dati di test ottenuta in modo errato.

  • fuga di dati: la fuga di dati è un problema significativo che può influenzare i modelli. La fuga di dati si verifica quando l'algoritmo è in grado di utilizzare le informazioni durante l'addestramento del modello che non dovrebbe, e questo non sarà disponibile durante previsioni future. Porta a risultati eccessivamente ottimistici su set di dati di addestramento, convalida e test. Tuttavia, questo rendimento potrebbe non essere buono per alcuni dati non considerati futuri. Questo accade spesso non intenzionalmente e richiede un'attenzione particolare durante la preparazione dei dati.

    Esempi di perdite: positivi e negativi da diverse origini dell'immagine o angolazioni di visualizzazione.