Membuat aplikasi penghitungan tingkat keterisian dengan input streaming jarak jauh


Vertex AI Vision adalah platform yang didukung AI yang dapat Anda gunakan untuk menyerap, menganalisis, dan menyimpan data video. Vertex AI Vision memungkinkan Anda membangun dan men-deploy aplikasi AI. Anda dapat membuat solusi Vertex AI Vision menyeluruh dengan memanfaatkan integrasi Vertex AI Vision dengan komponen produk lainnya.

Untuk mulai menerapkan solusi menggunakan platform Vertex AI Vision, tinjau konsep dan komponen Vertex AI Vision berikut:

  • Streaming: Merepresentasikan lapisan streaming video dari solusi Anda. Sumber streaming dapat berupa video live (misalnya, kamera IP) atau file video (misalnya, file MP4).

  • Aplikasi: Mengaktifkan koneksi antara streaming dan pemroses AI untuk melakukan operasi machine learning pada video. Misalnya, Anda dapat menghubungkan streaming kamera ke model AI yang menghitung orang yang lewat di depannya.

  • Media warehouse: Menyimpan video yang ditransfer oleh streaming ke penyimpananGoogle Cloud . Menyimpan data ke tujuan ini memungkinkan Anda mengkueri output analisis dan metadata dari pemroses AI yang digunakan pada data dari streaming yang ditransfer.

Tujuan

Tutorial ini menunjukkan cara melakukan hal berikut:

  • Buat aplikasi penghitungan tingkat keterisian.
  • Deploy aplikasi Anda untuk digunakan.
  • Siapkan komputer jarak jauh untuk melakukan streaming video.
  • Transfer video streaming ke node streaming di aplikasi Anda.
  • Telusuri video di Media Warehouse Vertex AI Vision penyimpanan Anda.

Biaya

Dalam dokumen ini, Anda akan menggunakan komponen Google Cloudyang dapat ditagih berikut:

Untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda, gunakan kalkulator harga. Pengguna Google Cloud baru mungkin memenuhi syarat untuk mendapatkan uji coba gratis.

Setelah menyelesaikan tugas yang dijelaskan dalam dokumen ini, Anda dapat menghindari penagihan berkelanjutan dengan menghapus resource yang Anda buat. Untuk mengetahui informasi selengkapnya, lihat Pembersihan.

Sebelum memulai

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine and Vision AI APIs.

    Enable the APIs

  5. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the following roles to the service account: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (beta), Storage > Storage Object Viewer.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    6. Click Continue.
    7. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  6. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  7. Install the Google Cloud CLI.

  8. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  10. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  11. Make sure that billing is enabled for your Google Cloud project.

  12. Enable the Compute Engine and Vision AI APIs.

    Enable the APIs

  13. Create a service account:

    1. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    2. Select your project.
    3. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    4. Click Create and continue.
    5. Grant the following roles to the service account: Vision AI > Vision AI Editor, Compute Engine > Compute Instance Admin (beta), Storage > Storage Object Viewer.

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    6. Click Continue.
    7. Click Done to finish creating the service account.

      Do not close your browser window. You will use it in the next step.

  14. Create a service account key:

    1. In the Google Cloud console, click the email address for the service account that you created.
    2. Click Keys.
    3. Click Add key, and then click Create new key.
    4. Click Create. A JSON key file is downloaded to your computer.
    5. Click Close.
  15. Install the Google Cloud CLI.

  16. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

  17. To initialize the gcloud CLI, run the following command:

    gcloud init

    Peran hanya diperlukan jika Anda menyalin file video contoh dari bucket Cloud Storage.

Membuat aplikasi penghitungan tingkat keterisian

Setelah menyiapkan lingkungan, langkah pertama adalah membuat aplikasi yang memproses data Anda. Aplikasi dapat dianggap sebagai pipeline otomatis yang menghubungkan hal berikut:

  • Penyerapan data: Feed video diserap ke dalam streaming.
  • Analisis data: Model AI dapat ditambahkan setelah penyerapan. Setiap operasi visi komputer dapat dilakukan pada informasi video yang ditransfer.
  • Penyimpanan data: Dua versi feed video (streaming asli dan streaming yang diproses oleh model AI) dapat disimpan di media warehouse.

Di konsol Google Cloud , aplikasi direpresentasikan sebagai grafik. Selain itu, di Vertex AI Vision, grafik aplikasi harus memiliki minimal dua node: node sumber video (streaming), dan setidaknya satu node lagi (model pemrosesan atau tujuan output).

Membuat aplikasi kosong

Sebelum dapat mengisi grafik aplikasi, Anda harus membuat aplikasi kosong terlebih dahulu.

Konsol

Buat aplikasi di konsol Google Cloud .

  1. Buka tab Applications di dasbor Vertex AI Vision.

    Buka tab Applications

  2. Klik tombol Create.

  3. Masukkan occupancy-count-app sebagai nama aplikasi dan pilih wilayah Anda.

  4. Klik Buat.

Menambahkan node komponen aplikasi

