Media-Objekte (asset
-Ressourcen) in einem Warehouse (corpus
) enthalten Metadaten und annotation
-Ressourcen. Diese annotation
-Ressourcen stellen eine Schlüssel-Wert-Zuordnung von Inhalten in einem asset
dar.
Warehouse-Asset-Annotation erstellen
Sie müssen die folgenden Schritte ausführen, bevor Sie eine Anmerkung für ein Asset erstellen können:
asset
-Ressource in einem Warehouse erstellen- Erstellen Sie ein
dataSchema
mit demselben Schlüssel, um den Datentyp desannotation
-Werts anzugeben.
Ein annotation
kann optional eine temporale Partition haben.
Wenn beispielsweise ein annotation
für das gesamte asset
gilt, können Sie alle zugehörigen temporären Partitionen weglassen. Wenn sich ein annotation
nur auf einen bestimmten Teil eines Videos asset
bezieht, können Sie beim Erstellen des annotation
den Zeitraum des asset
angeben.
Annotation ohne temporale Partition erstellen
Wenn eine Anmerkung für das gesamte Video gilt, musst du keine zeitliche Partition dafür angeben.asset
Im folgenden Beispiel wird ein vom Nutzer bereitgestelltes annotation
für ein ganzes asset
erstellt (kein Videozeitraum angegeben).
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- REGIONALIZED_ENDPOINT: Der Endpunkt kann ein Präfix enthalten, das mit dem
LOCATION_ID
übereinstimmt, z. B.europe-west4-
. Weitere Informationen zu regionalisierten Endpunkten - PROJECT_NUMBER: Ihre Google Cloud Projektnummer.
- LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiele:
us-central1
,europe-west4
. Verfügbare Regionen - CORPUS_ID: Die ID Ihres Zielkorpus.
- ASSET_ID: Die ID Ihres Ziel-Assets.
- ANNOTATION_ID: (Optional) Ein vom Nutzer angegebener Wert für die Annotations-ID. In dieser Anfrage wird der Wert in der Anfrage-URL in folgender Form hinzugefügt:
- https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets/ASSET_ID/annotations?annotation_id=ANNOTATION_ID
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations
JSON-Text der Anfrage:
{ "user_specified_annotation":{ "key": "camera-location", "value": { "str_value": "Sunnyvale" } } }
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 "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations"
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" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID", "userSpecifiedAnnotation": { "key": "camera-location", "value": { "strValue": "Sunnyvale" } } }
Annotation mit einer temporären Partition erstellen
Wenn eine Anmerkung nur für einen Teil eines Videos gilt, können Sie einen Zeitraum für den entsprechenden Videoabschnitt angeben.asset
Mit dem folgenden Beispiel können Sie einen benutzerdefinierten annotation
für einen bestimmten Zeitraum eines Videos asset
mithilfe einer temporären Partition erstellen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- REGIONALIZED_ENDPOINT: Der Endpunkt kann ein Präfix enthalten, das mit dem
LOCATION_ID
übereinstimmt, z. B.europe-west4-
. Weitere Informationen zu regionalisierten Endpunkten - PROJECT_NUMBER: Ihre Google Cloud Projektnummer.
- LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiele:
us-central1
,europe-west4
. Verfügbare Regionen - CORPUS_ID: Die ID Ihres Zielkorpus.
- ASSET_ID: Die ID Ihres Ziel-Assets.
- ANNOTATION_ID: (Optional) Ein vom Nutzer angegebener Wert für die Annotations-ID. In dieser Anfrage wird der Wert in der Anfrage-URL in folgender Form hinzugefügt:
- https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets/ASSET_ID/annotations?annotation_id=ANNOTATION_ID
HTTP-Methode und URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations
JSON-Text der Anfrage:
{ "user_specified_annotation": { "key": "object-detected", "value": { "str_value": "cat" }, "partition": { "temporal_partition": { "start_time": { "seconds": "1630464728" }, "end_time": { "seconds": "1630464729" } } } } }
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 "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations"
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" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID", "userSpecifiedAnnotation": { "key": "object-detected", "value": { "strValue": "cat" }, "partition": { "temporalPartition": { "startTime": "2022-09-14T20:33:09Z", "endTime": "2022-09-14T20:33:39Z" } } } }
Annotation aktualisieren (keine temporale Partition)
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- REGIONALIZED_ENDPOINT: Der Endpunkt kann ein Präfix enthalten, das mit dem
LOCATION_ID
übereinstimmt, z. B.europe-west4-
. Weitere Informationen zu regionalisierten Endpunkten - PROJECT_NUMBER: Ihre Google Cloud Projektnummer.
- LOCATION_ID: Die Region, in der Sie Vertex AI Vision verwenden. Beispiele:
us-central1
,europe-west4
. Verfügbare Regionen - CORPUS_ID: Die ID Ihres Zielkorpus.
- ASSET_ID: Die ID Ihres Ziel-Assets.
- ANNOTATION_ID: Die ID der Zielanmerkung.
HTTP-Methode und URL:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID
JSON-Text der Anfrage:
{ "user_specified_annotation":{ "key": "camera-location", "value": { "str_value": "UPDATED_FIELD_VALUE" } } }
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 PATCH \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID"
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" }
Invoke-WebRequest `
-Method PATCH `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID", "userSpecifiedAnnotation": { "key": "camera-location", "value": { "strValue": "UPDATED_FIELD_VALUE" } } }