Nodeflux Central
PPE Analytics

Konfigurasi

Referensi lengkap parameter pipeline PPE Analytics, sub-analytic (counting, ROI counting, dwelling, density), threshold atribut, dan environment variable.

Parameter di halaman ini dikirim sebagai body JSON saat membuat pipeline (POST /pipeline/{node_num}/{stream_id}/NFV4-PPE) atau mengubahnya (PUT pada endpoint yang sama). PPE Analytics memakai arsitektur multi-logics Visionaire: satu deteksi orang dan satu klasifikasi atribut PPE dibagikan ke empat sub-analytic (counting, roi_counting, dwelling, density) yang dapat diaktifkan/nonaktifkan secara independen lewat is_active pada masing-masing entri sub_analytics.

Tidak ada preset konfigurasi (GET /config/preset/{analytic_id}/) yang terdaftar untuk NFV4-PPE — berbeda dari Face Recognition. Setiap nilai harus dikirim eksplisit atau memakai default di bawah.

Parameter Global

ParameterFungsiDefaultKapan diubah
object_confidence_thresholdConfidence minimum deteksi orang0.53Turunkan ke 0.4 jika banyak pekerja terlewat; naikkan untuk mengurangi false detection. Dapat juga dikirim per sub-analytic (lihat masing-masing bagian di bawah) untuk override hanya pada logic tersebut.

Atribut PPE

Setiap orang yang terdeteksi diklasifikasikan pada 11 atribut. Empat bersifat biner (Yes/No), tujuh bersifat multi-kelas. Bila confidence atribut di bawah threshold-nya, label diganti menjadi Unknown — berlaku sama untuk atribut biner maupun multi-kelas (src/handler/helper/snapshot.hpp, postprocess_ppe_attributes).

AtributTipeNilai yang mungkin
safety_glassesBinerYes, No, Unknown
face_shieldBinerYes, No, Unknown
glovesBinerYes, No, Unknown
safety_harnessBinerYes, No, Unknown
head_protectionMulti-kelasHard helmet, Hairnet, None, Unknown
helmet_colorMulti-kelasBlack, White, Grey, Red, Green, Blue, Brown, Pink, Orange, Yellow, None, Unknown
face_maskMulti-kelasRespirator, Surgical/Cloth, None, Unknown
protective_clothingMulti-kelasSafety vest, Hazmat, Lab coat, Apron, Coverall, None, Unknown
protective_clothing_colorMulti-kelasSama seperti helmet_color
footwear_typeMulti-kelasSafety boots, Rubber boots, Shoe cover, Sneakers, Dress shoes, Sandals, Barefoot, Unknown
work_contextMulti-kelasConstruction, Manufacturing, Laboratory, Healthcare, Food handling, Mining, Electrical, Unknown

Nilai persis setiap label ditentukan oleh model yang dibundel dalam rilis Visionaire (src/handler/paddle/include/postprocess.h, PPEAttributeHelper) dan dapat berbeda antar versi. Perlakukan label sebagai string bebas di sisi integrasi — jangan hardcode enum penuh.

Threshold Atribut

Kirim objek attributes pada body pipeline berisi threshold confidence per atribut (0.0–1.0). Semua default 0.5.

{
  "attributes": {
    "head_protection_confidence_threshold": 0.7,
    "safety_harness_confidence_threshold": 0.7
  }
}
ParameterAtribut yang dipengaruhiDefault
safety_glasses_confidence_thresholdsafety_glasses0.5
face_shield_confidence_thresholdface_shield0.5
gloves_confidence_thresholdgloves0.5
safety_harness_confidence_thresholdsafety_harness0.5
head_protection_confidence_thresholdhead_protection0.5
helmet_color_confidence_thresholdhelmet_color0.5
face_mask_confidence_thresholdface_mask0.5
protective_clothing_confidence_thresholdprotective_clothing0.5
protective_clothing_color_confidence_thresholdprotective_clothing_color0.5
footwear_type_confidence_thresholdfootwear_type0.5
work_context_confidence_thresholdwork_context0.5

