Membuat aplikasi penghitungan tingkat keterisian dengan input streaming jarak jauh

Vertex AI Vision adalah platform berteknologi AI yang dapat Anda gunakan untuk menyerap, menganalisis, dan menyimpan data video . Dengan Vertex AI Vision, Anda dapat membangun dan men-deploy aplikasi AI. Anda dapat membangun solusi Vertex AI Vision end-to-end 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: Aktifkan koneksi antara aliran dan prosesor AI untuk melakukan operasi machine learning pada video. Misalnya, Anda dapat menghubungkan aliran kamera ke model AI yang menghitung orang yang lewat di depannya.

  • Gudang media: Menyimpan video yang dimasukkan oleh aliran ke Google Cloud penyimpanan. Menyimpan data ke tujuan ini memungkinkan Anda mengueri output dan metadata analisis dari pemroses AI yang digunakan pada data dari aliran yang di-ingest.

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 aliran.
  • Analisis data: Model AI dapat ditambahkan setelah penyerapan. Setiap operasi computer vision dapat dilakukan pada informasi video yang telah di-ingest.
  • Penyimpanan data: Dua versi feed video (streaming asli dan streaming yang diproses oleh model AI) dapat disimpan di gudang media.

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

Buat aplikasi kosong

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

Konsol

Buat aplikasi di Google Cloud konsol.

  1. Buka tab Aplikasi di dasbor Vertex AI Vision.

    Buka tab Aplikasi

  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 penyerapan: Resource streaming yang menyerap data yang dikirim dari instance VM Compute Engine yang Anda buat.
  2. Node pemrosesan: Model analisis hunian yang bertindak berdasarkan data yang dimasukkan.
  3. Node penyimpanan: Gudang media yang menyimpan video yang telah diproses, dan juga berfungsi sebagai penyimpanan metadata. Data warehouse memungkinkan informasi analisis dihasilkan tentang data video yang di-ingest, serta informasi toko yang disimpulkan model AI tentang data tersebut.

Konsol

Tambahkan node komponen ke aplikasi Anda di konsol.

  1. Buka tab Aplikasi di dasbor Vertex AI Vision.

    Buka tab Aplikasi

  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 input, pilih opsi Streams di bagian Connectors pada menu samping.

  2. Di bagian Source pada menu Stream yang terbuka, pilih Tambahkan aliran.

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

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

Menambahkan node pemrosesan data

  1. Untuk menambahkan node model jumlah hunian, pilih opsi analisis hunian di bagian Model khusus pada menu samping.

  2. Biarkan pilihan default Orang dan Kendaraan.

Menambahkan node penyimpanan data

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

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

  3. Di menu Connect warehouse, pilih Create new warehouse. Beri nama gudang occupancy-count-warehouse, dan biarkan durasi TTL 14 hari.

  4. Klik tombol Buat untuk menambahkan gudang.

Men-deploy aplikasi Anda untuk digunakan

Setelah Anda membuat aplikasi end-to-end dengan semua komponen yang diperlukan, langkah terakhir untuk menggunakan aplikasi adalah men-deploy-nya.

Konsol

  1. Buka tab Aplikasi di dasbor Vertex AI Vision.

    Buka tab Aplikasi

  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 berikutnya, 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 aplikasi penghitung hunian yang di-deploy 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 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 VM instances.

    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 yang tersisa. 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 Anda.

Konsol

Buat koneksi SSH ke VM Anda

  1. Di konsol, buka halaman VM instances.

    Buka instance VM

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

    Opsi SSH di UI

Download 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 Anda

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

SSH di browser

Menyalin video contoh 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 video contoh:
      • 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 dengan kendaraan saja, sumber)
    gcloud storage cp SOURCE .

Streaming 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: ID project Google Cloud 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. Mengulang data file untuk menyimulasikan streaming.

    Perintah ini akan melakukan streaming file video ke stream. Jika Anda menggunakan flag --loop, video akan diulang ke dalam stream 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 diperlukan waktu sekitar 100 detik antara memulai operasi penyerapan vaictl dan video muncul di dasbor.

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

Buka tab Streams

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

Menelusuri konten video di data warehouse penyimpanan

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

Konsol

  1. Buka tab Warehouses di dasbor Vertex AI Vision.

    Buka tab Gudang

  2. Cari 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 Maks ke 5.

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

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