Nodeflux Central
People Analytics

Konfigurasi

Referensi lengkap parameter pipeline People Analytics untuk varian Multi-Logics (MPA/MPAA/MPA2) dan varian Counting/Dwelling/Density sederhana (PC/PCA/HC/PD/HD).

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). Bentuk body berbeda antara varian Multi-Logics (NFV4-MPA, NFV4-MPAA, NFV4-MPA2) dan varian sederhana (NFV4-PC, NFV4-PCA, NFV4-HC, NFV4-PD, NFV4-HD) — lihat Varian & Cara Kerja untuk perbedaannya.

Prioritas konfigurasi: parameter API (tertinggi) → environment variable (hanya berlaku untuk sedikit parameter, lihat Environment Variable) → nilai default bawaan struct pipeline.

Multi-Logics (NFV4-MPA, NFV4-MPAA, NFV4-MPA2)

Body pipeline berisi object_confidence_threshold (opsional, level atas) dan array sub_analytics — setiap elemen mewajibkan name dan is_active. Aktifkan sub-analytic dengan is_active: true dan area yang sesuai; sub-analytic yang tidak Anda kirim di array tidak akan diproses sama sekali.

Parameter Umum per Sub-Analytic

Field berikut berlaku pada counting, roi_counting, dwelling, dan density:

ParameterFungsiDefaultKapan diubah
object_confidence_thresholdConfidence minimum deteksi orang untuk sub-analytic ini (override nilai level atas)0.53Turunkan ke 0.4 jika banyak orang terlewat; naikkan ke 0.7 untuk mengurangi false positive
minimum_tracking_heightTinggi minimum bounding box sebagai rasio terhadap tinggi frame0.05Turunkan jika orang terlihat kecil di frame (kamera jauh)
maximum_tracking_objectsJumlah maksimum objek yang dilacak sekaligus30Naikkan ke 50–100 untuk area sangat ramai
enable_group_trackingAktifkan pelacakan kelompok/kerumunanfalseAktifkan di area padat agar tracker lebih stabil saat orang saling menutupi
enable_visual_labelTampilkan label kelas pada overlay visualfalseAktifkan untuk debugging visual

counting (garis virtual)

ParameterFungsiDefaultKapan diubah
dumping_sampling_timeInterval agregasi event saat objek melintasi garis (ms)500Naikkan untuk mengurangi frekuensi event pada traffic padat
dump_ignore_iou_thresholdThreshold IoU untuk membuang salah satu dari dua kandidat dump yang tumpang tindih0.8Naikkan ke 0.9 jika masih terjadi double count
areasArray garis virtual — lihat format areas (garis)Satu garis default di tengah frame (y=0.5, horizontal, direction: "both")Selalu kirim eksplisit untuk produksi

roi_counting (crossing tepi polygon)

ParameterFungsiDefaultKapan diubah
dump_ignore_iou_thresholdThreshold IoU untuk deduplication crossing0.8Naikkan ke 0.9 jika masih terjadi double count
areasArray polygon ROI — tepinya otomatis dihitung sebagai garis crossing dua arah. Lihat format areas (polygon)ROI penuh satu frameSelalu kirim eksplisit

dumping_sampling_time tidak berlaku pada roi_counting

Kode pemrosesan roi_counting memeriksa kunci dumpling_sampling_time (typo — huruf "l" tambahan) alih-alih dumping_sampling_time, sehingga nilai yang Anda kirim di dumping_sampling_time untuk roi_counting tidak pernah terbaca. Interval agregasi efektifnya selalu 2000 ms (default internal), terlepas dari apa pun yang Anda kirim.

dwelling (durasi tinggal di ROI)

