Trainingsdaten vorbereiten

Bilder vorbereiten

  • Bilder benötigen einen unterstützten Dateityp (siehe Liste unten).

  • AutoML Vision-Modelle sind für Fotos von Objekten aus dem richtigen Leben optimiert.

  • Die Trainingsdaten sollten den Daten, für die Vorhersagen getroffen werden sollen, möglichst ähnlich sein. Wenn Ihr Anwendungsfall beispielsweise verschwommene Bilder mit niedriger Auflösung (etwa von einer Überwachungskamera) beinhaltet, sollten Ihre Trainingsdaten aus verschwommenen Bildern mit niedriger Auflösung bestehen. Sie sollten außerdem mehrere Blickwinkel, Auflösungen und Hintergründe für Ihre Trainingsbilder bereitstellen.

  • AutoML Vision-Modelle können in der Regel keine Labels vorhersagen, die von Menschen nicht zugewiesen werden können. Wenn also ein Mensch nicht darin unterwiesen werden kann, während 1 bis 2 Sekunden beim Betrachten eines Bilds ein Label zuzuweisen, kann Ihr Modell wahrscheinlich auch nicht dafür trainiert werden.

  • Wir empfehlen ca. 1.000 Trainingsbilder pro Label. Die Mindestanzahl pro Label ist 10, für fortgeschrittene Modelle liegt sie bei 50. Im Allgemeinen sind mehr Beispiele pro Label nötig, um Modelle mit mehreren Labels pro Bild zu trainieren. Die Ergebnisse sind dann schwieriger zu interpretieren.

  • Die folgenden Bildformate werden beim Training Ihres Modells unterstützt. Die maximale Dateigröße beträgt 30 MB.

    • JPEG
    • PNG
    • GIF
    • BMP
    • ICO

    Die folgenden Bildformate werden unterstützt, wenn Sie eine Vorhersage (für die Abfrage) Ihres Modells anfragen. Die maximale Dateigröße beträgt 1,5 MB.

    • JPEG
    • PNG
    • GIF
  • Das Modell funktioniert am besten, wenn für das am häufigsten verwendete Label höchstens 100 Mal mehr Bilder vorhanden sind als für das am wenigsten verwendete Label. Es wird empfohlen, Labels mit sehr geringer Häufigkeit zu entfernen.

  • Sie können auch None_of_the_above-Label und -Bilder zur Verfügung stellen, die keinem Ihrer definierten Labels entsprechen. Beispielsweise können Sie bei einem Blumen-Dataset Bilder von Blumen einschließen, die keinem der definierten Labels entsprechen, und ihnen dann das Label None_of_the_above geben. Dies kann die Genauigkeit Ihres Modells verbessern. Sie können jeden beliebigen Labelnamen verwenden. Das Label None_of_the_above wird vom System aber speziell behandelt und in der UI immer an letzter Stelle der Labelliste angezeigt.

Trainings- und Bewertungs-Datasets – Vergleich

Die Daten in einem Dataset werden beim Trainieren eines Modells in drei Datasets aufgeteilt: ein Trainings-Dataset, ein Validierungs-Dataset und ein Test-Dataset.

Das Trainings-Dataset wird zum Erstellen eines Modells verwendet. Das Modell probiert während der Suche nach Mustern in den Trainingsdaten mehrere Algorithmen und Parameter aus. Wenn das Modell Muster erkennt, verwendet es das Validierungs-Dataset, um die Algorithmen und Muster zu testen. Von den Algorithmen und Mustern, die während des Trainings verwendet wurden, werden die mit der besten Leistung ausgewählt.

Nachdem die besten Algorithmen und Muster ermittelt wurden, werden sie mit dem Test-Dataset auf Fehlerrate, Qualität und Genauigkeit getestet.

Es wird sowohl ein Validierungs- als auch ein Test-Dataset verwendet, um Verzerrungen im Modell zu vermeiden. Während der Validierungsphase werden optimale Modellparameter verwendet, was zu verzerrten Messwerten führen kann. Die Verwendung des Test-Datasets zur Bewertung der Qualität des Modells nach der Validierungsphase ermöglicht eine unvoreingenommene Qualitätsbeurteilung des Modells.

Standardmäßig teilt AutoML Vision Ihr Dataset nach dem Zufallsprinzip in drei separate Datasets auf:

  • 80 % der Bilder werden für das Training verwendet.
  • 10 % der Bilder werden für die Hyperparameter-Abstimmung und/oder für die Entscheidung verwendet, wann das Training beendet werden soll.
  • 10 % der Bilder werden zum Bewerten des Modells verwendet. Diese Bilder werden nicht für das Training verwendet.

