Persyaratan
Spesifikasi kamera, panduan penempatan kamera agar plat nomor terbaca jelas, dan dependensi resource untuk License Plate Recognition.
Akurasi OCR plat ditentukan jauh sebelum frame sampai ke model deteksi — oleh kamera yang dipilih dan cara memasangnya. Halaman ini menjelaskan spesifikasi minimum dan cara menempatkan kamera agar plat yang masuk ke pipeline cukup besar dan tajam untuk dibaca.
Spesifikasi Kamera
| Persyaratan | Minimum | Rekomendasi |
|---|---|---|
| Resolusi | 1080p (1920×1080) | 1080p — investasikan pada lensa dan shutter speed, bukan resolusi lebih tinggi |
| Frame rate | 8 fps | 15–30 fps, lebih tinggi untuk kendaraan cepat |
| Lensa | Fixed, dipilih sesuai jarak titik baca | Varifocal agar FOV bisa disempitkan ke lajur kendaraan |
| Shutter speed | Auto | Minimum 1/500 s pada jalur kendaraan bergerak untuk menghindari motion blur pada karakter plat |
| IR / malam hari | Tidak wajib | IR illuminator untuk operasi 24 jam; hindari mode IR jika pencahayaan tampak masih memungkinkan (kontras karakter lebih baik) |
| Codec | H.264 | H.264 / H.265, bitrate cukup agar karakter tidak pecah |
Kedua varian arsitektur menurunkan frame ke 416×224 sebelum deteksi (cv::Size(416, 224) di src/packages/lpr/lpr.cpp dan lpr3.cpp). Untuk varian single-stage (NFV4-LPR2/NFV4-LPRS), seluruh frame — termasuk plat — diturunkan langsung ke resolusi ini dalam satu langkah, sehingga ukuran plat di frame asli sangat menentukan apakah plat masih terbaca setelah downscale. Varian two-stage (NFV4-LPR3/NFV4-LPR3S) lebih toleran: deteksi plat berjalan pada crop per-kendaraan yang di-resize ulang, bukan pada frame penuh yang sudah diperkecil.
Penempatan Kamera
Tujuan penempatan: plat kendaraan yang melintasi titik baca tetap terbaca setelah frame diturunkan ke ukuran input model.
Satu titik baca per kamera
Arahkan kamera ke satu jalur/gerbang tempat kendaraan pasti melintas dengan kecepatan relatif konsisten. Hindari kamera overview yang mencakup beberapa lajur sekaligus — plat pada lajur terjauh akan terlalu kecil untuk terbaca akurat.
Sudut dan jarak
| Parameter | Nilai | Alasan |
|---|---|---|
| Sudut vertikal (pitch) | 15–30° dari horizontal | Terlalu tegak lurus (>30°) mendistorsi perspektif plat; terlalu datar (<15°) membuat plat mudah terhalang kendaraan di depannya |
| Tinggi pemasangan | 1–1,5 m dari permukaan jalan | Sejajar dengan tinggi rata-rata plat kendaraan roda empat |
| Jarak ke titik baca | 3–8 m | Sesuaikan dengan focal length lensa; makin jauh, makin sempit FOV yang dibutuhkan agar plat tetap besar |
| Hindari | Kamera menghadap langsung ke matahari | Backlight membuat plat tampak sebagai siluet gelap |
Menghitung ukuran plat setelah downscale
Untuk varian single-stage, ukuran plat yang sampai ke model deteksi mengikuti downscale langsung dari resolusi kamera ke 416×224:
lebar plat di input model (px) ≈ lebar plat di frame kamera (px) × (416 ÷ lebar frame kamera (px))Pada kamera 1080p (lebar frame 1920 px), faktor downscale-nya ≈ 0,217×:
| Lebar plat di frame kamera (1080p) | Lebar plat di input model (416 px) |
|---|---|
| 200 px | ~43 px (baik) |
| 150 px | ~33 px (cukup) |
| 120 px | ~26 px (batas nyaman) |
| 80 px | ~17 px (batas bawah, berisiko) |
| 60 px | ~13 px (terlalu kecil, hindari) |
Sempitkan FOV (lensa lebih panjang atau varifocal disetel lebih dekat) sehingga lebar plat di frame kamera tidak kurang dari ~120 px pada 1080p. Untuk NFV4-LPR3/NFV4-LPR3S, batas ini lebih longgar karena plat dideteksi ulang dari crop kendaraan, bukan dari frame 416×224 secara langsung — tetap ikuti panduan di atas sebagai baseline aman untuk semua varian.
Pencahayaan
- Minimal 300 lux di area plat agar karakter tidak underexposed.
- Pasang IR illuminator untuk operasi malam hari atau area kurang cahaya.
- Pertimbangkan polarizing filter untuk mengurangi glare dari permukaan plat metalik/reflektif.
- Hindari sumber cahaya langsung yang mengarah ke lensa kamera (lampu kendaraan lain, lampu jalan).
Yang perlu dihindari
- Lensa wide-angle pada jarak jauh — plat kecil dan terdistorsi di tepi frame.
- Sudut kamera yang membuat plat kendaraan lain menghalangi plat kendaraan di depannya pada lajur padat.
- Kamera fisheye/PTZ yang ikut dipakai untuk overview — gunakan kamera khusus untuk titik baca LPR.
Dependensi
| Komponen | Kebutuhan | Sumber |
|---|---|---|
| CPU | 3 core per pipeline | get_resource_req() di src/packages/lpr/lpr.cpp dan lpr3.cpp — nilai tetap, sama untuk keempat varian |
| RAM | 2000 MB per pipeline | get_resource_req(), nilai tetap |
| GPU | Dibagikan sebagai fraksi resource GPU bersama pipeline lain di node yang sama (bukan alokasi VRAM tetap) | register_service(...) di register_package_lpr/register_package_lpr_exp, fraksi berbeda per tipe GPU (mis. ~0,1 pada GPU tipe Default/L4/L40, ~0,01 pada A100, ~0,11 pada T4) |
| Stream video | Aktif dan dapat diakses node Visionaire | — |
LPR tidak bergantung pada layanan eksternal seperti FREMIS-N — seluruh pemrosesan (deteksi, OCR, grouping/tracking, dedup) berjalan di dalam pipeline itu sendiri.
Daftar lengkap parameter ada di Konfigurasi. Setelah persyaratan terpenuhi, buat pipeline sesuai API Reference — Manajemen Pipeline.