ParameterFungsiDefaultKapan diubah
dwelling_treshold_alert_secAmbang durasi (detik) untuk memicu event alert lebih awal, walau objek masih di dalam ROI (0 = nonaktif)0Set 30–120 untuk alert loitering di area terbatas
minimum_dwelling_secDurasi minimum agar event dihasilkan2 (env DWELLING_MINIMUM_DWELLING_SEC)Naikkan untuk memfilter orang yang hanya lewat sebentar
idle_time_secJeda maksimum setelah objek meninggalkan ROI sebelum dianggap tidak aktif dan di-dump1Naikkan ke 3–5 agar gerakan kecil di tepi ROI tidak mereset/memutus sesi dwelling
object_intersect_thresholdRasio interseksi minimum antar deteksi untuk dianggap objek yang sama0.85Turunkan ke 0.7 jika objek di tepi ROI sering gagal diasosiasikan
minimum_object_area_sizeLuas minimum bounding box (piksel²) agar event di-dump2000Turunkan jika orang jauh dari kamera
sharpness_filter_thresholdKekuatan filter ketajaman gambar dump (skala 0–10)0 untuk varian people (lihat catatan di bawah)Naikkan ke 3–6 jika hasil dump sering buram
only_dump_exitHanya kirim event saat objek keluar ROI (bukan saat threshold alert/timeout)false (env DWELLING_ONLY_DUMP_EXIT)Aktifkan jika Anda hanya butuh satu event ringkasan per kunjungan
areasArray polygon ROI. Lihat format areas (polygon)ROI penuh satu frameSelalu kirim eksplisit

sharpness_filter_threshold dipetakan ke skor ketajaman mentah lewat tabel internal (0→0, 5→600, 10→5000). Nilai default 0 berarti tidak ada dump dwelling yang ditolak karena buram pada varian People Analytics.

density (estimasi periodik)

ParameterFungsiDefaultKapan diubah
intervalInterval pelaporan kepadatan (detik)10Naikkan ke 60 untuk occupancy monitoring; turunkan untuk respons lebih cepat
insideHitung orang di dalam ROI (true) atau di luar ROI (false)trueUbah ke false untuk menghitung orang di luar zona tertentu
dump_attributesSertakan ringkasan atribut per objek dalam event (hanya berlaku jika with_attribute — NFV4-MPAA/NFV4-MPA2)trueNonaktifkan untuk hemat bandwidth pada NFV4-MPAA/NFV4-MPA2
areasArray polygon ROI. Lihat format areas (polygon)ROI penuh satu frameSelalu kirim eksplisit

Format areas (garis)

Dipakai oleh sub-analytic counting. Setiap elemen array areas:

{
  "name": "Main Entrance",
  "points": [{ "x": 0.2, "y": 0.5 }, { "x": 0.8, "y": 0.5 }],
  "direction": "both",
  "bidirection": true
}
FieldFungsiDefault
nameNama tampilan garis, muncul di pipeline_data.area_namewajib
pointsTepat dua titik {x, y} dalam koordinat normalized (0.0–1.0)wajib
direction"in", "out", atau "both""both"
bidirectionHitung dua arah sekaligustrue

Format areas (polygon)

Dipakai oleh sub-analytic roi_counting, dwelling, dan density. Setiap elemen array areas:

{
  "name": "Restricted Zone",
  "roi_type": "whitelist",
  "points": [
    { "x": 0.0, "y": 0.0 },
    { "x": 0.3, "y": 0.0 },
    { "x": 0.3, "y": 0.3 },
    { "x": 0.0, "y": 0.3 }
  ]
}
FieldFungsiDefault
nameNama tampilan zona, muncul di pipeline_data.area_name/areawajib
pointsMinimal tiga titik {x, y} dalam koordinat normalized (0.0–1.0), membentuk polygonwajib
roi_typeDiterima sebagai "whitelist"/"blacklist" tetapi tidak memengaruhi hasil roi_counting/dwelling/density pada versi ini"whitelist"

Gunakan inside pada sub-analytic density untuk membalik cakupan (dalam vs luar ROI) — roi_type per area tidak melakukan itu untuk People Analytics, walau field-nya diterima tanpa error.

