Nodeflux Central
Snapshot Detection

Persyaratan

Spesifikasi kamera, panduan penempatan kamera per kategori kejadian, dan dependensi layanan AI eksternal untuk Snapshot Detection.

Karena setiap varian Snapshot Detection hanya mengambil Frame pada interval tertentu (bukan menganalisis setiap Frame), yang menentukan keberhasilan deteksi adalah apakah Frame yang terambil pada momen itu benar-benar menangkap kejadian dengan jelas — bukan frame rate tinggi.

Spesifikasi Kamera

PersyaratanMinimumRekomendasi
Resolusi1080p (1920×1080)1080p sudah cukup — investasikan pada lensa dan sensor untuk gambar yang lebih tajam dan terang, bukan menaikkan resolusi ke 4K
Frame rate sumber5 fps15–25 fps (memperbesar peluang Frame yang terambil pada dump_interval menangkap momen kejadian dengan jelas)
CodecH.264H.264 / H.265
PencahayaanCukup di siang hariPencahayaan merata, hindari backlight ekstrem

Snapshot Detection tidak melakukan tracking multi-Frame, sehingga tidak ada mekanisme untuk "menunggu" Frame terbaik seperti pada Face Recognition. Setiap dispatch hanya memakai Frame yang tersedia saat dump_interval terlampaui — kualitas gambar pada momen itu langsung menentukan hasil.

Penempatan Kamera

Panduan penempatan berikut dikelompokkan berdasarkan kategori kejadian, karena kebutuhan sudut pandang berbeda jauh antar kategori.

Deteksi api & asap, banjir, level air (FISO, FLOD, WLM)

  • Pastikan pandangan kamera tidak terhalang vegetasi, struktur bangunan, atau kendaraan yang parkir terhadap area pengamatan (tumpukan material, area genangan, atau permukaan air).
  • Untuk NFV4D-WLM, kamera harus memandang tegak lurus (atau sedekat mungkin) terhadap garis referensi level air yang akan Anda gambar sebagai areas — sudut miring membuat interpolasi level antara dua garis acuan menjadi tidak akurat.
  • Untuk NFV4D-FISO, cakup area dengan sumber api potensial (mesin, tumpukan material mudah terbakar) dalam satu frame; hindari sudut yang membuat asap tipis menyatu dengan latar (langit mendung, kabut).

Perkelahian, vandalisme, kerusuhan, senjata api (VMFG, VMVD, VMBG, RIOT, PPFA)

  • Gunakan sudut pandang lebar dengan ketinggian sedang (3–5 meter) agar konteks aksi (siapa menyerang siapa, berapa orang terlibat) tertangkap dalam satu Frame — bukan sudut sempit yang hanya menangkap sebagian tubuh.
  • Untuk varian VLM multi-Frame (VMFG, VMVD, VMBG, RIOT), posisi kamera yang stabil (tidak bergoyang) penting karena beberapa Frame berurutan digabung menjadi satu collage — goyangan kamera antar Frame membuat collage sulit dibaca oleh VLM.
  • Untuk NFV4D-PPFA, resolusi objek (senjata) di frame perlu cukup besar — hindari sudut yang terlalu jauh dari area yang diawasi.

Merokok, penggunaan handphone (PSMO, PPHO)

  • Objek yang dideteksi (rokok, handphone) berukuran kecil relatif terhadap tubuh — pastikan resolusi orang di frame minimal sekitar 100×200 piksel agar objek kecil tersebut masih terlihat setelah dikirim ke layanan AI eksternal.
  • Hindari sudut dari belakang subjek; objek kecil di tangan biasanya hanya terlihat dari depan atau samping.

Objek/klasifikasi custom (OVOD, OVIC), kecelakaan lalu lintas (RCMA), pengenalan aksi (ARVM)

  • Sesuaikan resolusi dan sudut dengan ukuran objek target — untuk OVOD/OVIC ini bergantung sepenuhnya pada classes/descriptions yang Anda konfigurasikan.
  • Untuk NFV4D-RCMA, cakup keseluruhan ruas jalan yang diawasi dalam satu frame agar momen tabrakan (yang bisa terjadi di mana saja di ruas tersebut) tertangkap.

Lingkungan

Per resource request yang didaftarkan pipeline (snapshot<SnapshotType>::get_resource_req()):

ResourceKebutuhan di sisi Visionaire
CPU3 core
RAM2000 MB
GPUTidak dipakai (0) — seluruh inferensi berjalan di layanan AI eksternal
  • Konektivitas low-latency antara Visionaire dan layanan AI eksternal diperlukan karena setiap dispatch adalah HTTP request sinkron dengan timeout 3 detik (VLM: 15 detik) — koneksi lambat akan membuat dispatch gagal dan pipeline melewatkan siklus tersebut.
  • Stream video sudah terdaftar di Visionaire dan dapat diakses oleh node yang akan menjalankan pipeline.

Dependensi

Snapshot Detection tidak bergantung pada FREMIS-N. Satu-satunya dependensi eksternal adalah layanan AI eksternal yang menjalankan inferensi sesungguhnya (deteksi objek, klasifikasi, pengukuran level, atau VLM). Visionaire sendiri hanya bertindak sebagai dispatcher — CPU/RAM di atas dipakai untuk sampling Frame dan HTTP request, bukan inferensi.

Alamat default layanan AI eksternal berbeda menurut kelompok varian — ini adalah detail penting yang sering menyebabkan salah konfigurasi.

Kelompok VarianAlamat default bila address tidak dikirimSumber default
OVOD, OVIC, WLM, PSMO, PPHO, FISO, PPFA, FLOD, RCMANilai argumen --fremis-coordinator-address node (default 127.0.0.1:4006)master_controller.cpp — argumen yang sama dipakai Face Recognition untuk layanan atribut wajah
VMFG, VMVD, VMBG, VLM, ARVMhttp://localhost:4008 (konstanta di kode)configs.hpp (snapshot_cfg_base::address)
RIOThttp://localhost:4008, dapat diubah lewat environment variable V4_RIOT_ADDRESS di nodeconfigs.hpp

Untuk semua varian, alamat dapat dioverride per pipeline lewat parameter address pada body POST/PUT /pipeline/{node_num}/{stream_id}/{analytic_id} — lihat Konfigurasi. Alamat dinormalisasi otomatis (ditambahkan http:// dan trailing / bila belum ada).

Bila layanan AI eksternal tidak dapat dijangkau

Pipeline tidak crash dan tidak berhenti — ia hanya gagal mengirim event untuk siklus dispatch tersebut dan mengatur side message pada pipeline (terlihat di status pipeline dan live view):

  • Koneksi gagal total (host tidak dapat dijangkau, timeout) → "Failed sending request to snapshot API at '<address>'. Verify port and IP address, or check service status."
  • Layanan menjawab tapi menolak request (status HTTP bukan 200) → "Error sending request to snapshot API at '<address>' with status code <kode>"

Detail runbook untuk kedua pesan ini ada di Troubleshooting.

Setelah persyaratan terpenuhi, buat pipeline sesuai API Reference — Manajemen Pipeline dengan parameter dari Konfigurasi.

On this page