Objekte in Videos verfolgen
Nachdem Sie ein Modell erstellt (trainiert) haben, können Sie mit der Methode batchPredict
eine Vorhersageanfrage für ein oder mehrere Videos senden. Stellen Sie für die Methode batchPredict
eine CSV-Datei mit einer Liste von Videos bereit.
Die Methode batchPredict
annotiert Videos, indem sie Objekte erkennt und beobachtet, die Ihr Modell vorhersagt.
Ein Modell hat eine Lebensdauer von höchstens zwei Jahren. Nach zwei Jahren müssen Sie ein neues Modell erstellen und trainieren, um Ihre Videos weiterhin annotieren zu können.
Beispiele zu Vorhersagen
Um einen Satz von Vorhersagen von AutoML Video Object Tracking anzufordern, erstellen Sie eine CSV-Datei mit den Cloud Storage-Pfaden zu den Videos, die Sie annotieren möchten. Sie können auch eine Start- und Endzeit angeben, damit AutoML Video Object Tracking nur ein Segment des Videos annotiert. Die Startzeit muss null oder größer sein und vor der Endzeit liegen. Die Endzeit muss größer als die Startzeit und kleiner oder gleich der Dauer des Videos sein.
Im folgenden Beispiel wird gezeigt, wie Sie ein vollständiges Video annotieren. Dazu geben Sie eine Start- und Endzeit als 0,inf
an.
gs://my-videos-vcm/cow_video.mp4,0,inf gs://my-videos-vcm/bird_video.mp4,10.00000,15.50000
Sie müssen außerdem einen Ausgabedateipfad angeben, in den das AutoML Video-Objekt-Tracking die Ergebnisse der Vorhersagen aus Ihrem Modell schreiben soll. Dieser Pfad muss ein Cloud Storage-Bucket und ein Objekt sein, für das Sie Schreibberechtigungen haben.
Jedes Video kann eine Dauer von bis zu 3 Stunden haben. Die maximale Dateigröße beträgt 50 GB. Das AutoML Video-Objekt-Tracking kann Vorhersagen für etwa 100 Stunden Videomaterial in 12 Stunden Verarbeitungszeit generieren.
Web-UI
- Öffnen Sie die AutoML Video Object Tracking-UI.
- Klicken Sie in der angezeigten Liste auf das Modell, das Sie verwenden möchten.
- Führen Sie auf dem Tab Test & Use (Test und Nutzung) des Modells die folgenden Schritte aus:
- Wählen Sie unter Modell testen eine CSV-Datei aus, die für die Vorhersage verwendet werden soll. Die CSV-Datei muss eine Liste mit Videos enthalten, die Sie annotieren möchten.
Wählen Sie außerdem unter Test your model (Modell testen) ein Verzeichnis in Ihrem Cloud Storage-Bucket aus, in dem die Anmerkungsergebnisse gespeichert werden sollen.
Sie können in Ihrem Cloud Storage-Bucket einen Ordner "Ergebnisse" erstellen, in dem die Anmerkungsergebnisse gespeichert werden.
- Klicken Sie auf Vorhersagen abrufen.
Der Vorgang zum Abrufen von Vorhersagen kann je nach Anzahl der Videos, die Sie mit Anmerkungen versehen möchten, einige Zeit in Anspruch nehmen.
Wenn der Vorgang abgeschlossen ist, werden die Ergebnisse auf der Seite für das Modell unter Aktuelle Vorhersagen angezeigt. Führen Sie folgende Schritte aus, um die Ergebnisse aufzurufen:
- Klicken Sie unter Aktuelle Vorhersagen in der Spalte Vorhersagen auf Ansehen für die Vorhersage, die Sie ansehen möchten.
- Wählen Sie unter Video den Namen des Videos aus, für das Sie die Ergebnisse aufrufen möchten.
REST
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- model-id: Ersetzen Sie diesen Wert durch die ID Ihres Modells. Die ID ist das letzte Element des Modellnamens. Wenn das Modell beispielsweise den Namen
projects/project-number/locations/location-id/models/VOT6312181905852727296
hat, lautet die Modell-IDVOT6312181905852727296
. - request-id: Weisen Sie diesem Feld einen beliebigen digitalen Wert zu.
- Ersetzen Sie bucket-name durch den Namen des Cloud Storage-Buckets. Beispiel:
my-project-vcm
- input-file: Ersetzen Sie diesen Wert durch den Namen der CSV-Datei, in der die zu annotierenden Videos angegeben sind.
- output-storage-path: Ersetzen Sie den Pfad zum Cloud Storage-Bucket, in dem die Ausgabe der Vorhersagen gespeichert werden soll.
AutoML Video Object Tracking erstellt einen Unterordner für die Ergebnisse in diesem Pfad mit dem folgenden Format:
prediction-model_name-timestamp
. In dem Unterordner wird für jedes Video in der Batchanfrage jeweils eine Vorhersagedatei erstellt. Sie benötigen Schreibberechtigungen für diesen Pfad. - Hinweis:
- project-number: Nummer Ihres Projekts
- location-id: Die Cloud-Region, in der die Annotation erfolgen soll. Unterstützte Cloud-Regionen sind:
us-east1
,us-west1
,europe-west1
,asia-east1
. Wenn keine Region angegeben ist, wird eine Region basierend auf dem Speicherort der Videodatei festgelegt.
HTTP-Methode und URL:
POST https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/models/model-id:batchPredict
JSON-Text der Anfrage:
{ "request_id": "request-id", "inputConfig": { "gcsSource": { "inputUris": ["gs://bucket-name/input-file.csv"] } }, "outputConfig": { "gcsDestination": { "outputUriPrefix": "gs://output-storage-path" } }, "params": { "score_threshold": "0.0" } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/models/model-id:batchPredict"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/models/model-id:batchPredict" | Select-Object -Expand Content
VOT1741767155885539328
enthält.
Java
Zur Authentifizierung bei AutoML Video Object Tracking richten Sie Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Zur Authentifizierung bei AutoML Video Object Tracking richten Sie Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Zur Authentifizierung bei AutoML Video Object Tracking richten Sie Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Status des Vorhersagevorgangs abfragen
Sie können den Status Ihres Batchvorhersagevorgangs mit den folgenden curl
- oder PowerShell-Befehlen abfragen.
REST
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- project-number: Die Nummer Ihres Projekts
- location-id: Die Cloud-Region, in der die Annotation stattfinden soll. Unterstützte Cloud-Regionen sind:
us-east1
,us-west1
,europe-west1
,asia-east1
. Wenn keine Region angegeben ist, wird eine Region basierend auf dem Speicherort der Videodatei festgelegt. - operation-id: Die ID des lang andauernden Vorgangs, der für die Anfrage erstellt und in der Antwort beim Start des Vorgangs angegeben wurde, z. B.
VOT12345....
HTTP-Methode und URL:
GET https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/operations/operation-id
Senden Sie die Anfrage mithilfe einer der folgenden Optionen:
curl
Führen Sie folgenden Befehl aus:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/operations/operation-id"
PowerShell
Führen Sie folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/operations/operation-id" | Select-Object -Expand Content
projects/project-number/locations/location-id/operations/operation-id
Wenn die Batchvorhersage abgeschlossen ist, wird die Ausgabe der Vorhersage in dem Cloud Storage-Speicherort gespeichert, den Sie in Ihrem Befehl angegeben haben. Für jedes Videosegment gibt es eine JSON-Datei. Die JSON-Dateien haben ein ähnliches Format wie my-video-01.avi.json, wobei die Dateiendung der Erweiterung .json an den ursprünglichen Dateinamen angehängt wird.
{ "inputUris": ["automl-video-demo-data/sample_video.avi"], "object_annotations": [ { "annotation_spec": { "display_name": "Cat", "description": "Cat" }, "confidence": 0.43253016 "frames": [ { "frame": { "time_offset": { "seconds": 4, "nanos": 960000000 }, "normalized_bounding_box": { "x_min": 0.1, "y_min": 0.1, "x_max": 0.8, "y_max": 0.8 } } }, { "frame": { "time_offset": { "seconds": 5, "nanos": 960000000 }, "normalized_bounding_box": { "x_min": 0.2, "y_min": 0.2, "x_max": 0.9, "y_max": 0.9 } } } ], "segment": { "start_time_offset": { "seconds": 4, "nanos": 960000000 }, "end_time_offset": { "seconds": 5, "nanos": 960000000 } } } ], "error": { "details": [ ] } }