Trainingsdaten vorbereiten

Videos vorbereiten

  • AutoML Video Intelligence Object Tracking unterstützt die folgenden Videoformate (siehe unten), wenn Sie Ihr Modell trainieren oder eine Vorhersage anfragen (Labels einem Video hinzufügen). Die maximale Dateigröße beträgt 50 GB (maximale Dauer von 3 Stunden). Einzelne Videodateien mit fehlerhaften oder leeren Zeitstempeln im Container werden nicht unterstützt.

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

  • AutoML Video Intelligence-Objekt-Tracking-Modelle können in der Regel keine Labels vorhersagen, die von Menschen nicht zugewiesen werden können. Wenn also bei einem bestimmten Video ein Mensch nicht fähig wäre, nach einer oder zwei Sekunden Betrachtung ein Label zuzuweisen, kann Ihr Modell höchstwahrscheinlich auch nicht dafür trainiert werden.

  • Wir empfehlen ungefähr 100 Trainingsvideoframes pro Label und in jedem Frame werden alle Objekte der betroffenen Labels gekennzeichnet. Die Mindestanzahl von Begrenzungsrahmen pro Label ist 10.

  • Mindestgröße des Begrenzungsrahmens: 10 x 10 px.

  • Bei einer Videoframe-Auflösung, die viel größer als 1.024 Pixel x 1.024 Pixel ist, kann während des Frame-Normalisierungsprozesses für das AutoML Video Intelligence Objekt-Tracking etwas Bildqualität verloren gehen.

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

  • Jedes eindeutige Label muss in mindestens 3 unterschiedlichen Videoframes vorhanden sein und muss mindestens 10 Anmerkungen enthalten.

  • Die maximale Anzahl von Videoframes mit Labels in jedem Dataset ist derzeit auf 150.000 begrenzt.

  • Die maximale Gesamtzahl der annotierten Begrenzungsrahmen in jedem Dataset ist derzeit auf 1.000.000 begrenzt.

  • Die maximale Anzahl von Labels in jedem Dataset ist derzeit auf 1.000 begrenzt.

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.

Verwenden Sie zum Identifizieren Ihrer Trainings-, Test- und Validierungsdaten CSV-Dateien, wie im nächsten Abschnitt beschrieben.

CSV-Dateien mit Video-URIs und -Labels erstellen

Wenn Sie Ihre Dateien in Google Cloud Storage hochgeladen haben, können Sie CSV-Dateien erstellen, die alle Trainingsdaten und Labels für diese Daten auflisten. Die CSV-Dateien können einen beliebigen Dateinamen haben, müssen sich aber im selben Bucket wie Ihre Videodateien befinden. Außerdem müssen sie UTF-8-codiert sein und mit der Dateiendung .csv enden.

Es gibt vier Dateien, die Sie zum Trainieren und Überprüfen Ihres Modells verwenden können:

Datei Beschreibung
Liste der Modelltrainingsdateien

Enthält die Pfade zu den CSV-Dateien für die Trainings-, Test- und Validierungsdaten.

In dieser Datei sind die Speicherorte von bis zu drei separaten CSV-Dateien angegeben, in denen Ihre Trainings- und Testdaten aufgeführt sind.

Der Inhalt der CSV-Datei mit den Pfaden kann beispielsweise so aussehen:

Beispiel 1:


TRAIN,gs://domestic-animals-track/horses/videos/train.csv
TEST,gs://domestic-animals-track/horses/videos/test.csv
UNASSIGNED,gs://domestic-animals-track/horses/videos/other.csv

Beispiel 2:


UNASSIGNED,gs://domestic-animals-track/horses/videos/all.csv
Trainingsdaten

Wird verwendet, um das Modell zu trainieren. Enthält Pfade zu Videodateien, den Zeitstempel des Videoframes mit Label, die Koordinaten des Objektbegrenzungsrahmens, das Label der Objektkategorie und die Instanz-ID, die die Objektinstanz in den Videoframes eines Videos identifiziert (optional).

Wenn Sie eine CSV-Datei für Trainingsdaten angeben, müssen Sie auch eine CSV-Datei für Testdaten angeben.

Testdaten

Wird verwendet, um das Modell während der Trainingsphase zu testen. Enthält die gleichen Felder wie in den Trainingsdaten.

Wenn Sie eine CSV-Datei für Testdaten angeben, müssen Sie auch eine CSV-Datei für Trainingsdaten angeben.

Nicht zugewiesene Daten

Wird sowohl zum Trainieren als auch zum Testen des Modells verwendet. Enthält die gleichen Felder wie in den Trainingsdaten. Die Zeilen in der Datei mit nicht zugewiesenen Daten werden automatisch in Trainings- und Testdaten unterteilt, wobei 80 % für Trainings- und 20 % für Testdaten verwendet werden.

