Objek media (resource asset) di gudang (corpus) berisi metadata dan resource annotation. Resource annotation ini merepresentasikan pemetaan
nilai kunci konten dalam asset.
Membuat anotasi aset gudang
Anda harus menyelesaikan langkah-langkah berikut sebelum dapat membuat anotasi untuk aset:
- Membuat resource
assetdi warehouse - Buat
dataSchemadengan kunci yang sama untuk menunjukkan jenis data nilaiannotation
annotation dapat secara opsional memiliki partisi temporal yang terkait dengannya.
Misalnya, jika annotation berlaku untuk keseluruhan asset, Anda dapat menghilangkan partisi temporal yang terkait dengannya. Demikian pula, jika
annotation hanya berlaku untuk bagian tertentu dari video asset, Anda dapat memberikan
rentang waktu asset saat membuat annotation.
Membuat anotasi tanpa partisi temporal
Jika anotasi berlaku untuk keseluruhan video asset Anda tidak perlu
memberikan partisi temporal untuknya. Gunakan contoh berikut untuk membuat annotation yang disediakan pengguna
untuk keseluruhan asset (tidak ada jangka waktu video yang ditentukan).
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- REGIONALIZED_ENDPOINT: Endpoint dapat menyertakan awalan yang cocok dengan
LOCATION_IDsepertieurope-west4-. Lihat informasi selengkapnya tentang endpoint yang diregionalkan. - PROJECT_NUMBER: Nomor project Google Cloud Anda.
- LOCATION_ID: Region tempat Anda menggunakan
Vertex AI Vision. Misalnya:
us-central1,europe-west4. Lihat wilayah yang tersedia. - CORPUS_ID: ID korpus target Anda.
- ASSET_ID: ID aset target Anda.
- ANNOTATION_ID: (Opsional) Nilai yang diberikan pengguna untuk ID anotasi. Dalam
permintaan ini, nilai ditambahkan ke URL permintaan dalam bentuk:
- https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets/ASSET_ID/annotations?annotation_id=ANNOTATION_ID
Metode HTTP dan URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations
Meminta isi JSON:
{
"user_specified_annotation":{
"key": "camera-location",
"value": {
"str_value": "Sunnyvale"
}
}
}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
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
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
$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
Anda akan melihat respons JSON seperti berikut:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID",
"userSpecifiedAnnotation": {
"key": "camera-location",
"value": {
"strValue": "Sunnyvale"
}
}
}
Membuat anotasi dengan partisi temporal
Jika anotasi hanya berlaku untuk sebagian video asset Anda dapat
memberikan rentang waktu untuk bagian video target. Gunakan contoh berikut untuk
membuat annotation yang disediakan pengguna untuk jangka waktu tertentu dari video
asset menggunakan partisi temporal.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- REGIONALIZED_ENDPOINT: Endpoint dapat menyertakan awalan yang cocok dengan
LOCATION_IDsepertieurope-west4-. Lihat informasi selengkapnya tentang endpoint yang diregionalkan. - PROJECT_NUMBER: Nomor project Google Cloud Anda.
- LOCATION_ID: Region tempat Anda menggunakan
Vertex AI Vision. Misalnya:
us-central1,europe-west4. Lihat wilayah yang tersedia. - CORPUS_ID: ID korpus target Anda.
- ASSET_ID: ID aset target Anda.
- ANNOTATION_ID: (Opsional) Nilai yang diberikan pengguna untuk ID anotasi. Dalam
permintaan ini, nilai ditambahkan ke URL permintaan dalam bentuk:
- https://ENDPOINT/v1/[...]/corpora/CORPUS_ID/assets/ASSET_ID/annotations?annotation_id=ANNOTATION_ID
Metode HTTP dan URL:
POST https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations
Meminta isi JSON:
{
"user_specified_annotation": {
"key": "object-detected",
"value": {
"str_value": "cat"
},
"partition": {
"temporal_partition": {
"start_time": {
"seconds": "1630464728"
},
"end_time": {
"seconds": "1630464729"
}
}
}
}
}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
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
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
$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
Anda akan melihat respons JSON seperti berikut:
{
"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"
}
}
}
}
Memperbarui anotasi (tanpa partisi temporal)
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- REGIONALIZED_ENDPOINT: Endpoint dapat menyertakan awalan yang cocok dengan
LOCATION_IDsepertieurope-west4-. Lihat informasi selengkapnya tentang endpoint yang diregionalkan. - PROJECT_NUMBER: Nomor project Google Cloud Anda.
- LOCATION_ID: Region tempat Anda menggunakan
Vertex AI Vision. Misalnya:
us-central1,europe-west4. Lihat wilayah yang tersedia. - CORPUS_ID: ID korpus target Anda.
- ASSET_ID: ID aset target Anda.
- ANNOTATION_ID: ID anotasi target Anda.
Metode HTTP dan URL:
PATCH https://warehouse-visionai.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION_ID/corpora/CORPUS_ID/assets/ASSET_ID/annotations/ANNOTATION_ID
Meminta isi JSON:
{
"user_specified_annotation":{
"key": "camera-location",
"value": {
"str_value": "UPDATED_FIELD_VALUE"
}
}
}
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
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
Simpan isi permintaan dalam file bernama request.json,
dan jalankan perintah berikut:
$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
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
{
"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"
}
}
}