Atribut (NFV4-MPAA, NFV4-MPA2)

Kirim objek attributes di dalam salah satu elemen sub_analytics yang aktif (mis. di dalam objek counting). Objek ini hanya berisi threshold confidence — tidak ada cara mengaktifkan/menonaktifkan atribut tertentu lewat API; semua atribut yang didukung varian selalu dihitung.

{
  "name": "counting",
  "is_active": true,
  "areas": [{ "name": "Main Entrance", "points": [{ "x": 0.2, "y": 0.5 }, { "x": 0.8, "y": 0.5 }] }],
  "attributes": { "gender_confidence_threshold": 0.7, "age_confidence_threshold": 0.6 }
}

Tidak ada 'aktif/nonaktifkan atribut' via API

Berbeda dari Face Recognition (<atribut>_enabled), People Analytics tidak membaca flag enable/disable per atribut dari body API — hanya <atribut>_confidence_threshold yang dibaca. Semua atribut yang didukung varian akan selalu muncul di event.

Threshold Bersama (NFV4-MPAA & NFV4-MPA2)

ParameterDefault
age_confidence_threshold0.5
gender_confidence_threshold0.5
mask_confidence_threshold0.5
glasses_confidence_threshold0.5
head_covering_confidence_threshold0.5
upper_color_confidence_threshold0.5
lower_color_confidence_threshold0.5

Threshold Tambahan (NFV4-MPA2 saja)

ParameterDefault
gloves_confidence_threshold0.5
upper_cloth_confidence_threshold0.5
lower_cloth_confidence_threshold0.5
body_type_confidence_threshold0.5
face_expression_confidence_threshold0.5
footwear_color_confidence_threshold0.5
belonging_confidence_threshold0.5

Perilaku di Bawah Threshold

Perilaku berbeda per jenis atribut ketika confidence hasil klasifikasi berada di bawah threshold-nya:

Jenis atributPerilaku di bawah threshold
genderDipaksa menjadi "Female" dengan confidence = 1 - confidence_asli — bukan "Unknown"
mask, glasses (MPAA & MPA2), gloves (MPA2 saja)Dinegasikan menjadi "No <label>" dengan confidence = 1 - confidence_asli
belonging (MPA2 saja)Item difilter/dihapus dari array — bukan diberi label, tetap tidak muncul sama sekali
Atribut lain (age, head_covering, upper_color, lower_color, upper_cloth, lower_cloth, body_type, face_expression, footwear_color)Diberi label "Unknown"

Perlakukan kasus gender di atas sebagai kuirk source code, bukan bug yang akan diperbaiki tanpa pemberitahuan — jangan mengandalkan gender: "Female" sebagai sinyal identifikasi gender aktual jika confidence yang menyertainya rendah.

Nilai Atribut yang Didukung

Bersama (MPAA & MPA2):

AtributNilai
age (MPAA)Child, Adult, Elderly
age (MPA2)Child, Teen, Adult, Elderly
genderMale, Female
maskMask, No mask
glassesGlasses, No glasses
head_covering (MPAA)Hat, Hijab, None
head_covering (MPA2)Hat, Hijab, Helmet, Hoodie cap, Other, No head covering, Unknown
upper_color/lower_color (MPAA)Yellow, White, Red, Grey, Blue, Brown, Green, Pink, Purple, Orange, Black
upper_color/lower_color (MPA2)Black, White, Grey, Red, Green, Blue, Brown, Pink, Purple, Orange, Yellow, Beige, Unknown

Eksklusif MPA2:

AtributNilai
glovesGloves, No gloves
upper_clothT-shirt, Shirt, Jacket, Hoodie, Sweater, Dress, Robe, Safety vest, Other, Unknown
lower_clothTrousers, Shorts, Short skirt, Long skirt, Other, Unknown
body_typeSlim, Average, Heavy-set
face_expressionHappy, Angry, Sad, Neutral, Unknown
footwear_color(sama dengan palet warna MPA2 di atas)
belonging (multi-label, array)Backpack, Handbag, Shoulder bag, Suitcase, Box, Carrying baby, Accompanying baby, Carrying child, Accompanying child, Firearms, Sharp weapon, Handphone, Other

