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 warehouse
Anda harus menyelesaikan langkah-langkah berikut sebelum dapat membuat anotasi untuk aset:
- Membuat resource
asset
di warehouse - Buat
dataSchema
dengan 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_ID
sepertieurope-west4-
. Lihat informasi selengkapnya tentang endpoint yang diregionalkan. - PROJECT_NUMBER: Google Cloud Nomor project 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
Isi JSON permintaan:
{ "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_ID
sepertieurope-west4-
. Lihat informasi selengkapnya tentang endpoint yang diregionalkan. - PROJECT_NUMBER: Google Cloud Nomor project 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
Isi JSON permintaan:
{ "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_ID
sepertieurope-west4-
. Lihat informasi selengkapnya tentang endpoint yang diregionalkan. - PROJECT_NUMBER: Google Cloud Nomor project 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
Isi JSON permintaan:
{ "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" } } }