Setelah membuat aplikasi kosong, Anda dapat menambahkan tiga node ke grafik aplikasi:

  1. Node transfer: Resource streaming yang menyerap data yang dikirim dari instance VM Compute Engine yang Anda buat.
  2. Node pemrosesan: Model analisis jumlah tamu yang memproses data yang diserap.
  3. Node penyimpanan: Pengelola media yang menyimpan video yang telah diproses, dan juga berfungsi sebagai penyimpanan metadata. Dengan warehouse, informasi analisis tentang data video yang diserap dapat dibuat, serta informasi yang disimpulkan model AI tentang data tersebut dapat disimpan.

Konsol

Tambahkan node komponen ke aplikasi Anda di konsol.

  1. Buka tab Applications di dasbor Vertex AI Vision.

    Buka tab Applications

  2. Di baris occupancy-count-app, pilih Lihat grafik. Tindakan ini akan membawa Anda ke visualisasi grafik pipeline pemrosesan.

Menambahkan node penyerapan data

  1. Untuk menambahkan node aliran data input, pilih opsi Streams di bagian Connectors pada menu samping.

  2. Di bagian Source pada menu Stream yang terbuka, pilih Add streams.

  3. Di menu Add streams, pilih Register new streams dan tambahkan occupancy-count-stream sebagai nama streaming.

  4. Untuk menambahkan aliran data ke grafik aplikasi, klik Tambahkan aliran data.

Menambahkan node pemrosesan data

  1. Untuk menambahkan node model jumlah jumlah tamu, pilih opsi occupancy analytics di bagian Specialized models pada menu samping.

  2. Biarkan pilihan default Orang dan Kendaraan.

Menambahkan node penyimpanan data

  1. Untuk menambahkan node tujuan output (penyimpanan), pilih opsi Media Warehouse Vertex AI Vision di bagian Konektor pada menu samping.

  2. Di menu Media Warehouse Vertex AI Vision, klik Connect warehouse.

  3. Di menu Hubungkan gudang, pilih Buat gudang baru. Beri nama gudang occupancy-count-warehouse, dan biarkan durasi TTL tetap 14 hari.

  4. Klik tombol Create untuk menambahkan warehouse.

Men-deploy aplikasi untuk digunakan

Setelah Anda mem-build aplikasi menyeluruh dengan semua komponen yang diperlukan, langkah terakhir untuk menggunakan aplikasi adalah men-deploy-nya.

Konsol

  1. Buka tab Applications di dasbor Vertex AI Vision.

    Buka tab Applications

  2. Pilih Lihat grafik di samping aplikasi occupancy-count-app dalam daftar.

  3. Dari halaman pembuat grafik aplikasi, klik tombol Deploy.

  4. Pada dialog konfirmasi berikut, pilih Deploy.

    Operasi deployment mungkin memerlukan waktu beberapa menit hingga selesai. Setelah deployment selesai, tanda centang hijau akan muncul di samping node.

    Aplikasi yang di-deploy di UI

Menyiapkan komputer jarak jauh untuk melakukan streaming video

Setelah memiliki aplikasi jumlah jumlah tamu yang di-deploy dan siap menerima, memproses, dan menyimpan data streaming, Anda harus benar-benar melakukan streaming data video ke dalam aplikasi.

Dalam tutorial ini, Anda akan membuat instance VM Compute Engine yang menghosting video, dan Anda akan mengirim data video streaming tersebut dari VM.

Membuat VM Linux

Langkah pertama dalam mengirim video dari instance VM Compute Engine adalah membuat instance VM.

Konsol

  1. Di konsol, buka halaman Instance VM.

    Buka instance VM

  2. Pilih project Anda, lalu klik Continue.

  3. Klik Create instance.

  4. Tentukan Name untuk VM Anda. Untuk informasi selengkapnya, lihat Konvensi penamaan resource.

  5. Opsional: Ubah Zone untuk VM ini. Compute Engine mengacak daftar zone di dalam setiap region untuk mendorong penggunaan di beberapa zone.

  6. Terima opsi default lainnya. Untuk mengetahui informasi selengkapnya tentang opsi ini, lihat Membuat dan memulai VM.

  7. Untuk membuat dan memulai VM, klik Create.

Menyiapkan lingkungan VM

Setelah VM dimulai, Anda dapat menggunakan konsol untuk membuat koneksi SSH di browser. Setelah membuat koneksi ini, Anda dapat mendownload alat command line vaictl untuk menyerap video ke dalam aplikasi.

Konsol

Membangun koneksi SSH ke VM Anda

  1. Di konsol, buka halaman Instance VM.

    Buka instance VM

  2. Di bagian Connect baris instance yang Anda buat, klik SSH. Tindakan ini akan membuka koneksi SSH di jendela browser baru.

    Opsi SSH di UI