Sie können nur eine CSV-Datei für nicht zugewiesene Daten angeben, ohne CSV-Dateien für Trainings- und Testdaten angeben zu müssen. Sie können auch nur die CSV-Dateien für Trainings- und Testdaten angeben, ohne eine CSV-Datei für nicht zugewiesene Daten angeben zu müssen.

Die Übungs-, Test- und nicht zugewiesenen Dateien enthalten eine Zeile mit einem Objektbegrenzungsrahmen in dem Dataset, das Sie hochladen, mit folgenden Spalten in jeder Zeile:

  1. Der Inhalt, der kategorisiert und annotiert werden soll. Dieses Feld enthält den Google Cloud Storage-URI für das Video. Bei Cloud Storage-URIs wird zwischen Groß- und Kleinschreibung unterschieden.

  2. 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 dem AutoML Video Intelligence-Objekt-Tracking können Sie auch Labels mit Leerräumen verwenden.

  3. Eine Instanz-ID, die die Objektinstanz in Videoframes eines Videos identifiziert (optional). Wenn angegeben, verwendet das AutoML Video Intelligence-Objekt-Tracking diese zum Objekt-Tracking, zum Training und zur Bewertung. Die Begrenzungsrahmen derselben Objektinstanz, die in verschiedenen Videoframes vorhanden sind, werden mit derselben Instanz-ID gekennzeichnet. Die Instanz-ID ist nur in jedem Video einmalig, nicht jedoch im Dataset. Wenn beispielsweise zwei Objekte aus zwei verschiedenen Videos dieselbe Instanz-ID haben, heißt das nicht, dass sie dieselbe Objektinstanz haben.

  4. Der Zeitversatz (Zeitstempel) des Objektbegrenzungsrahmens, der den Punkt ab Beginn des Videos angibt. Der Zeitstempel ist eine Gleitkommazahl und die Einheiten werden in Sekunden angegeben.

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

    • Entweder nur 2 Vertices (bestehend aus einem Dataset 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 alle 4 Vertices (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.

    Die AutoML Video Intelligence Object Tracking API erfordert keine bestimmte Vertex-Reihenfolge. Wenn außerdem vier angegebene Vertices kein Rechteck parallel zu den Bildkanten bilden, gibt die AutoML Video Intelligence Object Tracking API Vertices an, die ein solches Rechteck bilden.

Hier einige Beispielzeilen für die CSV-Dateien:

gs://folder/video1.avi,car,,12.90,.8,.2,,,.9,.3,,
gs://folder/video1.avi,bike,,12.50,.45,.45,,,.55,.55,,

The above rows use the following format, since the API assumes exactly two points
are rectangular diagonal vertices (top left vertex, bottom right vertex):

`video_path,label,[instance_id],timestamp,x_min,y_min,,,x_max,y_max,,`

The following format is also valid because it conveys the same information:

`video_path,label,[instance_id],timestamp,x_min,y_min,x_max,y_min,x_max,y_max,x_min,y_max`

and the example rows are:

gs://folder/video1.avi,car,,12.10,0.8,0.8,0.9,0.8,0.9,0.9,0.8,0.9
gs://folder/video1.avi,car,,12.90,0.4,0.8,0.5,0.8,0.5,0.9,0.4,0.9
gs://folder/video1.avi,car,,12.10,.4,.2,.5,.2,.5,.3,.4,.3

Ihre Trainingsdaten müssen mindestens ein Label enthalten.

Sie müssen keine Validierungsdaten angeben, um die Ergebnisse Ihres trainierten Modells überprüfen zu können. Das AutoML Video Intelligence Objekt-Tracking unterteilt die für das Training vorgesehenen Zeilen automatisch in Trainings- und Validierungsdaten, wobei 80 % für das Training und 20 % für die Validierung verwendet werden.

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 Leerzeichen und nicht-alphanumerischen Zeichen für Labels.
  • Leere Zeilen.
  • Leere Spalten (Zeilen mit zwei aufeinanderfolgenden Kommas).
  • Falsche Großschreibung von Cloud Storage-Videopfaden.
  • Falsch konfigurierte Zugriffssteuerung für Videodateien. Ihr Dienstkonto muss mindestens Leseberechtigungen haben oder die Dateien müssen öffentlich lesbar sein.
  • Verweise auf Dateien, die keine Videodateien sind (zum Beispiel PDF- oder PSD-Dateien). Ebenso führen Dateien, die keine Videodateien sind, aber mit einer Dateiendung für Videos umbenannt wurden, zu einem Fehler.
  • URI des Videos verweist auf einen anderen Bucket als das aktuelle Projekt. Der Zugriff ist nur auf Videos im Projekt-Bucket möglich.
  • Nicht CSV-formatierte Dateien