Nodeflux Central
License Plate Recognition (LPR)

Konfigurasi

Referensi lengkap parameter pipeline License Plate Recognition 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).

Tidak ada environment variable maupun preset konfigurasi untuk LPR. Berbeda dari Face Recognition, src/packages/lpr/lpr.cpp dan lpr3.cpp tidak memanggil utils::get_env(...) sama sekali, dan fungsi registrasi preset (add_configuration_lpr, add_configuration_lpr_exp) sengaja dikosongkan ({}). Prioritas konfigurasinya hanya dua tingkat: parameter API → default hardcoded. GET /config/preset/{analytic_id}/ untuk keempat varian LPR tidak akan mengembalikan preset apa pun.

Parameter Deteksi & Dedup

Berlaku untuk keempat varian kecuali disebutkan lain.

ParameterFungsiDefaultKapan diubah
plate_confidence_thresholdConfidence minimum agar deteksi plat diterima0.6Turunkan ke 0.4–0.5 untuk kondisi cahaya rendah; naikkan ke 0.7–0.8 untuk mengurangi false detection
vehicle_confidence_thresholdConfidence minimum agar deteksi kendaraan diterima0.6Turunkan bersamaan dengan plate_confidence_threshold pada kondisi sulit
vehicle_score_thresholdConfidence minimum kendaraan agar tetap di-dump saat enable_dump_non_plate aktif dan tidak ada plat terasosiasi0.51Naikkan untuk mengurangi false positive event kendaraan tanpa plat
enable_dump_non_plateKirim event untuk kendaraan terdeteksi meskipun platnya tidak terbacafalseAktifkan untuk monitoring seluruh kendaraan tanpa terkecuali
bbox_offsetToleransi offset untuk asosiasi bounding box plat ke kendaraan; nilai dari body di-clamp otomatis ke rentang [0, 0.5]0.1Jarang perlu diubah
plate_cache_lifetimeDurasi (detik) sebuah nomor plat disimpan di cache dedup sebelum boleh di-dump ulang5Naikkan ke 10–15 untuk parkir (kendaraan diam lama); turunkan ke 2–3 untuk toll/highway volume tinggi
max_group_memberBatas maksimum sampel yang disimpan per grup (LPR2/LPRS) atau per track kendaraan (LPR3/LPR3S) sebelum sampel lama/confidence rendah dibuang30Kurangi untuk hemat memori pada pipeline dengan banyak kendaraan bersamaan

Parameter Khusus Single-stage (NFV4-LPR2, NFV4-LPRS)

Parameter berikut diterima oleh keempat varian tanpa error, tetapi hanya memengaruhi perilaku NFV4-LPR2/NFV4-LPRS. Pada NFV4-LPR3/NFV4-LPR3S, nilai ini disimpan tetapi tidak pernah dibaca ulang di luar log debug dan GET /config/pipeline/.../ — tidak ada efek pada output.

ParameterFungsiDefaultKapan diubah
similarity_score_thresholdToleransi kemiripan (Levenshtein distance) untuk mengelompokkan hasil OCR ke grup yang sama0.7Naikkan ke 0.8 untuk hasil grouping lebih ketat; turunkan ke 0.6 untuk toleransi noise OCR lebih tinggi
no_input_period_thresholdJumlah frame tanpa anggota baru sebelum grup dianggap selesai dan di-dump2Naikkan untuk kendaraan yang berhenti lama di area pemantauan
min_group_memberJumlah sampel minimum dalam grup agar boleh di-dump2Naikkan ke 3–5 untuk hasil lebih akurat; turunkan untuk throughput lebih cepat

Parameter Khusus Two-stage (NFV4-LPR3, NFV4-LPR3S)

ParameterFungsiDefaultKapan diubah
plate_recognition_fpsFPS throttling untuk deteksi plat tahap kedua (deteksi kendaraan tetap berjalan tiap frame)4Naikkan ke 6–8 untuk kendaraan cepat (toll/highway); turunkan ke 2–3 untuk hemat GPU pada area lambat

plate_recognition_fps dibaca langsung dari body request di dalam loop utama pipeline (src/packages/lpr/lpr3.cpp), bukan lewat registry konfigurasi verbose seperti parameter lain — nilainya diterima dan berfungsi normal, tetapi tidak akan muncul pada respons GET /pipeline/{node_num}/{stream_id}/{analytic_id}. Ambang confidence OCR untuk keputusan output-langsung (0.95) vs buffer (0.85–0.95) juga tetap (hardcoded), tidak dapat dikonfigurasi lewat API.

Area ROI (areas)

Field areas wajib disertakan minimal satu entri saat POST. Setiap entri berbentuk:

{
  "areas": [
    {
      "name": "Gate A",
      "roi_type": "whitelist",
      "points": [
        { "x": 0.1, "y": 0.3 },
        { "x": 0.9, "y": 0.3 },
        { "x": 0.9, "y": 0.9 },
        { "x": 0.1, "y": 0.9 }
      ]
    }
  ]
}
FieldWajibFungsi
nameYaNama area — dipakai sebagai area_name pada event, dan sebagai suffix primary_text (mis. car|Gate A) saat mode whitelist
roi_typeTidak (default whitelist)whitelist memproses kendaraan di dalam polygon; blacklist mengabaikan kendaraan di dalam polygon dan memproses sisanya di area bernama default
pointsYa, minimal 3 titikTitik sudut polygon, koordinat dinormalisasi [0,1]. Nilai di luar rentang otomatis di-clamp ke tepi frame
entry_lines / exit_linesTidak — tidak berefek untuk LPRDiterima oleh parser payload umum Visionaire, tetapi pipeline LPR tidak pernah membacanya. Lihat Varian & Cara Kerja — Direction Bukan In/Out

Jika key areas tidak dikirim sama sekali, Visionaire otomatis membuat satu area whitelist penuh-frame bernama default. Namun jika key areas dikirim tapi array-nya kosong, atau ada entri dengan kurang dari 3 points, pipeline akan gagal karena assertion pada payload parser (src/handler/helper/payload.hpp) — selalu sertakan minimal satu area valid.


Argumen CLI & Environment Level Aplikasi

Tidak ditemukan argumen CLI khusus LPR pada src/master_controller.cpp add_options(), dan tidak ada environment variable seperti FR_* pada Face Recognition. Pengaturan level aplikasi umum (base URL, node number, dsb.) mengikuti Configuration Reference yang berlaku untuk seluruh Visionaire4, bukan spesifik LPR.

On this page