Varian & Cara Kerja
Tabel 15 varian Snapshot Detection, pengelompokan berdasarkan mekanisme pemrosesan, dan alur dari Frame video sampai event.
Visionaire menyediakan 15 varian Snapshot Detection, semuanya dengan prefix Analytic ID NFV4D-*. Pilih berdasarkan jenis kejadian yang ingin dideteksi.
Tabel Varian
| Analytic ID | Nama Pipeline | Use Case Singkat | FPS Proses |
|---|---|---|---|
NFV4D-OVOD | OVOD | Deteksi objek custom via prompt teks (classes) | 1 |
NFV4D-OVIC | OVIC | Klasifikasi gambar custom via deskripsi teks | 1 |
NFV4D-WLM | WLM | Pengukuran level air dari dua garis acuan | 1 |
NFV4D-FLOD | Flood Monitoring | Deteksi banjir / genangan jalan | 1 |
NFV4D-PSMO | Person Smoking Detection | Deteksi orang merokok | 1 |
NFV4D-PPHO | Person Using Phone Detection | Deteksi orang menggunakan handphone | 1 |
NFV4D-FISO | Fire and Smoke Detection | Deteksi api dan asap | 1 |
NFV4D-PPFA | People with Firearm Detection | Deteksi orang membawa senjata api | 1 |
NFV4D-VMFG | People Fighting | Deteksi perkelahian | 20 |
NFV4D-VMVD | Vandalism | Deteksi vandalisme | 20 |
NFV4D-VMBG | ATM Burglary | Deteksi pembobolan ATM | 20 |
NFV4D-RIOT | Riot | Deteksi kerusuhan massa | 20 |
NFV4D-VLM | VLM | Analisis Frame berbasis prompt VLM bebas, dapat memakai persona severity | 20 |
NFV4D-ARVM | Action Recognition | Pengenalan aksi/aktivitas via VLM (memerlukan event_name) | 20 |
NFV4D-RCMA | Road Crash Monitoring | Deteksi kecelakaan lalu lintas | 1 |
Nama pipeline, deskripsi, dan analytic_id di atas diambil langsung dari registrasi pipeline di kode (visionaire4/src/packages/snapshot/configs.hpp).
Pengelompokan berdasarkan Use Case
Empat Mekanisme Pemrosesan
Kode dispatcher (snapshot<SnapshotType>::main_loop()) memilih salah satu dari empat loop pemrosesan berdasarkan tipe routine varian:
| Kelompok | Varian | ROI | Mekanisme |
|---|---|---|---|
| ROI snapshot | OVOD, PSMO, PPHO, FISO, PPFA | Ya | Frame penuh dikirim ke layanan AI eksternal; hasil deteksi (bounding box) difilter agar hanya objek yang beririsan dengan polygon areas yang di-dump. |
| VLM multi-Frame | VMFG, VMVD, VMBG, RIOT, VLM, ARVM | Tidak | Mengumpulkan beberapa Frame (images_num), menyusun collage atau memakai Frame tunggal, lalu mengirim ke VLM dengan prompt. |
| WLM | WLM | Garis acuan | Menggambar garis level dari dua garis acuan; hasil API berupa level yang sedang aktif. |
| Umum | OVIC, FLOD, RCMA | Tidak | Dispatch periodik tanpa ROI; dump bila kondisi terpenuhi. |
Pengelompokan ini bersifat teknis (menentukan loop pemrosesan di kode), bukan sekadar kategori topikal — mis. RCMA walau berbasis VLM tunggal ada di kelompok "Umum" karena menggunakan SingleFrameVLMRoutine, bukan MultiFrameVLMRoutineAR yang dipakai kelompok VLM multi-Frame.
Cara Kerja Umum
Pada interval dump_interval, dispatcher mengambil Frame (atau mengumpulkan beberapa Frame untuk collage pada varian VLM), meng-encode-nya ke base64, dan mengirimnya ke layanan AI eksternal yang sesuai untuk varian tersebut. Jawaban API dievaluasi terhadap kondisi target — confidence di atas ambang (dump_confidence/confidence), label yang cocok dengan context, atau jawaban VLM yang mengandung kata "yes". Hanya bila kondisi terpenuhi (atau always_dump: true), pipeline memanggil dump_event() yang menerbitkan event lewat WebSocket dan menyimpannya ke database node.
Jika permintaan ke layanan AI eksternal gagal (koneksi putus atau status HTTP non-200), pipeline tidak menerbitkan event — ia hanya mengatur side message berisi pesan error (lihat Troubleshooting).
Memilih Varian
- Kejadian sudah tercakup model siap pakai (kebakaran, merokok, senjata api, dll.) → pilih varian spesifik yang sesuai (
NFV4D-FISO,NFV4D-PSMO,NFV4D-PPFA, dst.). - Kejadian melibatkan aksi/konteks yang perlu dijelaskan dengan bahasa (perkelahian, vandalisme, kerusuhan) → varian VLM multi-Frame (
NFV4D-VMFG,VMVD,VMBG,RIOT). - Butuh klasifikasi severity terstruktur (bukan sekadar ya/tidak) untuk insiden publik, lalu lintas, keselamatan pabrik, atau kehilangan retail →
NFV4D-VLMdenganpersonapreset. - Objek atau kejadian belum tercakup model manapun →
NFV4D-OVOD(deteksi objek custom) atauNFV4D-VLMdenganpersona: "free"(prompt CoT kustom Anda sendiri). - Butuh angka level, bukan deteksi ya/tidak →
NFV4D-WLM. - Butuh pengenalan aksi umum dengan nama event Anda sendiri →
NFV4D-ARVM(wajib mengisievent_name).
Setelah varian ditentukan, lanjutkan ke Persyaratan.
Snapshot Detection
Keluarga pipeline event-driven yang mengambil Frame dari Stream pada interval tertentu, mengirimkannya ke layanan AI eksternal, dan menerbitkan event hanya saat kejadian target terdeteksi.
Persyaratan
Spesifikasi kamera, panduan penempatan kamera per kategori kejadian, dan dependensi layanan AI eksternal untuk Snapshot Detection.