Mendownload alat command line vaictl

  1. Di jendela SSH-in-browser, download alat command line Vertex AI Vision (vaictl) menggunakan perintah berikut:

    wget https://github.com/google/visionai/releases/download/v0.0.5/visionai_0.0-5_amd64.deb
    
  2. Instal alat command line dengan menjalankan perintah berikut:

    sudo apt install ./visionai_0.0-5_amd64.deb
    
  3. Anda dapat menguji penginstalan dengan menjalankan perintah berikut:

    vaictl --help
    

Menyerap file video ke dalam aplikasi

Setelah menyiapkan lingkungan VM, Anda dapat menyalin file video contoh, lalu menggunakan vaictl untuk melakukan streaming data video ke aplikasi jumlah jumlah tamu.

SSH di browser

Menyalin contoh video ke VM Anda

  1. Di jendela SSH-in-browser untuk VM Anda, salin contoh video dengan perintah gcloud storage cp berikut. Ganti variabel berikut:
    • SOURCE: Lokasi file video yang akan digunakan. Anda dapat menggunakan sumber file video Anda sendiri (misalnya, gs://BUCKET_NAME/FILENAME.mp4), atau menggunakan salah satu contoh video:
      • gs://cloud-samples-data/vertex-ai-vision/street_vehicles_people.mp4 (video dengan orang dan kendaraan, sumber)
      • gs://cloud-samples-data/vertex-ai-vision/highway_vehicles.mp4 (video hanya dengan kendaraan, sumber)
    gcloud storage cp SOURCE .

Menstreaming video dari VM dan menyerap data ke dalam aplikasi Anda

  1. Untuk mengirim file video lokal ini ke aliran input aplikasi, gunakan perintah berikut. Anda harus melakukan penggantian variabel berikut:
    • PROJECT_ID: Google Cloud Project ID Anda.
    • LOCATION_ID: ID lokasi Anda. Misalnya, us-central1. Untuk mengetahui informasi selengkapnya, lihat Lokasi Cloud.
    • LOCAL_FILE.EXT: Nama file video lokal. Contoh, my-video.mp4.
    • Flag --loop: Opsional. Mengulangi data file untuk menyimulasikan streaming.

    Perintah ini melakukan streaming file video ke streaming. Jika Anda menggunakan flag --loop, video akan diputar berulang ke dalam streaming hingga Anda menghentikan perintah:

    vaictl -p PROJECT_ID \
        -l LOCATION_ID \
        -c application-cluster-0 \
        --service-endpoint visionai.googleapis.com \
    send video-file to streams 'occupancy-count-stream' --file-path LOCAL_FILE.EXT --loop

Mungkin perlu waktu ~100 detik antara memulai operasi transfer vaictl dan video muncul di dasbor.

Setelah penyerapan streaming tersedia, Anda dapat melihat feed video di tab Streams pada dasbor Vertex AI Vision dengan memilih streaming occupancy-count-stream.

Buka tab Streaming

Tampilan video live yang sedang di-streaming di UI
Tampilan live video yang ditransfer ke streaming di Google Cloud konsol. Kredit video: Elizabeth Mavor di Pixabay (pikselasi ditambahkan).

Menelusuri konten video di warehouse penyimpanan

Setelah menyerap data video ke dalam aplikasi pemrosesan, Anda dapat melihat data video yang dianalisis, dan menelusuri data berdasarkan informasi analisis jumlah tamu.

Konsol

  1. Buka tab Warehouses di dasbor Vertex AI Vision.

    Buka tab Gudang

  2. Temukan gudang occupancy-count-warehouse dalam daftar, lalu klik Lihat aset.

  3. Di bagian Jumlah orang atau Jumlah kendaraan, tetapkan nilai Min ke 1, dan nilai Max ke 5.

  4. Untuk memfilter data video yang diproses dan disimpan di Media Warehouse Vertex AI Vision, klik Telusuri.

    Tampilan data tersimpan yang dikelompokkan di UI
    Tampilan data video yang disimpan yang cocok dengan kriteria penelusuran di Google Cloud konsol. Kredit video: Elizabeth Mavor di Pixabay (kriteria penelusuran diterapkan).

Pembersihan

Agar tidak perlu membayar biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.

Menghapus project

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Menghapus resource satu per satu

Menghapus instance VM Compute Engine

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. Select the checkbox for the instance that you want to delete.
  3. To delete the instance, click More actions, click Delete, and then follow the instructions.

Menghapus gudang

  1. In the Google Cloud console, go to the Warehouses page.

    Go to the Warehouses tab

  2. Locate your occupancy-count-warehouse warehouse.
  3. To delete the warehouse, click Actions, click Delete warehouse, and then follow the instructions.

Menghapus feed

  1. In the Google Cloud console, go to the Streams page.

    Go to the Streams tab

  2. Locate your occupancy-count-stream stream.
  3. To delete the stream, click Actions, click Delete stream, and then follow the instructions.

Menghapus aplikasi

  1. In the Google Cloud console, go to the Applications page.

    Go to the Applications tab

  2. Locate your occupancy-count-app app.
  3. To delete the app, click Actions, click Delete application, and then follow the instructions.

Langkah berikutnya