Model MPA2 juga menghitung atribut internal pregnant, tetapi hasilnya selalu difilter sebelum sampai ke event — jangan mengandalkan field ini karena tidak akan pernah muncul di pipeline_data.attributes.

Counting Sederhana (NFV4-PC, NFV4-PCA, NFV4-HC)

Body pipeline jauh lebih sederhana — tidak ada sub_analytics, semua field dikirim di level atas:

ParameterFungsiDefaultKapan diubah
object_confidence_thresholdConfidence minimum deteksi0.53 (NFV4-PC/NFV4-PCA), 0.55 (NFV4-HC)Turunkan jika banyak orang/kepala terlewat
dumping_sampling_timeInterval agregasi event crossing (ms)2000Turunkan untuk event lebih cepat pada traffic padat
areasArray garis virtual — format sama seperti format areas (garis)Satu garis default di tengah frameSelalu kirim eksplisit

NFV4-PCA menerima parameter yang sama seperti NFV4-PC, tetapi tidak ada parameter tambahan untuk atribut — atributnya diproses secara internal via snapshot API dan, seperti dijelaskan di Varian & Cara Kerja, hasilnya tidak pernah tergabung ke event pada versi ini.

Dwelling & Density Sederhana (NFV4-PD, NFV4-HD)

ParameterBerlaku untukFungsiDefault
object_confidence_thresholdNFV4-PD, NFV4-HDConfidence minimum deteksi0.53 (NFV4-PD), 0.55 (NFV4-HD)
intervalNFV4-HD sajaInterval pelaporan kepadatan (detik)10
areasNFV4-PD, NFV4-HDArray polygon ROI — format sama seperti format areas (polygon)ROI penuh satu frame

NFV4-PD tidak menerima parameter tuning dwelling

NFV4-PD tidak membaca dwelling_treshold_alert_sec, idle_time_sec, minimum_dwelling_sec, maupun object_intersect_threshold — hanya object_confidence_threshold dan areas yang berpengaruh. Jika Anda mengirim parameter tersebut, nilainya diabaikan begitu saja tanpa error. Untuk dwelling yang bisa di-tuning, gunakan sub-analytic dwelling pada NFV4-MPA/NFV4-MPAA/NFV4-MPA2.

Preset Konfigurasi

Tidak ada preset konfigurasi bawaan untuk People Analytics pada versi ini — tidak seperti Face Recognition, tidak ada satu pun varian People Analytics yang mendaftarkan preset (add_config_preset). Endpoint GET /config/preset/{analytic_id}/ akan mengembalikan daftar kosong untuk seluruh analytic ID di halaman ini.


Environment Variable

Hanya dua environment variable yang memengaruhi nilai default People Analytics, dan keduanya hanya berlaku untuk sub-analytic dwelling pada varian Multi-Logics (NFV4-MPA, NFV4-MPAA, NFV4-MPA2) — tidak berlaku untuk NFV4-PD.

VariableSetara parameter APIDefault
DWELLING_MINIMUM_DWELLING_SECminimum_dwelling_sec2
DWELLING_ONLY_DUMP_EXITonly_dump_exit0 (false)

Parameter lain (object_confidence_threshold, dumping_sampling_time, dsb.) tidak memiliki environment variable — nilai defaultnya tertanam langsung di source code per analytic ID dan hanya bisa dioverride lewat body API.

Argumen Aplikasi

ArgumenDefaultFungsi
--fremis-coordinator-address127.0.0.1:4006Alamat endpoint atribut yang dipanggil NFV4-PCA (lihat catatan fungsionalitas di Varian & Cara Kerja). Tidak digunakan oleh varian lain.

Penjelasan lengkap ada di Configuration Reference.

On this page