Membuat aplikasi pemburaman wajah dengan penyimpanan warehouse

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 stream

Untuk membuat aplikasi analisis video streaming, Anda harus membuat dan mendaftarkan resource streaming terlebih dahulu. Sebagai resource yang menerima data video dari pengguna, streaming diperlukan dalam skenario apa pun yang Anda buat menggunakan Vertex AI Vision.

Konsol

Untuk membuat aliran baru di konsol Google Cloud , gunakan langkah-langkah berikut.

  1. Buka tab Streams di dasbor Vertex AI Vision.

    Buka tab Streams

  2. Klik Daftar.

  3. Masukkan input-stream sebagai nama stream dan pilih region tempat Anda ingin membuat stream.

  4. Klik Daftarkan untuk membuat satu atau beberapa aliran data.

    Mendaftarkan opsi aliran di UI

Menyerap video ke dalam stream

Setelah membuat resource streaming, Anda dapat menggunakan alat command line vaictl untuk mengirim data video ke streaming.

Kamera IP

Jika Anda melakukan pengujian menggunakan kamera IP live, Anda harus mendapatkan alamat IP kamera. Anda harus memberikan informasi ini dengan permintaan, beserta penggantian variabel lainnya:

  • PROJECT_ID: ID project Google Cloud Anda.
  • LOCATION_ID: ID lokasi Anda. Misalnya, us-central1. Untuk mengetahui informasi selengkapnya, lihat Lokasi cloud.
  • RTSP_ADDRESS: Alamat feed Real Time Streaming Protocol (RTSP). Misalnya, rtsp://192.168.1.180:540.

Perintah ini mengirimkan feed RTSP ke dalam stream. Anda harus menjalankan perintah ini di jaringan yang memiliki akses langsung ke feed RTSP.

vaictl -p PROJECT_ID \
       -l LOCATION_ID \
       -c application-cluster-0 \
       --service-endpoint visionai.googleapis.com \
send rtsp to streams input-stream --rtsp-uri RTSP_ADDRESS
      

Jika perintah berhasil dijalankan, Anda akan mendapatkan output berikut:

[...]
Waiting for long running operation projects/your-project/locations/us-central1/operations/operation-1651364156981-5dde82db7e4a9-dfb17ca5-1051eb20 ⠙
I20220430 21:16:28.024988 211449 gstvaisink.cc:417] cluster-id=application-cluster-0
I20220430 21:16:28.025032 211449 gstvaisink.cc:418] cluster-endpoint=c8khq35ftg78mn61ef50.us-central1.visionai.goog
I20220430 21:16:28.025040 211449 gstvaisink.cc:419] event-id=ev-1651364114183255223
I20220430 21:16:28.025048 211449 gstvaisink.cc:420] stream-id=input-stream
I20220430 21:16:28.025053 211449 gstvaisink.cc:421] series-id=ev-1651364114183255223--input-stream
I20220430 21:16:28.025060 211449 gstvaisink.cc:422] Sending data

File video lokal

Anda juga dapat mengirim data file video ke stream, bukan feed video live. Opsi ini dapat berguna jika Anda tidak memiliki akses ke kamera IP.

Satu-satunya perbedaan dalam opsi ini adalah parameter perintah vaictl. Daripada meneruskan informasi kamera IP, teruskan jalur untuk file video lokal. Lakukan penggantian variabel berikut:

  • PROJECT_ID: ID project Google Cloud Anda.
  • LOCATION_ID: ID lokasi Anda. Misalnya, us-central1. Informasi selengkapnya.
  • 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 menggunakan flag --loop, video akan diulang 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 'input-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 input-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: Tima Miroshnichenko di Pexels (pikselasi ditambahkan).

Membuat aplikasi pemburaman wajah

Setelah membuat stream dan memasukkan data ke dalam stream, saatnya membuat aplikasi Vertex AI Vision untuk memproses data. 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).

Membuat 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 person-blur-app sebagai nama aplikasi dan pilih wilayah Anda.

  4. Klik Buat.

    Dialog buat aplikasi baru di UI

Menambahkan node komponen aplikasi

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

  1. Node penyerapan: Resource aliran yang sudah menyerap data.
  2. Node pemrosesan: Model blur orang yang bertindak pada data yang diserap.
  3. Node penyimpanan: Gudang media yang menyimpan video yang telah diproses, dan juga berfungsi sebagai penyimpanan metadata. Data warehouse memungkinkan informasi analisis dibuat tentang data video yang di-ingest, serta informasi toko yang disimpulkan tentang data oleh model AI.

Konsol

Tambahkan node komponen ke aplikasi Anda di konsol.

  1. Buka tab Aplikasi di dasbor Vertex AI Vision.

    Buka tab Aplikasi

  2. Di baris person-blur-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 Tambahkan streaming, pilih Pilih dari streaming yang ada, lalu pilih person-blur-app dari daftar resource streaming.

    Menambahkan menu streaming di UI

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

Menambahkan node pemrosesan data

  1. Untuk menambahkan node model blur orang, pilih opsi Blur orang di bagian Prosesor umum pada menu samping.

  2. Pada menu opsi "Peredupan orang" yang terbuka, biarkan Oklusi penuh dipilih dan aktifkan opsi Samarkan wajah saja.

    Menambahkan model blur wajah di UI

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 person-blur-app, dan biarkan durasi TTL 14 hari.

  4. Untuk menambahkan gudang, klik Buat.

    Menambahkan node gudang di UI

Men-deploy aplikasi Anda

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 person-blur-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

Melihat data output yang diproses

Konsol

  1. Buka tab Warehouses di dasbor Vertex AI Vision.

    Buka tab Gudang

  2. Cari gudang person-blur-output-storage dalam daftar, lalu klik Lihat aset.

    Melihat output aplikasi di UI