Wenn Sie angeben möchten, zu welchem Dataset die einzelnen Bilder in Ihrer CSV-Datei gehören sollen, können Sie eine CSV-Datei so verwenden, wie im nächsten Abschnitt beschrieben.

CSV-Datei mit Bild-URIs und -labels erstellen

Sobald Ihre Dateien in einen Cloud Storage-Bucket im erforderlichen Format (gs://bucket-name-vcm) hochgeladen wurden, können Sie eine CSV-Datei erstellen, in der alle Trainingsdaten und die Kategorielabels für diese Daten aufgeführt sind. Die CSV-Datei kann beliebig benannt werden, muss sich aber im selben Bucket wie Ihre Bilddateien befinden, UTF-8-codiert sein und die Endung .csv haben. Die Datei enthält eine Zeile für jedes Bild in dem Dataset, das Sie hochladen, mit folgenden Spalten in jeder Zeile:

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

    • TRAIN: image wird zum Trainieren des Modells verwendet.
    • VALIDATION: image wird zum Validieren der Ergebnisse verwendet, die das Modell während des Trainings zurückgibt.
    • TEST: image wird nach dem Trainieren des Modells zum Prüfen der Ergebnisse des Modells verwendet.

    Wenn Sie für den Inhalt einer Zeile kein Set angeben, wird dieser von AutoML Vision automatisch in eines der drei Sets eingeteilt. Dabei wird darauf geachtet, dass genug Inhalt zum Trainieren, Validieren und Testen vorhanden ist. AutoML Vision verwendet 80 % Ihrer Inhaltsdokumente für das Training, 10 % für die Validierung und 10 % für Tests. Ein Test-Dataset kann maximal 50.000 Bilder enthalten, auch wenn 10 % des gesamten Datasets dieses Maximum überschreiten.

  2. Den zu kategorisierenden Inhalt. Dieses Feld enthält den Google Cloud Storage-URI für das Bild. Bei Cloud Storage-URIs wird zwischen Groß- und Kleinschreibung unterschieden.

  3. Eine durch Kommas getrennte Liste von Labels, die angeben, wie das Bild kategorisiert wird. Labels müssen mit einem Buchstaben beginnen und dürfen nur Buchstaben, Zahlen und Unterstriche enthalten. Ein Bild kann bis zu 20 Labels enthalten. Sie können Labels für die manuelle Labeldefinition über die UI oder den Dienst für Beschriftungen durch Menschen auch leer lassen.

Beispiel:

  • Mit Label: gs://my-storage-bucket-vcm/flowers/images/img100.jpg,daisy
  • Ohne Label: gs://my-storage-bucket-vcm/flowers/images/img403.jpg
  • Mehrere Labels: gs://my-storage-bucket-vcm/flowers/images/img384.jpg,dandelion,tulip,rose
  • Zugeordnet zu einem Set: TEST,gs://my-storage-bucket-vcm/flowers/images/img805.jpg,daisy

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

Generieren einer CSV-Datei für in Cloud Storage gespeicherte Bilder ohne Label

Wenn Sie bereits Bilder ohne Label in Cloud Storage hochgeladen haben und eine darauf verweisende CSV-Datei generieren möchten, führen Sie diesen Code in Cloud Shell aus:

for f in $(gsutil ls gs://YOUR_BUCKET/YOUR_IMAGES_FOLDER/);
do echo UNASSIGNED,$f;
done >> labels.csv;

Kopieren Sie dann die generierte CSV-Datei in einen Google Storage-Bucket:

gsutil cp labels.csv gs://YOUR_BUCKET/labels.csv

Häufig auftretende Fehler mit CSV

  • Verwendung von Unicode-Zeichen für Labels. Japanische Schriftzeichen werden beispielsweise nicht unterstützt.
  • Verwendung von Leerzeichen und nicht-alphanumerischen Zeichen für Labels.
  • Leere Zeilen.
  • Leere Spalten (Zeilen mit zwei aufeinanderfolgenden Kommas).
  • Falsche Großschreibung von Cloud Storage-Bildpfaden.
  • Falsch konfigurierte Zugriffssteuerung für Bilddateien. Ihr Dienstkonto muss mindestens Leseberechtigungen haben oder Dateien müssen öffentlich lesbar sein.
  • Verweise auf Dateien, die keine Bilddateien sind (z. B. PDF- oder PSD-Dateien). Ebenso führen Dateien, die keine Bilddateien sind, aber mit einer Bilderweiterung umbenannt wurden, zu einem Fehler.
  • URI des Bildes verweist auf einen anderen Bucket als das aktuelle Projekt. Zugriff nur auf Bilder im Projekt-Bucket.
  • Nicht CSV-formatierte Dateien