Melacak objek video menggunakan command line
Panduan memulai ini akan memandu Anda terkait proses:
- Menyalin sekumpulan video ke Cloud Storage.
- Membuat file CSV yang mencantumkan video dan labelnya.
- Menggunakan AutoML Video Object Tracking untuk membuat set data guna melatih dan menggunakan model Anda.
Sebelum memulai
Menyiapkan project
- Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
- Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat atau pilih project Google Cloud.
-
Membuat project Google Cloud:
gcloud projects create PROJECT_ID
Ganti
PROJECT_ID
dengan nama untuk project Google Cloud yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_ID
dengan nama project Google Cloud Anda.
-
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Enable the AutoML and Cloud Storage APIs:
gcloud services enable storage-component.googleapis.com
automl.googleapis.com storage-api.googleapis.com - Menginstal Google Cloud CLI.
-
Untuk initialize gcloud CLI, jalankan perintah berikut:
gcloud init
-
Buat atau pilih project Google Cloud.
-
Membuat project Google Cloud:
gcloud projects create PROJECT_ID
Ganti
PROJECT_ID
dengan nama untuk project Google Cloud yang Anda buat. -
Pilih project Google Cloud yang Anda buat:
gcloud config set project PROJECT_ID
Ganti
PROJECT_ID
dengan nama project Google Cloud Anda.
-
-
Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.
-
Enable the AutoML and Cloud Storage APIs:
gcloud services enable storage-component.googleapis.com
automl.googleapis.com storage-api.googleapis.com - Tetapkan variabel lingkungan
PROJECT_ID
ke Project ID Anda.export PROJECT_ID=PROJECT_ID
Panggilan dan nama resource AutoML API akan menyertakan Project ID Anda di dalamnya. Variabel lingkunganPROJECT_ID
menyediakan cara yang mudah untuk menentukan ID.
Membuat set data dan mengimpor data pelatihan
Membuat set data
Tentukan nama untuk set data Anda dan gunakan perintah curl
atau PowerShell berikut untuk membuat set data baru dengan nama tersebut.
REST
Berikut ini cara mengirim permintaan POST. Contoh tersebut menggunakan Google Cloud CLI untuk membuat token akses. Untuk mengetahui petunjuk cara menginstal gcloud CLI, baca Panduan Memulai AutoML Video Intelligence Object Tracking.Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- dataset-name: nama set data target Anda.
Misalnya,my_dataset_01
- Catatan:
- project-number: nomor project Anda
- location-id: region Cloud tempat anotasi
seharusnya dilakukan. Region cloud yang didukung adalah:
us-east1
,us-west1
,europe-west1
,asia-east1
. Jika tidak ada wilayah yang ditentukan, wilayah akan ditentukan berdasarkan lokasi file video.
Metode HTTP dan URL:
POST https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets
Isi JSON permintaan:
{ "displayName": "dataset-name", "videoObjectTrackingDatasetMetadata": { } }
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 "x-goog-user-project: project-number" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets" | Select-Object -Expand Content
VOT12345....
Mengimpor data pelatihan
REST
Untuk mengimpor data pelatihan, gunakan metodeimportData
. Metode
ini mengharuskan Anda memberikan dua parameter:
- jalur ke CSV yang berisi jalur ke pelatihan,
- file CSV data pengujian. Catatan: File ini tersedia di bucket "automl-video-demo-data" di Cloud Storage.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- dataset-id: ID set data Anda. ID adalah elemen terakhir dari nama set data Anda. Contoh:
- nama set data:
projects/project-number/locations/location-id/datasets/3104518874390609379
- id set data:
3104518874390609379
- nama set data:
- bucket-name: ganti dengan nama bucket Cloud Storage tempat Anda menyimpan file CSV daftar file pelatihan model.
- csv-file-name: ganti dengan nama file CSV daftar file pelatihan model Anda.
- Catatan:
- project-number: nomor project Anda
- location-id: region Cloud tempat anotasi
seharusnya dilakukan. Region cloud yang didukung adalah:
us-east1
,us-west1
,europe-west1
,asia-east1
. Jika tidak ada wilayah yang ditentukan, wilayah akan ditentukan berdasarkan lokasi file video.
Metode HTTP dan URL:
POST https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id:importData
Isi JSON permintaan:
{ "inputConfig": { "gcsSource": { "inputUris": ["gs://bucket-name/csv-file-name.csv"] } } }
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 "x-goog-user-project: project-number" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id:importData"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id:importData" | Select-Object -Expand Content
VOT7506374678919774208
.
Mendapatkan status operasi impor
Anda dapat mengkueri status operasi impor data menggunakan perintah
curl
atau PowerShell berikut.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- operation-id: ID operasi yang berjalan lama yang dibuat
untuk permintaan dan diberikan dalam respons saat Anda memulai
operasi, misalnya
VOT12345....
- Catatan:
- project-number: nomor project Anda
- location-id: region Cloud tempat anotasi
seharusnya dilakukan. Region cloud yang didukung adalah:
us-east1
,us-west1
,europe-west1
,asia-east1
. Jika tidak ada wilayah yang ditentukan, wilayah akan ditentukan berdasarkan lokasi file video.
Metode HTTP dan URL:
GET https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/operations/operation-id
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/operations/operation-id"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/operations/operation-id" | Select-Object -Expand Content
done: true
tanpa error yang tercantum, seperti yang ditunjukkan pada contoh di atas.
- operation-name: nama operasi seperti yang ditampilkan oleh AutoML Video Intelligence Object Tracking API. Nama operasi memiliki format
projects/project-number/locations/location-id/operations/operation-id
Mencantumkan semua set data
Gunakan perintah curl
atau PowerShell berikut untuk mendapatkan daftar set data dan jumlah video contoh yang diimpor ke set data.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-number: jumlah project Anda
- location-id: region Cloud tempat anotasi seharusnya dilakukan. Region cloud yang didukung adalah:
us-east1
,us-west1
,europe-west1
,asia-east1
. Jika tidak ada wilayah yang ditentukan, wilayah akan ditentukan berdasarkan lokasi file video.
Metode HTTP dan URL:
GET https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets "
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets " | Select-Object -Expand Content
VOT3940649673949184000
adalah ID operasi dari operasi yang berjalan lama yang dibuat untuk permintaan dan diberikan dalam respons saat Anda memulai operasi.
Latih model Anda
Meluncurkan operasi pelatihan model
Setelah membuat set data dan mengimpor data pelatihan ke dalam
set data, Anda dapat melatih model kustom. Latih model Anda menggunakan perintah curl
atau PowerShell berikut.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- dataset-id: nama set data target Anda.
Misalnya, nama tampilan
my_dataset_01
). - model-name: ganti dengan nama yang Anda pilih untuk model Anda.
- Catatan:
- project-number: nomor project Anda
- location-id: region Cloud tempat anotasi
seharusnya dilakukan. Region cloud yang didukung adalah:
us-east1
,us-west1
,europe-west1
,asia-east1
. Jika tidak ada wilayah yang ditentukan, wilayah akan ditentukan berdasarkan lokasi file video.
Metode HTTP dan URL:
POST https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/models
Isi JSON permintaan:
{ "datasetId": "dataset-id", "displayName": "model-name", "videoObjectTrackingModelMetadata": {}, }
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 "x-goog-user-project: project-number" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/models"
PowerShell
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/models" | Select-Object -Expand Content
VOT1741767155885539328
.
Mendapatkan status operasi pelatihan model
Anda dapat membuat kueri status operasi pelatihan model menggunakan perintah curl
atau PowerShell berikut.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- operation-name: nama operasi seperti yang ditampilkan oleh AutoML Video Intelligence Object Tracking API. Nama operasi memiliki format
projects/project-number/locations/location-id/operations/operation-id
- Catatan:
- project-number: nomor project Anda
- location-id: region Cloud tempat anotasi
seharusnya dilakukan. Region cloud yang didukung adalah:
us-east1
,us-west1
,europe-west1
,asia-east1
. Jika tidak ada wilayah yang ditentukan, wilayah akan ditentukan berdasarkan lokasi file video.
Metode HTTP dan URL:
GET https://automl.googleapis.com/v1beta1/operation-name
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
"https://automl.googleapis.com/v1beta1/operation-name"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1beta1/operation-name" | Select-Object -Expand Content
done: true
tanpa
error yang tercantum.
Memverifikasi bahwa model tersedia
Setelah operasi pelatihan model berhasil diselesaikan, Anda dapat memverifikasi bahwa model Anda tersedia dengan menggunakan perintah berikut untuk membuat daftar model untuk project Anda.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-number: jumlah project Anda
- location-id: region Cloud tempat anotasi seharusnya dilakukan. Region cloud yang didukung adalah:
us-east1
,us-west1
,europe-west1
,asia-east1
. Jika tidak ada wilayah yang ditentukan, wilayah akan ditentukan berdasarkan lokasi file video.
Metode HTTP dan URL:
GET https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/models
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Membuat Prediksi
Anda dapat meminta anotasi (prediksi) untuk video dengan menggunakan metode batchPredict. Metode batchPredict
memerlukan dua input:
- file CSV yang tersimpan di bucket Cloud Storage yang berisi jalur ke video yang akan dianotasi,
- waktu mulai dan berakhir yang mengidentifikasi segmen video untuk diberi anotasi.
Untuk panduan memulai ini, gunakan file CSV yang bernama traffic_video_batch_predict.csv
.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- model-id: ganti dengan ID untuk model Anda
- input-uri: bucket Cloud Storage yang berisi file yang ingin Anda beri anotasi, termasuk nama file-nya. Harus
diawali dengan
gs://
.
Contoh:"inputUris": ["gs://automl-video-demo-data/traffic_videos/traffic_video_batch_predict.csv"],
- output-bucket: ganti dengan bucket Cloud Storage yang akan berisi hasil prediksi Anda.
- object-id: ganti dengan nama objek yang mengidentifikasi tempat untuk menyimpan output permintaan prediksi Anda di bucket Cloud Storage. Catatan: Anda harus memiliki izin tulis ke bucket Cloud Storage.
- Catatan:
- project-number: nomor project Anda
- location-id: region Cloud tempat anotasi
seharusnya dilakukan. Region cloud yang didukung adalah:
us-east1
,us-west1
,europe-west1
,asia-east1
. Jika tidak ada wilayah yang ditentukan, wilayah akan ditentukan berdasarkan lokasi file video.
Metode HTTP dan URL:
POST https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/models/model-id:batchPredict
Meminta isi JSON:
{ "inputConfig": { "gcsSource": { "inputUris": ["input-uri"] } }, "outputConfig": { "gcsDestination": { "outputUriPrefix": "gs://output-bucket/object-id" } } "params": { "score_threshold": "0.0" } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
Mendapatkan status operasi prediksi
Anda dapat membuat kueri status operasi prediksi batch menggunakan
perintah curl
atau PowerShell berikut.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-number: jumlah project Anda
- location-id: region Cloud tempat anotasi seharusnya dilakukan. Region cloud yang didukung adalah:
us-east1
,us-west1
,europe-west1
,asia-east1
. Jika tidak ada wilayah yang ditentukan, wilayah akan ditentukan berdasarkan lokasi file video. - operation-id: ID operasi yang berjalan lama yang dibuat
untuk permintaan dan diberikan dalam respons saat Anda memulai
operasi, misalnya
VOT12345....
Metode HTTP dan URL:
GET https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/operations/operation-id
Untuk mengirim permintaan Anda, pilih salah satu opsi berikut:
curl
Jalankan perintah berikut:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: project-number" \
"https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/operations/operation-id"
PowerShell
Jalankan perintah berikut:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "project-number" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/operations/operation-id" | Select-Object -Expand Content
projects/project-number/locations/location-id/operations/operation-id
Setelah tugas prediksi batch selesai, output prediksi disimpan di bucket Cloud Storage yang Anda tentukan dalam perintah. Ada file JSON untuk setiap segmen video. File JSON memiliki format yang mirip dengan my-video-01.avi.json, dengan ekstensi file .json yang ditambahkan ke nama file asli.
{ "inputUris": ["automl-video-demo-data/sample_video.avi"], "object_annotations": [ { "annotation_spec": { "display_name": "Cat", "description": "Cat" }, "confidence": 0.43253016 "frames": [ { "frame": { "time_offset": { "seconds": 4, "nanos": 960000000 }, "normalized_bounding_box": { "x_min": 0.1, "y_min": 0.1, "x_max": 0.8, "y_max": 0.8 } } }, { "frame": { "time_offset": { "seconds": 5, "nanos": 960000000 }, "normalized_bounding_box": { "x_min": 0.2, "y_min": 0.2, "x_max": 0.9, "y_max": 0.9 } } } ], "segment": { "start_time_offset": { "seconds": 4, "nanos": 960000000 }, "end_time_offset": { "seconds": 5, "nanos": 960000000 } } } ], "error": { "details": [ ] } }
Pembersihan
Jika tidak lagi memerlukan model kustom dan set data terkait, Anda dapat menghapusnya.
Menghapus model
Anda dapat menghapus model menggunakan perintah curl
atau PowerShell berikut.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-number: jumlah project Anda
- location-id: region Cloud tempat anotasi seharusnya dilakukan. Region cloud yang didukung adalah:
us-east1
,us-west1
,europe-west1
,asia-east1
. Jika tidak ada wilayah yang ditentukan, wilayah akan ditentukan berdasarkan lokasi file video. - model-id: ganti dengan ID untuk model Anda.
Metode HTTP dan URL:
DELETE https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/models/model-id
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan menerima kode status yang berhasil (2xx), serta respons yang kosong.
Menghapus set data
Anda dapat menghapus set data menggunakan perintah curl
atau PowerShell berikut.
REST
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- project-number: jumlah project Anda
- location-id: region Cloud tempat anotasi seharusnya dilakukan. Region cloud yang didukung adalah:
us-east1
,us-west1
,europe-west1
,asia-east1
. Jika tidak ada wilayah yang ditentukan, wilayah akan ditentukan berdasarkan lokasi file video. - datase-id: ganti dengan ID untuk ID set data Anda.
Metode HTTP dan URL:
DELETE https://automl.googleapis.com/v1beta1/projects/project-number/locations/location-id/datasets/dataset-id
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan menerima kode status yang berhasil (2xx), serta respons yang kosong.