What 98% Accuracy Actually Looks Like: Inside Our License-Plate Recognition System
A behind-the-scenes look at building a computer vision system for live, uncontrolled conditions.
By Analytics Nest Team, published 2026-09-24. Category: COMPUTER VISION.
Why accuracy on a demo video means very little
Most license-plate recognition demos are recorded in perfect light, with a clean camera angle and a car that drives past slowly. Real parking lots and checkpoints look nothing like that. Cameras are mounted wherever there was space, headlights flare at night, plates are dirty or bent, and vehicles rarely stop where you expect them to.
That is why we measure our system on live CCTV feeds from real sites, not on curated test clips. The 98% figure we quote comes from that environment.
What makes live conditions hard
- Lighting: glare from headlights at night and harsh shadows during the day.
- Angles: cameras installed high or to the side, so plates appear skewed.
- Motion blur: vehicles that do not slow down at the barrier.
- Plate condition: dirt, damage, stickers and non-standard fonts.
- Video quality: compressed streams from existing CCTV systems rather than dedicated cameras.
How the system is built
The pipeline has three stages. First, a detection model finds the vehicle and the plate region in each frame. Second, the plate image is corrected for angle and lighting. Third, a recognition model reads the characters, and the result is checked against the plate formats used in the region.
Instead of trusting a single frame, the system reads the same plate across several frames and keeps the most confident result. This one step removes a large share of misreads caused by blur or a passing reflection.
Running on cameras clients already have
Our recognition system is deployed on standard CCTV setups already installed at parking lots and checkpoints. Clients do not need to replace their cameras, which keeps cost and rollout time low.
What we learned
- Test on the real site early. A week of real footage teaches more than a month in the lab.
- Measure accuracy per condition (day, night, rain), not just one overall number.
- Design for the misses: plan how an operator reviews low-confidence reads.