Best Practices & Troubleshooting
Tuning threshold, keterbatasan sistem, dan runbook untuk masalah umum pada License Plate Recognition.
Best Practices
Penempatan Kamera
Sebagian besar masalah akurasi OCR berakar pada kamera: plat terlalu kecil setelah downscale ke 416×224, sudut terlalu curam, atau backlight. Ikuti Persyaratan — Penempatan Kamera — satu titik baca per kamera, sudut 15–30°, lebar plat ≥120 px pada frame 1080p.
Memilih Antara Single-stage dan Two-stage
- Pilih
NFV4-LPR2/NFV4-LPRS(single-stage) untuk volume kendaraan rendah–sedang di mana toleransi terhadap noise OCR sesaat lebih penting daripada latensi. - Pilih
NFV4-LPR3/NFV4-LPR3S(two-stage) untuk volume tinggi (toll, highway) — deteksi plat pada crop per-kendaraan membuatnya lebih toleran terhadap plat kecil di frame asli, dan output lebih cepat begitu confidence tinggi tercapai.
Tuning Threshold
- Mulai dari nilai default
plate_confidence_threshold: 0.6danvehicle_confidence_threshold: 0.6. - Untuk area keamanan tinggi: naikkan kedua threshold ke 0.7–0.8, dan pada
NFV4-LPR2/NFV4-LPRSnaikkanmin_group_memberke 3–5. - Untuk cahaya rendah atau plat kotor: turunkan threshold ke 0.4–0.5, terima risiko false positive lebih tinggi dan tangani duplikasi/validasi di aplikasi.
- Karena tidak ada environment variable, semua tuning per node harus dikirim ulang secara eksplisit di setiap
POST/PUTpipeline.
Jangan Andalkan Garis Virtual untuk Arah
entry_lines/exit_lines di dalam areas tidak difungsikan oleh LPR. Jika butuh logika masuk vs keluar, gunakan dua area ROI terpisah dan bedakan berdasarkan area_name, bukan direction. Detail: Varian & Cara Kerja — Direction Bukan In/Out.
Keterbatasan
- Motion blur — kendaraan berkecepatan tinggi dengan shutter speed kamera lambat menyebabkan karakter plat tidak terbaca. Gunakan shutter ≥1/500 s.
- Glare dan refleksi pada permukaan plat metalik dapat mengaburkan karakter — gunakan polarizing filter atau sesuaikan sudut kamera.
- Plat kotor, rusak, atau karakter non-standar (modifikasi, stiker) menurunkan akurasi OCR dan tidak dapat diatasi lewat konfigurasi.
- Plat non-Indonesia tidak didukung — model OCR dan klasifikasi tipe plat dilatih khusus format Indonesia.
NFV4-LPR3/NFV4-LPR3Stidak memberikan indikasi arah —directionselalu"unknown".NFV4-LPR2/NFV4-LPRShanya memberi indikasi gerak vertikal, bukan logika masuk/keluar berbasis garis — lihat catatan di atas.- Tidak ada environment variable maupun preset bawaan — setiap penyesuaian harus dikirim eksplisit per pipeline lewat
POST/PUT. - Resolusi di bawah 1080p menghasilkan banyak kesalahan OCR karena ukuran plat setelah downscale ke 416×224 menjadi terlalu kecil.
- Setiap pipeline membutuhkan CPU dan RAM terpisah (3 core / 2000 MB, nilai tetap) — pertimbangkan kapasitas hardware sebelum menambah banyak pipeline di satu node.
Troubleshooting
LPR tidak menghasilkan side message pipeline khusus seperti beberapa modul lain — sebagian besar masalah bersifat operasional (konfigurasi/penempatan) dan bisa didiagnosis dari perilaku event atau log container (docker logs visionaire4).