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 Annotation für ein Asset erstellen können:
asset-Ressource in einem Warehouse erstellendataSchemamit demselben Schlüssel erstellen, um den Datentyp desannotation-Werts anzugeben
Einer annotation kann optional eine zeitliche Partition zugeordnet sein.
Wenn eine annotation beispielsweise auf das gesamte asset angewendet wird, können Sie die zugehörige zeitliche Partition weglassen. Wenn eine annotation nur auf einen bestimmten Teil eines Video-asset angewendet wird, können Sie beim Erstellen der annotation den Zeitraum des asset angeben.
Annotation ohne zeitliche Partition erstellen
Wenn eine Annotation auf das gesamte Video-asset angewendet wird, müssen Sie keine zeitliche Partition angeben. Verwenden Sie das folgende Beispiel, um eine vom Nutzer bereitgestellte annotation für ein ganzes asset zu erstellen (kein Zeitraum für das Video angegeben).
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- REGIONALIZED_ENDPOINT: Der Endpunkt kann ein Präfix enthalten, das mit der
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
Agent Platform Vision verwenden. Beispiel:
us-central1,europe-west4. Verfügbare Regionen ansehen. - CORPUS_ID: Die ID Ihres Ziel-Corpus.
- 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 Form zur Anfrage-URL 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 zeitlicher Partition erstellen
Wenn eine Annotation nur auf einen Teil eines Video-asset angewendet wird, können Sie einen Zeitraum für den Zielvideobereich angeben. Verwenden Sie das folgende Beispiel, um eine vom Nutzer bereitgestellte annotation für einen bestimmten Zeitraum eines Video-asset mit einer zeitlichen Partition zu erstellen.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- REGIONALIZED_ENDPOINT: Der Endpunkt kann ein Präfix enthalten, das mit der
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
Agent Platform Vision verwenden. Beispiel:
us-central1,europe-west4. Verfügbare Regionen ansehen. - CORPUS_ID: Die ID Ihres Ziel-Corpus.
- 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 Form zur Anfrage-URL 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 zeitliche Partition)
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- REGIONALIZED_ENDPOINT: Der Endpunkt kann ein Präfix enthalten, das mit der
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
Agent Platform Vision verwenden. Beispiel:
us-central1,europe-west4. Verfügbare Regionen ansehen. - CORPUS_ID: Die ID Ihres Ziel-Corpus.
- ASSET_ID: Die ID Ihres Ziel-Assets.
- ANNOTATION_ID: Die ID Ihrer Ziel-Annotation.
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"
}
}
}