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
dataSchemamit demselben Schlüssel, um den Datentyp desannotation-Werts anzugeben.
Einem annotation kann optional eine temporale Partition zugeordnet sein.
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 sich eine Anmerkung auf das gesamte Video bezieht, musst du keine Zeitpartition 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 regionalen 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 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 regionalen 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 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 regionalen 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"
}
}
}