Konfigurasi
Referensi lengkap parameter pipeline Face Recognition, preset konfigurasi, environment variable, dan urutan prioritasnya.
Parameter di halaman ini dikirim sebagai body JSON saat membuat pipeline (POST /pipeline/{node_num}/{stream_id}/{analytic_id}) atau mengubahnya (PUT pada endpoint yang sama). Semua parameter bersifat opsional — nilai yang tidak dikirim mengambil environment variable, lalu nilai default.
Prioritas konfigurasi: parameter API (tertinggi) → environment variable → nilai default. Parameter API hanya berlaku untuk satu pipeline; environment variable berlaku untuk semua pipeline Face Recognition pada node tersebut.
Parameter berlaku untuk semua varian kecuali disebutkan lain. Pada varian Hybrid, parameter tracking/sampling (fr_sampling_size, static_object_sensitivity, fr_blur_filter_threshold, frontal_only, fr_min_face_size) tidak berpengaruh pada event karena server memproses setiap crop secara individual; yang berlaku adalah fr_primary_threshold, similarity_threshold, dan stddev_threshold.
Parameter Deteksi
| Parameter | Fungsi | Default | Kapan diubah |
|---|---|---|---|
mode | Mode deteksi: 0 = FRONTAL, 1 = SURVEILLANCE | tidak diset (perilaku setara SURVEILLANCE) | Set 0 untuk area access control yang membutuhkan wajah menghadap kamera — sistem otomatis menaikkan fr_primary_threshold ke 0.9. Set 1 untuk CCTV publik dengan wajah dari berbagai sudut. |
fr_primary_threshold | Confidence minimum deteksi wajah (0–1) | 0.8 | Turunkan ke 0.6–0.7 jika banyak wajah terlewat; naikkan untuk mengurangi false detection. Jika mode = 0, nilai ini otomatis menjadi 0.9 kecuali Anda mengirimnya secara eksplisit. |
fr_secondary_threshold | Confidence minimum verifikasi deteksi tahap kedua pada crop resolusi lebih tinggi (0–1) | 0.4 | Jarang perlu diubah. Tahap kedua dapat dimatikan sepenuhnya dengan argumen --fr-secondary-enable=false. |
fr_min_face_size | Tinggi minimum wajah dalam pixel | 20 | Naikkan ke 48–100 jika hanya ingin memproses wajah besar/dekat; turunkan untuk kamera jauh. |
bbox_area_threshold | Luas minimum bounding box wajah dalam pixel² | 400 | Alternatif fr_min_face_size berbasis luas; naikkan untuk mengabaikan wajah kecil di latar belakang. |
frontal_only | Hanya proses wajah frontal | true | Set false untuk mode SURVEILLANCE atau area dengan traffic tinggi. |
bbox_filter_active | Aktifkan filter bounding box untuk mengurangi false positive | true | Matikan hanya untuk debugging. |
bbox_filter_threshold | Keketatan filter bounding box (≥ 1) | 3 | Naikkan jika masih banyak deteksi palsu (poster, pola tekstur). |
matching_iou_threshold | IoU minimum untuk mengasosiasikan deteksi tahap pertama dan kedua (0–1) | 0.7 | Jarang perlu diubah. |
sampling_time_ms | Interval pemeriksaan wajah per objek (ms) | 50 | Naikkan untuk mengurangi beban; turunkan untuk respons lebih cepat. |
areas | Polygon ROI whitelist/blacklist (NFV4-FR, NFV4-FRA, NFV4-FRA2) | tidak ada | Batasi deteksi ke area tertentu, mis. hanya pintu masuk. Format mengikuti konfigurasi ROI standar Visionaire. |
Parameter Recognition
| Parameter | Fungsi | Default | Kapan diubah |
|---|---|---|---|
similarity_threshold | Batas minimum similarity untuk status KNOWN (0–1) | 0.85 | Naikkan ke 0.90+ untuk keamanan tinggi; turunkan ke 0.75–0.80 untuk analitik keramaian. Nilai ini juga dipakai saat mencocokkan ke keyspace anonim. |
stddev_threshold | Standard deviation minimum embedding agar dianggap valid (0–1) | 0.95 | Jarang perlu diubah; turunkan jika terlalu banyak wajah dibuang dengan log "stddev below threshold". |
inter_similarity_threshold | Similarity minimum antara sampel wajah dalam satu track agar dianggap orang yang sama (0–1) | 0.5 | Naikkan jika satu track sering tercampur dua orang berbeda. |
Parameter Sampling & Event
| Parameter | Fungsi | Default | Kapan diubah |
|---|---|---|---|
fr_timeout_dump | Jeda minimum antar event untuk objek yang sama (ms) | 1500 | Naikkan ke 2500–5000 untuk mengurangi frekuensi event; turunkan untuk alert real-time. |
fr_sampling_size | Jumlah kandidat frame yang dikumpulkan per objek sebelum memilih yang terbaik | 10 | Kurangi ke 4–6 untuk latensi lebih rendah; naikkan untuk seleksi kualitas lebih ketat. |
fr_max_dump_count | Event maksimum berturut-turut per track_id | 1000 | Kurangi jika ingin membatasi event per orang dalam satu sesi tracking. |
max_event_time | Usia maksimum kandidat wajah sebelum dibuang (detik) | 20 | Turunkan jika kandidat lama masih terkirim setelah orang pergi. |
enable_unique_dump | Hanya kirim satu event jika beberapa kandidat memiliki fitur serupa | false | Aktifkan jika event duplikat untuk orang yang sama menjadi masalah. |
dumping_interval | Interval minimum antar event untuk wajah yang sama (ms); 0 = tidak dibatasi | 0 | Alternatif fr_timeout_dump yang berbasis identitas, bukan track. |
dumping_confidence_threshold | Confidence minimum agar event dikirim | 0.0 | Naikkan untuk hanya mengirim event dengan deteksi sangat yakin. |
dump_image_crop_type | Jenis crop pada image_jpeg: 0 = wajah saja, 1 = kepala & bahu, 2 = seluruh tubuh | 1 | Set 2 jika sistem downstream membutuhkan konteks pakaian. |
Parameter Performa
| Parameter | Fungsi | Default | Kapan diubah |
|---|---|---|---|
fr_max_fps | Frame rate maksimum saat ada wajah terdeteksi (1–30) | 8 | Turunkan ke 5 jika beban GPU tinggi. |
fr_idle_fps | Frame rate saat tidak ada wajah (1–30) | 3 | Kurangi ke 2 untuk perangkat edge hemat daya. |
fr_idle_fps_hold_time_ms | Jeda sebelum FPS turun ke fr_idle_fps setelah wajah terakhir hilang (ms) | 3000 | Naikkan jika FPS terlalu sering berfluktuasi. |
fr_disable_dynamic_fps | Nonaktifkan penyesuaian FPS dinamis | false | Set true untuk throughput konsisten. |
Filter Kualitas
| Parameter | Fungsi | Default | Kapan diubah |
|---|---|---|---|
fr_blur_filter_threshold | Kekuatan filter blur (0–10) | 3 | Naikkan ke 6–8 untuk menolak gambar buram; turunkan jika terlalu banyak wajah dibuang. |
static_object_sensitivity | Sensitivitas supresi wajah statis (0–10) | 5 | Naikkan ke 7–9 di area dengan foto/poster; turunkan ke 0–2 untuk museum atau galeri. |
fr_enhance_contrast | Level peningkatan kontras & kecerahan pada image_jpeg (0 = mati, 1–3 = makin kuat) | 0 | Set 1–3 untuk memperbaiki kontras pada lingkungan low-light. Tidak memengaruhi recognition, hanya gambar pada event. |
Parameter Atribut (NFV4-FRA, NFV4-FRA2)
Parameter berikut dikirim di dalam objek attributes pada body pipeline (juga diterima di level atas). Setiap atribut memiliki pasangan <atribut>_enabled (default true) dan <atribut>_confidence_threshold (default 0.5, 0–1); atribut dengan confidence di bawah threshold diberi label unknown.
| Atribut | NFV4-FRA | NFV4-FRA2 |
|---|---|---|
age | ✓ | ✓ |
gender | ✓ | ✓ |
glasses | ✓ | ✓ |
mask | ✓ | ✓ |
head_covering | ✓ | ✓ |
upper_color | ✓ | ✓ |
lower_color | ✓ | ✓ |
face_expression | ✓ | ✓ |
gloves | — | ✓ |
upper_cloth | — | ✓ |
lower_cloth | — | ✓ |
body_type | — | ✓ |
footwear_color | — | ✓ |
belonging | — | ✓ |
Contoh: hanya butuh gender dan usia, matikan sisanya.
{
"attributes": {
"glasses_enabled": false,
"mask_enabled": false,
"head_covering_enabled": false,
"upper_color_enabled": false,
"lower_color_enabled": false,
"face_expression_enabled": false,
"gender_confidence_threshold": 0.7
}
}| Parameter | Fungsi | Default |
|---|---|---|
fa_address | Alamat layanan atribut wajah (host:port) | 127.0.0.1:4006 (mengikuti --fremis-coordinator-address) |
Preset Konfigurasi
Varian NFV4-FR, NFV4-FRA, dan NFV4-FRA2 menyediakan preset yang dapat dilihat melalui GET /config/preset/{analytic_id}/. Preset hanyalah kumpulan nilai parameter — kirim nilai-nilai berikut pada body pipeline untuk memakainya:
| Preset | Untuk | Nilai |
|---|---|---|
| Moving View | Kamera yang bergerak cepat (body-cam, kendaraan) | fr_blur_filter_threshold: 3, fr_sampling_size: 8, fr_min_face_size: 20, fr_timeout_dump: 200, fr_max_fps: 16 |
| Social Media | Video berkualitas tinggi atau dari media sosial | fr_blur_filter_threshold: 5, fr_sampling_size: 8, fr_min_face_size: 20, fr_timeout_dump: 200, fr_max_fps: 20 |
Environment Variable
Environment variable dibaca saat pipeline dibuat dan berlaku untuk semua pipeline Face Recognition yang tidak menentukan parameter tersebut secara eksplisit.
Deteksi & Recognition
| Variable | Setara parameter API | Default |
|---|---|---|
FR_PRIMARY_THRESHOLD | fr_primary_threshold | 0.8 |
FR_SECONDARY_THRESHOLD | fr_secondary_threshold | 0.4 |
FR_MIN_FACE_SIZE | fr_min_face_size | 20 |
FR_BBOX_AREA_THRESHOLD | bbox_area_threshold | 400 |
FR_SIMILARITY_THRESHOLD | similarity_threshold | 0.85 |
FR_STDDEV_THRESHOLD | stddev_threshold | 0.95 |
FR_INTER_SIMILARITY_THRESHOLD | inter_similarity_threshold | 0.5 |
Sampling & Event
| Variable | Setara parameter API | Default |
|---|---|---|
FR_TIMEOUT_DUMP | fr_timeout_dump | 1500 |
FR_SAMPLING_SIZE | fr_sampling_size | 10 |
FR_MAX_DUMP_COUNT | fr_max_dump_count | 1000 |
FR_MAX_EVENT_TIME | max_event_time | 20 |
FR_ENABLE_UNIQUE_DUMP | enable_unique_dump | 0 |
Performa
| Variable | Setara parameter API | Default |
|---|---|---|
FR_MAX_FPS | fr_max_fps | 8 |
FR_IDLE_FPS | fr_idle_fps | 3 |
FR_IDLE_FPS_HOLD_TIME_MS | fr_idle_fps_hold_time_ms | 3000 |
FR_DISABLE_DYNAMIC_FPS | fr_disable_dynamic_fps | 0 |
Filter Kualitas
| Variable | Setara parameter API | Default |
|---|---|---|
FR_STATIC_OBJECT_SENSITIVITY | static_object_sensitivity | 5 |
FR_BLUR_FILTER_THRESHOLD | fr_blur_filter_threshold | 3 |
FR_ENHANCE_CONTRAST | fr_enhance_contrast | 0 |
Lainnya
| Variable | Fungsi | Default |
|---|---|---|
FR_HYBRID_USE_SERVER_DETECTION | Pada varian Hybrid, jalankan deteksi wajah di server pada frame stream untuk visualisasi bounding box di live view. Set 0 untuk menghemat GPU jika visualisasi tidak diperlukan. Tidak memengaruhi event. | 1 |
FR_DEAD_ID_POOL_SIZE | Jumlah minimum sampel yang harus terkumpul pada sebuah track_id agar event tetap dikirim saat track tersebut hilang dari frame (mis. orang lewat cepat). Turunkan ke 1–2 agar wajah yang hanya tampak sekilas tetap menghasilkan event. | 4 |
Argumen Aplikasi
Pengaturan yang berlaku untuk seluruh node (alamat FREMIS-N, keyspace, fitur anonim, embedding pada event) diatur lewat argumen saat menjalankan container, bukan per pipeline:
| Argumen | Default | Fungsi |
|---|---|---|
--fr-address | 127.0.0.1:4005 | Alamat FREMIS-N untuk pencarian dan enrollment anonim |
--fr-keyspace-name | default | Keyspace utama tempat identitas terdaftar dicari |
--fr-anonymous-enable | true | Aktifkan identitas anonim untuk wajah UNKNOWN |
--fr-anynomous-keyspace-name | anonymous | Keyspace tempat identitas anonim disimpan |
--fr-secondary-enable | true | Aktifkan verifikasi deteksi tahap kedua |
--fr-embedding-event-enable | false | Sertakan vektor embedding pada pipeline_data setiap event |
--fr-disable-supression | false | Nonaktifkan supresi similarity |
--fr-disable-static-dump | false | Nonaktifkan supresi wajah statis (selalu nonaktif pada varian Hybrid) |
--fremis-coordinator-address | 127.0.0.1:4006 | Alamat layanan atribut untuk NFV4-FRA/NFV4-FRA2 |
Penjelasan lengkap ada di Configuration Reference.
Persyaratan
Spesifikasi kamera, panduan penempatan kamera agar Face Recognition bekerja optimal, persyaratan perangkat Hybrid, dan dependensi FREMIS-N.
Best Practices & Troubleshooting
Panduan penempatan kamera, kualitas enrollment, tuning threshold, keterbatasan sistem, dan runbook untuk pesan error Face Recognition.