Mit dem Objekt-Tracking können in einem Eingabevideo Objekte erkannt werden. Um eine Objekt-Tracking-Anfrage zu stellen, rufen Sie die Methode annotate
auf und geben Sie OBJECT_TRACKING
im Feld features
an.
Bei Entitäten und räumlichen Standorten, die in einem Video oder Videosegmenten erkannt wurden, wird in der Objekt-Tracking-Anfrage das Video mit den entsprechenden Labels für diese Entitäten und räumlichen Standorte gekennzeichnet. Zum Beispiel können für ein Video von Fahrzeugen, die über eine Ampel fahren, Labels wie „Auto“, „LKW“, „Fahrrad“, „Reifen“, „Ampel“, „Fenster“ usw. erzeugt werden. Jedes Label kann mehrere Begrenzungsrahmen enthalten, wobei jedem Begrenzungsrahmen ein Zeitsegment mit einem Zeitstempel zugeordnet ist, der die Versatzzeit vom Beginn des Videos angibt. Die Anmerkung enthält außerdem zusätzliche Elementinformationen wie eine Element-ID, mit der Sie weitere Informationen zu diesem Element in der Google Knowledge Graph Search API finden können.
Objekt-Tracking und Labelerkennung im Vergleich
Objekt-Tracking unterscheidet sich von der Labelerkennung. Bei der Labelerkennung werden Labels ohne Begrenzungsrahmen bereitgestellt, während beim Objekt-Tracking bei jedem Schritt die Labels der einzelnen Objekte in einem bestimmten Video zusammen mit dem Begrenzungsrahmen jeder Objektinstanz bereitgestellt werden.
Mehrere Instanzen desselben Objekttyps werden verschiedenen Instanzen der Nachricht ObjectTrackingAnnotation
zugewiesen, bei denen alle Vorkommen eines bestimmten Objekt-Tracks in einer eigenen Instanz von ObjectTrackingAnnotation
gespeichert sind. Wenn beispielsweise in einem Video ein rotes Auto und ein blaues Auto fünf Sekunden lang angezeigt werden, sollte die Tracking-Anfrage zwei Instanzen von ObjectTrackingAnnotation
zurückgeben. Die erste Instanz enthält die Standorte der beiden Fahrzeuge, z. B. das rote Auto, während die zweite die Standorte des anderen Autos enthält.
Objekt-Tracking für ein Video in Cloud Storage anfordern
Die folgenden Beispiele zeigen Objekt-Tracking für eine Datei in Cloud Storage.
REST
Prozessanfrage senden
Im Folgenden wird gezeigt, wie eine POST
-Anfrage an die Methode annotate
gesendet wird.
In diesem Beispiel wird das Zugriffstoken für ein Dienstkonto verwendet, das mit der Google Cloud CLI für das Projekt eingerichtet wurde. Anleitungen zum Installieren der Google Cloud CLI, zum Einrichten eines Projekts mit einem Dienstkonto und zum Abrufen eines Zugriffstokens finden Sie in der Kurzanleitung zu Video Intelligence.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- INPUT_URI: STORAGE_URI
Beispiel:
"inputUri": "gs://cloud-videointelligence-demo/assistant.mp4",
- PROJECT_NUMBER: die numerische Kennung Ihres Google Cloud-Projekts
HTTP-Methode und URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
JSON-Text der Anfrage:
{ "inputUri": "STORAGE_URI", "features": ["OBJECT_TRACKING"] }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID" }
Wenn die Anfrage erfolgreich ist, gibt die Video Intelligence API den name
Ihres Vorgangs zurück. Das Beispiel oben zeigt eine solche Antwort, wobei PROJECT_NUMBER
die Nummer Ihres Projekts und OPERATION_ID
die ID des lang andauernden Vorgangs ist, der für die Anfrage erstellt wurde.
Ergebnisse abrufen
Senden Sie eine GET
mit dem vom Aufruf an videos:annotate
zurückgegebenen Vorgangsnamen, wie im folgenden Beispiel gezeigt, um die Ergebnisse Ihrer Anfrage zu erhalten.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- OPERATION_NAME: Der von der Video Intelligence API zurückgegebene Name des Vorgangs. Der Vorgangsname hat das Format
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID
. - PROJECT_NUMBER: die numerische Kennung Ihres Google Cloud-Projekts
HTTP-Methode und URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Annotationsergebnisse herunterladen
Kopieren Sie die Annotation aus der Quelle in den Ziel-Bucket (siehe Dateien und Objekte kopieren)
gsutil cp gcs_uri gs://my-bucket
Hinweis: Wenn der Nutzer den Ausgabe-gcs-URI vom Nutzer bereitstellt, wird die Annotation in diesem gcs-uri gespeichert.
Go
Java
Node.js
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Video Intelligence zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Video Intelligence-Referenzdokumentation für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Video Intelligence-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Video Intelligence-Referenzdokumentation für Ruby auf.
Objekt-Tracking für Video aus einer lokalen Datei anfordern
Die folgenden Beispiele zeigen Objekt-Tracking für eine lokal gespeicherte Datei.
REST
Prozessanfrage senden
Wenn Sie in einer lokalen Videodatei Anmerkungen erstellen möchten, codieren Sie den Inhalt der Videodatei mit Base64.
Fügen Sie den Base64-codierten Inhalt in das Feld inputContent
der Anfrage ein.
Informationen zum Base64-Codieren des Inhalts einer Videodatei finden Sie unter Base64-Codierung.
Im Folgenden wird gezeigt, wie eine POST
-Anfrage an die Methode videos:annotate
gesendet wird. In diesem Beispiel wird das Zugriffstoken für ein Dienstkonto verwendet, das mit der Google Cloud CLI für das Projekt eingerichtet wurde. Eine Anleitung zum Installieren der Google Cloud CLI, zum Einrichten eines Projekts mit einem Dienstkonto und zum Abrufen eines Zugriffstokens finden Sie in der Kurzanleitung zu Video Intelligence.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- inputContent: BASE64_ENCODED_CONTENT
Beispiel:"UklGRg41AwBBVkkgTElTVAwBAABoZHJsYXZpaDgAAAA1ggAAxPMBAAAAAAAQCAA..."
- PROJECT_NUMBER: die numerische Kennung Ihres Google Cloud-Projekts
HTTP-Methode und URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
JSON-Text der Anfrage:
{ "inputContent": "BASE64_ENCODED_CONTENT", "features": ["OBJECT_TRACKING"] }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
Wenn die Anfrage erfolgreich ist, startet Video Intelligence das name
für Ihren Vorgang. Das folgende Beispiel zeigt eine solche Antwort, wobei PROJECT_NUMBER
die Nummer Ihres Projekts und OPERATION_ID
die ID des lang andauernden Vorgangs ist, der für die Anfrage erstellt wurde.
Ergebnisse abrufen
Senden Sie eine GET
mit dem vom Aufruf an videos:annotate
zurückgegebenen Vorgangsnamen, wie im folgenden Beispiel gezeigt, um die Ergebnisse Ihrer Anfrage zu erhalten.
Bevor Sie die Anfragedaten verwenden, ersetzen Sie die folgenden Werte:
- OPERATION_NAME: Der von der Video Intelligence API zurückgegebene Name des Vorgangs. Der Vorgangsname hat das Format
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID
. - PROJECT_NUMBER: die numerische Kennung Ihres Google Cloud-Projekts
HTTP-Methode und URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Go
Java
Node.js
Richten Sie Standardanmeldedaten für Anwendungen ein, um sich bei Video Intelligence zu authentifizieren. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Python
Weitere Sprachen
C#: Folgen Sie der Anleitung zur Einrichtung von C# auf der Seite der Clientbibliotheken und rufen Sie dann die Video Intelligence-Referenzdokumentation für .NET auf.
PHP: Folgen Sie der Anleitung zur Einrichtung von PHP auf der Seite der Clientbibliotheken und rufen Sie dann die Video Intelligence-Referenzdokumentation für PHP auf.
Ruby: Folgen Sie der Anleitung zur Einrichtung von Ruby auf der Seite der Clientbibliotheken und rufen Sie dann die Video Intelligence-Referenzdokumentation für Ruby auf.