Persyaratan
Spesifikasi kamera, panduan penempatan kamera agar Face Recognition bekerja optimal, persyaratan perangkat Hybrid, dan dependensi FREMIS-N.
Akurasi Face Recognition ditentukan jauh sebelum frame sampai ke GPU — oleh kamera yang dipilih dan cara memasangnya. Halaman ini menjelaskan spesifikasi minimum dan bagaimana menempatkan kamera agar wajah yang masuk ke pipeline cukup besar, tajam, dan menghadap kamera.
Spesifikasi Kamera (varian Native)
| Persyaratan | Minimum | Rekomendasi |
|---|---|---|
| Resolusi | 1080p (1920×1080) | 1080p sudah cukup — investasikan pada lensa dan sensor, bukan resolusi |
| Image sensor | 1/2.0" | 1/1.8" atau lebih besar (1/1.2" untuk kondisi cahaya rendah) |
| Frame rate | 8 fps | 15–25 fps |
| Lensa | Fixed, dipilih sesuai jarak titik scan | Varifocal berkualitas (mis. 2.8–12 mm, aperture f/1.4–f/1.6) agar FOV bisa disempitkan ke titik scan dan cahaya masuk maksimal |
| WDR | Ada | True WDR ≥ 120 dB untuk pintu masuk yang menghadap luar |
| Shutter | Auto | Minimum 1/250 s pada jalur orang berjalan untuk menghindari motion blur |
| Codec | H.264 | H.264 / H.265, bitrate cukup agar wajah tidak pecah (≥ 4 Mbps pada 1080p) |
| Ukuran wajah di frame | 100 px tinggi | 150 px atau lebih |
Varian Native mengecilkan frame ke 896×476 sebelum deteksi, jadi yang menentukan bukan resolusi kamera semata, melainkan berapa pixel wajah menempati frame. Wajah 100 px pada 1080p menjadi ~47 px setelah di-resize — masih di atas fr_min_face_size default (20 px), tetapi mendekati batas recognition yang andal. Cara menaikkannya adalah menyempitkan FOV dengan lensa yang tepat, bukan menaikkan resolusi — 4K yang dikecilkan ke 896×476 tidak memberi keuntungan.
Penempatan Kamera
Tujuan penempatan: setiap orang yang lewat memberi minimal satu frame dengan wajah yang besar, tajam, terang merata, dan menghadap kamera.
Satu titik scan per kamera
Arahkan kamera ke satu chokepoint — pintu, gerbang, turnstile, koridor sempit — tempat orang pasti lewat dan cenderung melihat ke depan. Jangan memakai kamera overview yang mencakup satu ruangan penuh; wajah akan terlalu kecil dan sudutnya acak.
Tinggi dan sudut
| Parameter | Nilai | Alasan |
|---|---|---|
| Tinggi pemasangan | 1,6–2,2 m | Mendekati tinggi wajah rata-rata; makin tinggi, makin besar sudut pandang dari atas |
| Sudut tunduk (pitch) | ≤ 15° | Sudut lebih dari ~20° membuat dahi dominan dan mata/hidung terkompresi — landmark alignment memburuk |
| Sudut horizontal (yaw) terhadap arah jalan | ≤ 15° | Wajah harus mendekati frontal saat frontal_only: true (default); sudut samping menurunkan similarity |
| Jarak ke titik scan | 1,5–4 m | Cukup dekat untuk ukuran wajah, cukup jauh agar orang tidak keluar frame sebelum sampling selesai |
Jika kamera terpaksa dipasang tinggi (> 2,5 m), jauhkan titik scan dari kamera agar pitch tetap ≤ 15°, lalu kompensasi ukuran wajah dengan lensa focal length lebih panjang.
Menghitung ukuran wajah
Ukuran wajah dalam pixel bergantung pada lebar area yang tercakup di titik scan, bukan pada jarak semata:
tinggi wajah (px) ≈ 0,22 m ÷ lebar area tercakup (m) × lebar frame (px)| Lebar area di titik scan (1080p) | Tinggi wajah |
|---|---|
| 4 m | ~105 px (batas minimum) |
| 3 m | ~140 px (cukup) |
| 2,5 m | ~170 px (baik) |
| 2 m | ~210 px (sangat baik) |
Pilih focal length (atau setel varifocal) sehingga lebar area di titik scan tidak lebih dari ~2,5 m. Contoh: pada jarak 3 m, lensa ~6 mm pada sensor 1/2.0" mencakup lebar sekitar 2,5–3 m; lensa 2,8 mm pada jarak yang sama mencakup 5–6 m dan wajah tinggal ~70–80 px.
Pencahayaan
- Cahaya dari arah kamera, bukan dari belakang subjek. Pintu masuk yang menghadap luar ruangan adalah kasus terburuk — subjek jadi siluet. Solusi: pasang kamera menghadap ke dalam (memotret orang yang masuk dari sisi dalam), tambahkan lampu di sisi kamera, dan aktifkan WDR.
- Merata di kedua sisi wajah. Lampu satu sisi menghasilkan bayangan keras yang menurunkan similarity ke foto enrollment.
- Minimal ~200 lux di wajah untuk sensor 1/2.0"; di bawah itu noise naik dan filter blur/ketajaman lebih sering menolak wajah. Sensor lebih besar atau IR illuminator membantu, tetapi mode IR (hitam-putih) menurunkan akurasi dibanding cahaya tampak.
- Hindari sumber cahaya di dalam frame (jendela, lampu langsung) — auto-exposure kamera akan menggelapkan wajah.
Yang perlu dihindari
- Lensa wide-angle (< 2,8 mm) — wajah kecil dan terdistorsi di tepi frame.
- Kamera di belakang kaca atau akrilik — refleksi dan blur.
- Titik scan di mana orang biasanya menunduk (tangga, layar tap kartu di bawah) — sebagian besar frame tidak frontal.
- Kamera fisheye/PTZ yang ikut dipakai untuk overview — gunakan kamera khusus untuk Face Recognition.
Perangkat Sumber (varian Hybrid)
Pada varian Hybrid, deteksi dilakukan oleh perangkat, sehingga spesifikasi kamera di atas berlaku untuk kualitas crop yang dihasilkan perangkat tersebut. Tambahan persyaratan integrasinya:
| Varian | Persyaratan perangkat |
|---|---|
NFV4H-ISAPI-FR | Kamera Hikvision dengan ISAPI aktif dan capability Face Snap tersedia (server memverifikasi lewat /ISAPI/System/capabilities saat pipeline start). |
NFV4H-WZMND-FR | Kamera Dahua dengan WizMind Face Detection aktif; endpoint snapManager.cgi harus dapat diakses pada port 80. |
NFV4H-MOBLE-FR | Perangkat Android yang menjalankan aplikasi face capture Nodeflux. Stream harus dipublikasikan ke rtmp://<host>/live/mobile/<RTMP_ID> dan hub capture harus tersedia pada ws://<host>:9994. |
NFV4H-FR | Perangkat edge Nodeflux dengan deteksi wajah on-device. Stream harus dibuat dengan service_capability yang sesuai; server berlangganan event pada port 40080. |
Detail cara server menerima data dari setiap perangkat ada di Varian & Cara Kerja.
Dependensi
| Komponen | Wajib untuk | Konfigurasi di Visionaire |
|---|---|---|
| FREMIS-N | Semua varian | --fr-address (default 127.0.0.1:4005) dan --fr-keyspace-name (default default). Keyspace utama dibuat otomatis saat pipeline start. Enrollment wajah dilakukan melalui API FREMIS-N. |
| Keyspace anonim | Semua varian, jika --fr-anonymous-enable aktif (default true) | --fr-anynomous-keyspace-name (default anonymous). Keyspace ini tidak dibuat otomatis — buat lewat API Keyspace FREMIS-N, atau pipeline gagal start dengan pesan "Keyspace 'anonymous' does not exist". |
| Fremis coordinator | NFV4-FRA, NFV4-FRA2 | --fremis-coordinator-address (default 127.0.0.1:4006) atau parameter fa_address per pipeline. |
Daftar lengkap argumen ada di Configuration Reference. Setelah persyaratan terpenuhi, buat pipeline sesuai API Reference — Manajemen Pipeline dengan parameter dari Konfigurasi.