01Challenge
At night ordinary cameras struggle: auto-exposure adapts to headlights, IR illumination causes glare and motion blur. The client did not want to install expensive ANPR cameras at every gate, and the cloud was ruled out. Requirements: accuracy of at least 95%, no more than 0.5% false reads and no more than 500 ms per event.
02Solution
- A passage, not a frame: the plate is tracked across 10–40 frames, the best frames are selected by sharpness, exposure and glare, and the result is decided by voting
- Brightness and contrast normalization inside the plate box, IR glare suppression, perspective correction
- A compact CRNN model — under 1M parameters — on CPU: about 4 ms per plate crop
- The decoder knows the plate format: a letter cannot land in a digit position, and the region code is checked against a reference list
- Doubtful results are not published — the operator gets a candidate and a hint
- API and webhooks for the platform: recognition, passages, event triggers
03Results
- 97.5% accuracy versus 86.5% for the standard best-frame approach
- 0% false reads across all difficulty groups
- 121 ms from event to response; 2 CPU cores serve 1–2 cameras
- Deployment with Docker or systemd directly on site