Membuat anotasi aset warehouse

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 nilai annotation

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 seperti europe-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 seperti europe-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 seperti europe-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"
    }
  }
}