Trainingsdaten-CSV-Datei formatieren

Nachdem ausreichend repräsentative Trainingsdaten vorbereitet und diese Bilder in Google Cloud Storage hochgeladen wurden, können Sie eine CSV-Datei mit Begrenzungsrahmen und Labels für den Bildimport in ein Dataset erstellen.

Auf dieser Seite wird beschrieben, wie Sie die CSV-Datei formatieren.

CSV-Formatierungsrichtlinien

Zur Verwendung der Methode importData müssen sowohl die CSV-Datei als auch die Bilder, auf die sie verweist, in einem Google Cloud Storage-Bucket enthalten sein.

Darüber hinaus muss die CSV-Datei auch die folgenden Anforderungen erfüllen:

  • Die Datei kann beliebig benannt werden, muss sich jedoch im selben Bucket wie Ihre Bilddatei befinden.
  • Muss UTF-8-codiert sein.
  • Muss mit einer .csv-Erweiterung enden.
  • Hat eine Zeile für jeden Begrenzungsrahmen in dem Satz, den Sie hochladen, oder eine Zeile für jedes Bild ohne Begrenzungsrahmen (z. B. Zeile 4 unten).
  • Enthält ein Bild pro Zeile; ein Bild mit mehreren Begrenzungsrahmen wird in so vielen Zeilen wiederholt, wie Begrenzungsrahmen vorhanden sind.

    Zum Beispiel verweisen die Zeilen 1 und 2 auf dasselbe Bild mit zwei Annotationen (car,0.1,0.1,,,0.3,0.3,, und bike,.7,.6,,,.8,.9,,). Zeile 3 verweist auf ein Bild mit nur einer Annotation (car,0.1,0.1,0.2,0.1,0.2,0.3,0.1,0.3) und Zeile 4 verweist auf ein Bild ohne Annotationen.

Vier Beispielzeilen:

 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,,,,,,,,,

Jede Zeile hat folgende Spalten:

  1. Das Set, dem der Inhalt in der jeweiligen Zeile zugewiesen werden soll. Dieses Feld ist erforderlich und kann einen der folgenden Werte enthalten:

    • TRAIN – Das Bild wird zum Trainieren des Modells verwendet. Dieser Satz sollte der größte sein, da diese Bilder zur Erstellung Ihres Modells verwendet werden.
    • VALIDATION – Das Bild wird verwendet, um die Ergebnisse zu bestätigen, die das Modell während des Trainings zurückgibt (auch als "dev"-Datasets bezeichnet). Diese Bilder werden von der Objekterkennung von AutoML Vision verwendet, um zu bestimmen, wann der Modelltrainingsprozess beendet werden soll.
    • TEST – Das Bild wird verwendet, um die Ergebnisse des Modells zu beziffern, nachdem das Modell trainiert wurde (auch als "Holdout"-Daten bezeichnet). Diese Bilder werden zur Auswertung verwendet, nachdem ein Modell mit den beiden vorherigen Sätzen erstellt wurde.
    • UNASSIGNED – Diese Bilder werden mithilfe der AutoML Vision-Objekterkennung einem der drei oben genannten Sätze zugewiesen. Verwenden Sie dieses Tag, wenn der Satz, in dem die Bilder platziert werden, kein bestimmter sein muss.
  2. Der Inhalt, der annotiert werden soll. Dieses Feld enthält den Google Cloud Storage-URI für das Bild. Bei Cloud Storage-URIs wird zwischen Groß- und Kleinschreibung unterschieden.

  3. Ein Label, das angibt, wie das Objekt kategorisiert wird. Labels müssen mit einem Buchstaben beginnen und dürfen nur Buchstaben, Zahlen und Unterstriche enthalten. Mit der AutoML Vision-Objekterkennung können Sie auch Labels mit Leerzeichen verwenden.

    Nach dem Import des Trainingsbilds können Sie auch Labels in der UI manuell hinzufügen oder den Google-Dienst Labeling durch Menschen zum Labeling von Trainingsbildern verwenden.

  4. Ein Begrenzungsrahmen für ein Objekt im Bild. Der Begrenzungsrahmen für ein Objekt kann auf zwei Arten angegeben werden:

    • entweder mit nur zwei Endpunkten (bestehend aus einer Reihe von x- und y-Koordinaten), wenn sie diagonal gegenüberliegende Punkte des Rechtecks sind (x_relative_min, y_relative_min, x_relative_max, y_relative_max),
    • oder mit allen vier Endpunkten (x_relative_min, y_relative_min, x_relative_max, y_relative_min, x_relative_max, y_relative_max, x_relative_min, y_relative_max).

    Jeder vertex wird durch x- und y-Koordinatenwerte angegeben. Diese Koordinaten müssen eine Gleitkommazahl im Bereich von 0 bis 1 sein, wobei 0 den minimalen x- oder y-Wert und 1 den größten x- oder y-Wert darstellt.

    Beispielsweise steht (0,0) für die obere linke Ecke und (1,1) für die rechte untere Ecke. Ein Begrenzungsrahmen für das gesamte Bild wird als (0,0,,,1,1,,) oder (0,0,1,0,1,1,0,1) ausgedrückt.

    Für die AutoML VIsion API ist keine bestimmte Endpunktanordnung erforderlich. Wenn vier angegebene Eckpunkte kein Rechteck parallel zu den Bildkanten bilden, berechnet und verwendet die AutoML Vision API Eckpunkte, die ein solches Rechteck bilden.

Beispiel:

  • Keinem Satz zugewiesen: UNASSIGNED,gs://my-storage-bucket/img/salad_089.jpg,Baked goods,0.56,0.25,,,0.97,0.50,,
  • Einem Satz zugewiesen: TRAIN,gs://my-storage-bucket/img/salad_089.jpg,Baked goods,0.56,0.25,,,0.97,0.50,,

    Die obigen Zeilen verwenden das folgende Format, da die API davon ausgeht, dass genau zwei Punkte rechtwinklige diagonale Eckpunkte sind (oberer linker Eckpunkt, unterer rechter Eckpunkt):

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

    Das folgende Format ist ebenfalls gültig, da es dieselben Informationen enthält:

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

    Das heißt, dass die oben angezeigte Zeile "Einem Satz zugewiesen" auch durch Angabe aller vier Eckpunkte ausgedrückt werden kann:

    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

Bild zu Koordinatenoptionen

Speichern Sie den Inhalt als CSV-Datei in Ihrem Google Cloud Storage-Bucket.

Häufig auftretende Fehler mit CSV

  • Verwendung von Unicode-Zeichen für Labels. Japanische Schriftzeichen werden beispielsweise nicht unterstützt.
  • Verwendung von nicht alphanumerischen Zeichen für Labels.
  • Leere Zeilen.
  • Falsche Großschreibung von Cloud Storage-Bildpfaden.
  • Falsch konfigurierte Zugriffssteuerung für Bilddateien. Ihr AutoML-Dienstkonto, das bei der Aktivierung der API erstellt wurde, sollte mindestens Leseberechtigungen haben.
  • Verweise auf Dateien, die keine Bilddateien sind (z. B. PDF- oder PSD-Dateien). Ebenso führen Dateien, die keine Bilddateien sind (JPEG, PNG, GIF, BMP oder ICO), aber mit einer Bilderweiterung umbenannt wurden, zu einem Fehler.
  • Nicht CSV-formatierte Dateien