Formattazione di un file CSV con dati di addestramento

Dopo aver preparato i dati di addestramento sufficientemente rappresentativi e aver caricato le immagini in Google Cloud Storage, puoi creare un file CSV con riquadri di delimitazione ed etichette per l'importazione delle immagini in un set di dati.

In questa pagina viene descritto come formattare il file CSV.

Linee guida per la formattazione dei file CSV

Per utilizzare il metodo importData, sia il file CSV sia le immagini a cui rimanda devono essere in un bucket Google Cloud Storage.

Inoltre, il file CSV deve soddisfare anche i seguenti requisiti:

  • Il file può avere qualsiasi nome, ma deve trovarsi nello stesso bucket del file immagine.
  • Deve essere codificata in UTF-8.
  • Deve terminare con un'estensione .csv.
  • Deve avere una riga per ogni riquadro di delimitazione nel set che stai caricando, oppure una riga per ogni immagine senza riquadro di delimitazione (ad esempio, la riga 4 di seguito).
  • Contenere un'immagine per riga; un'immagine con più riquadri di delimitazione verrà ripetuta su tante righe quanti sono i riquadri di delimitazione.

    Ad esempio, le righe 1 e 2 fanno riferimento alla stessa immagine con 2 annotazioni (car,0.1,0.1,,,0.3,0.3,, e bike,.7,.6,,,.8,.9,,). La riga 3 fa riferimento a un'immagine che ha una sola annotazione (car,0.1,0.1,0.2,0.1,0.2,0.3,0.1,0.3), mentre la riga 4 fa riferimento a un'immagine senza annotazioni.

Quattro righe di esempio:

 TRAIN,gs://folder/image1.png,car,0.1,0.1,,,0.3,0.3,,
 TRAIN,gs://folder/image1.png,bike,.7,.6,,,.8,.9,,
 UNASSIGNED,gs://folder/im2.png,car,0.1,0.1,0.2,0.1,0.2,0.3,0.1,0.3
 TEST,gs://folder/im3.png,,,,,,,,,

Ogni riga presenta le seguenti colonne:

  1. Quale insieme a cui assegnare i contenuti di questa riga. Questo campo è obbligatorio e può avere uno dei seguenti valori:

    • TRAIN - Utilizza l'immagine per addestrare il modello. Questo set dovrebbe essere il più grande, in quanto queste immagini verranno utilizzate per creare il modello.
    • VALIDATION - Utilizza l'immagine per convalidare i risultati che il modello restituisce durante l'addestramento (noti anche come set di dati "dev"). Queste immagini verranno utilizzate da AutoML Vision Object Detection per determinare quando interrompere il processo di addestramento del modello.
    • TEST - Utilizza l'immagine per quantificare i risultati del modello dopo l'addestramento del modello (noti anche come dati "holdout"). Queste immagini vengono utilizzate per la valutazione dopo che un modello è stato creato utilizzando i due set precedenti.
    • UNASSIGNED: queste immagini sono assegnate a uno dei tre set precedenti da AutoML Vision Object Detection. Usa questo tag se non hai preferenze su quale set devono essere inserite le immagini.
  2. I contenuti da annotare. Questo campo contiene l'URI Google Cloud Storage dell'immagine. Gli URI di Google Cloud Storage sono sensibili alle maiuscole.

  3. Un'etichetta che identifica il modo in cui viene classificato l'oggetto. Le etichette devono iniziare con una lettera e contenere solo lettere, numeri e trattini bassi. AutoML Vision Object Detection consente inoltre di utilizzare le etichette con spazi bianchi.

    Dopo aver completato l'addestramento con l'importazione delle immagini, puoi anche etichettare manualmente nell'interfaccia utente o utilizzare il servizio Human Labeling di Google per etichettare le immagini di addestramento.

  4. Un riquadro di delimitazione per un oggetto nell'immagine. Il riquadro di delimitazione per un oggetto può essere specificato in due modi:

    • con solo 2 vertici (costituiti da un insieme di coordinate x,y) se si trovano in punti diagonalmente opposti del rettangolo (x_relative_min, y_relative_min,,,x_relative_max,y_relative_max,,),
    • o con tutti e quattro i vertici(x_relative_min,y_relative_min,x_relative_max,y_relative_min,x_relative_max,y_relative_max,x_relative_min,y_relative_max).

    Ogni vertex è specificato da valori delle coordinate x e y. Queste coordinate devono essere un numero in virgola mobile compreso tra 0 e 1, dove 0 rappresenta il valore x o y minimo e 1 rappresenta il valore x o y massimo.

    Ad esempio, (0,0) rappresenta l'angolo in alto a sinistra e (1,1) rappresenta l'angolo in basso a destra; un riquadro di delimitazione per l'intera immagine è espresso come (0,0,,,1,1,) o (0,0,1,0,1,1,0,1).

    L'API AutoML Vision non richiede un ordinamento del vertice specifico. Inoltre, se quattro vertici specificati non formano un rettangolo parallelo ai bordi dell'immagine, l'API AutoML Vision calcola e utilizza i vertici che formano un rettangolo di questo tipo.

Ad esempio:

  • Non assegnati a un insieme: UNASSIGNED,gs://my-storage-bucket/img/salad_089.jpg,Baked goods,0.56,0.25,,,0.97,0.50,,
  • Assegnata a un insieme: TRAIN,gs://my-storage-bucket/img/salad_089.jpg,Baked goods,0.56,0.25,,,0.97,0.50,,

    Le righe riportate sopra utilizzano il formato seguente, poiché l'API presuppone che esattamente due punti siano vertici diagonali rettangolari (vertice in alto a sinistra, vertice in basso a destra):

    set,path,label,x_min,y_min,,,x_max,y_max,,

    Anche il formato seguente è valido perché trasmette le stesse informazioni:

    set,path,label,x_min,y_min,x_max,y_min,x_max,y_max,x_min,y_max

    Ciò significa che la riga "Assegnata a un insieme" mostrata sopra può essere espressa anche indicando tutti e quattro i vertici:

    TRAIN,gs://my-storage-bucket/img/salad_089.jpg,Baked goods,0.56,0.25,0.97,0.25,0.97,0.50,0.56,0.50

opzioni delle coordinate delle immagini

Salva i contenuti come file CSV nel bucket Google Cloud Storage.

Errori comuni dei file CSV

  • Utilizzo di caratteri Unicode nelle etichette. Ad esempio, i caratteri giapponesi non sono supportati.
  • Utilizzare caratteri non alfanumerici nelle etichette.
  • Righe vuote.
  • Uso errato delle lettere maiuscole nei percorsi delle immagini di Cloud Storage.
  • Controllo dell'accesso non corretto configurato per i tuoi file immagine. L'account di servizio AutoML creato quando hai abilitato l'API deve avere accesso in lettura o superiore.
  • Riferimenti a file non di immagine (ad esempio file PDF o PSD). Analogamente, i file che non sono file immagine (JPEG, PNG, GIF, BMP o ICO), ma che sono stati rinominati con un'estensione immagine, causeranno un errore.
  • File non in formato CSV.