Threshold kustom belum diterapkan ke event real-time

Nilai *_confidence_threshold yang Anda kirim tersimpan dan tampil kembali di GET /config/pipeline/NFV4-PPE/, tetapi routine yang benar-benar membangun event (MultiLogicAnalyticsRoutine di src/packages/multi_logics/routines.hpp) tidak meneruskan nilai kustom tersebut ke proses labeling — hanya threshold default 0.5 per atribut yang aktif saat event dibuat, berapa pun nilai yang Anda kirim. Anggap parameter ini sebagai dokumentasi kontrak API untuk saat ini; jangan bergantung padanya untuk tuning production.

Tidak ada toggle aktif/nonaktif per atribut

Struktur konfigurasi internal PPE Analytics memiliki flag enabled per atribut (src/handler/helper/snapshot.hpp, struct PPEAttrCfg, default semua true), tetapi tidak ada jalur di body pipeline yang mengubahnya — berbeda dari atribut kendaraan (color/type/brand pada NFV4-MVAA) yang memang bisa di-enable/disable dari API. Untuk PPE, satu-satunya kontrol yang tersedia dari API adalah threshold confidence di atas.

Counting

Menghitung orang yang melewati garis virtual, beserta atributnya.

ParameterFungsiDefaultKapan diubah
areasDaftar garis hitung: [{ "name", "points": [{x,y},{x,y}], "direction", "bidirection" }], koordinat ternormalisasi 0–1satu garis horizontal di tengah frameTentukan posisi garis sesuai gate/pintu masuk area kerja. direction menentukan sisi mana yang dihitung "in"; bidirection: true menghitung kedua arah.
dumping_sampling_timeInterval agregasi event saat orang melewati garis (ms)500Naikkan untuk mengurangi frekuensi event; turunkan untuk respons lebih cepat.
dump_ignore_iou_thresholdThreshold IoU untuk deduplication crossing0.8Naikkan jika terjadi double count.
enable_group_trackingAktifkan tracking rombongan/grupfalseAktifkan di gate dengan traffic padat agar orang yang berjejalan tidak menghasilkan banyak track terpisah.
minimum_tracking_heightTinggi minimum bounding box (rasio terhadap tinggi frame)0.05Turunkan jika pekerja terlihat kecil di frame (kamera jauh/overview).
maximum_tracking_objectsJumlah maksimum objek yang di-track bersamaan30Naikkan untuk area dengan banyak pekerja sekaligus.
enable_visual_labelTampilkan label pada visualisasi live viewfalseAktifkan untuk debugging.

ROI Counting

Menghitung orang yang masuk/keluar polygon (area kerja), tanpa garis.

ParameterFungsiDefaultKapan diubah
areasDaftar polygon: [{ "name", "roi_type": "whitelist"|"blacklist", "points": [{x,y}, ...] }] (minimal 3 titik, ternormalisasi 0–1)seluruh frame (whitelist)Gambar polygon mengelilingi zona kerja yang diaudit.
enable_group_trackingAktifkan tracking rombongan/grupfalseSama seperti Counting.
minimum_tracking_heightTinggi minimum bounding box (rasio terhadap frame)0.05Sama seperti Counting.
maximum_tracking_objectsJumlah maksimum objek yang di-track30Sama seperti Counting.
enable_visual_labelTampilkan label pada visualisasifalseAktifkan untuk debugging.

dump_ignore_iou_threshold yang dikirim di dalam entri roi_counting diterapkan dengan benar. dumping_sampling_time, meski diterima dan disimpan di konfigurasi, tidak berpengaruh pada ROI Counting di versi kode ini — kode internal memeriksa kunci yang salah eja (src/packages/multi_logics/routines.hpp) sehingga nilainya tidak pernah terbaca. Jangan mengandalkan parameter ini untuk mengatur ROI Counting; interval agregasi event mengikuti perilaku default internal handler.

Dwelling

Mendeteksi orang yang berdiam di suatu area (mis. stasiun kerja statis) melewati durasi tertentu.

ParameterFungsiDefaultKapan diubah
areasDaftar polygon area dwelling (format sama seperti ROI Counting)seluruh frameGambar polygon di stasiun kerja atau area yang diawasi.
dwelling_treshold_alert_secDurasi (detik) sebelum alert dump dikirim meski orang masih di dalam ROI; 0 = nonaktif0Set sesuai kebutuhan audit "sudah berapa lama pekerja di area ini". Ejaan treshold mengikuti kunci di source code.
minimum_dwelling_secDurasi minimum dwelling agar event dihasilkan (detik)2 (environment variable DWELLING_MINIMUM_DWELLING_SEC)Naikkan untuk mengabaikan orang yang hanya lewat sekilas.
idle_time_secWaktu maksimum objek tidak terupdate setelah keluar ROI sebelum dianggap tidak aktif (detik)1Naikkan untuk toleransi gerakan kecil/oklusi singkat.
object_intersect_thresholdRasio interseksi minimum orang dengan ROI agar dianggap "di dalam"0.85Turunkan jika orang di tepi ROI sering tidak terdeteksi masuk.
minimum_object_area_sizeLuas minimum bounding box orang (piksel²)2000Turunkan jika pekerja jauh dari kamera.
sharpness_filter_thresholdAmbang ketajaman gambar untuk dump dwelling (0–10)0Naikkan jika banyak frame buram ikut ter-dump.
only_dump_exitHanya kirim event saat orang keluar ROIfalse (environment variable DWELLING_ONLY_DUMP_EXIT)Aktifkan jika Anda hanya butuh laporan akhir (bukan alert selama masih di dalam).
enable_group_trackingAktifkan tracking rombongan/grupfalseSama seperti Counting.
minimum_tracking_heightTinggi minimum bounding box (rasio terhadap frame)0.05Sama seperti Counting.
maximum_tracking_objectsJumlah maksimum objek yang di-track30Sama seperti Counting.

Density

Estimasi periodik jumlah orang dalam sebuah area.

ParameterFungsiDefaultKapan diubah
areasDaftar polygon area density (format sama seperti ROI Counting)seluruh frameGambar polygon pada area yang ingin dihitung occupancy-nya.
intervalInterval pelaporan (detik)10Naikkan untuk audit periodik jarang; turunkan untuk pemantauan hampir real-time.
insideHitung orang di dalam polygon (true) atau di luar (false)trueUbah ke false untuk menghitung orang di luar zona tertentu.
dump_attributesSertakan atribut PPE per orang pada event densitytrueNonaktifkan untuk menghemat bandwidth jika hanya butuh angka occupancy.
enable_group_trackingAktifkan tracking rombongan/grupfalseSama seperti Counting.
minimum_tracking_heightTinggi minimum bounding box (rasio terhadap frame)0.05Sama seperti Counting.
maximum_tracking_objectsJumlah maksimum objek yang di-track30Sama seperti Counting.

Field interval pada GET /config/pipeline/NFV4-PPE/ menampilkan default dokumentasi 5, tetapi perilaku runtime yang sebenarnya memakai default 10 detik ketika interval tidak dikirim (src/packages/multi_logics/routines.hpp). Kirim interval secara eksplisit jika Anda butuh nilai pasti.

Environment Variable

VariableSetara parameter APIDefaultCakupan
DWELLING_MINIMUM_DWELLING_SECminimum_dwelling_sec2Semua analitik multi-logics dengan sub-analytic Dwelling, termasuk NFV4-PPE.
DWELLING_ONLY_DUMP_EXITonly_dump_exit0 (false)Sama seperti di atas.

Tidak ada argumen CLI (--ppe-*) maupun environment variable khusus NFV4-PPE selain dua variable Dwelling di atas — berbeda dari Face Recognition yang memiliki banyak argumen --fr-*. Alamat model dan resource dikonfigurasi lewat mekanisme node yang sama untuk semua analitik multi-logics; lihat Configuration Reference.

On this page