A driver parks, the camera scans the plate, but the system outputs "О00Р777" instead of "О 777 РР 777" — a scenario many know well. We face such cases regularly and know how to turn raw OCR output into a reliable result. ANPR (Automatic Number Plate Recognition) on a mobile device is a mature task, but the key engineering challenge is not the OCR itself — it's the pipeline: from frame capture to a validated plate. Night, dirt, reflections, non-standard CIS fonts — each factor requires separate handling. We develop turnkey ANPR solutions for iOS and Android using modern computer vision models. Our multi-year experience in video analytics ensures stable performance even in complex conditions. We'll evaluate your project and suggest the optimal approach — on-device, cloud, or hybrid. Contact us for a preliminary assessment.
How to Achieve Recognition Accuracy in Challenging Conditions?
The choice of approach depends on speed, autonomy, and accuracy requirements. Compare the two main options:
| Criteria | On-device (CoreML / ML Kit) | Cloud API (OpenALPR / AWS) |
|---|---|---|
| Latency | <50 ms | 200–800 ms + network |
| Autonomy | Full | Requires internet |
| Accuracy on complex plates | 85–92% | 93–97% |
| Operational cost | Free after development | Depends on request volume |
For parking lots and checkpoints with high scan frequency, we recommend on-device. If maximum accuracy is required (e.g., entry verification), we use a cloud fallback.
On-device ANPR: Stack and Example
On iOS, we use Vision + a custom YOLOv8 for plate detection. The model is trained on CIS plate datasets. The code example above includes detection, crop, and OCR.
CIS Plate Normalization
OCR produces raw text. For CIS plates, post-processing is mandatory: replace visually similar characters (0→O, 1→I, 8→B) and validate against regular expressions for each country. We have built a normalizer for RU, BY, UA, KZ. If no pattern matches, we return low confidence.
What If a Plate Fails Validation?
In continuous scanning mode (e.g., checkpoint), we use a frame filter: three consecutive identical results — only then we consider the plate valid. This reduces false positives from random objects resembling a plate. The Android implementation using CameraX is shown in the source code.
Why On-device ANPR Is Better Than Cloud?
On-device processing completes in <50 ms, 4–10 times faster than a cloud request. Full autonomy eliminates network dependency and server costs. Moreover, on-device models (certified solutions) achieve 92–96% accuracy on clean frames, and with cloud fallback up to 97%. This makes on-device ANPR ideal for large-scale high-load deployments.
Typical ANPR Implementation Stages
| Stage | Description | Timeline |
|---|---|---|
| Requirements analysis | Collect data, define plate region | 1 day |
| Detection development | Train or adapt YOLO | 2–3 days |
| OCR and normalization | Integrate OCR, write rules | 1–2 days |
| Integration and testing | Embed into app, regression testing | 1–2 days |
What's Included
- ANPR module architecture: model selection, pipeline, normalization
- Detection and OCR implementation for iOS and/or Android
- Support for up to 5 countries (extendable)
- Integration with your database via REST API
- Testing on real video streams (night mode, rain, snow)
- Documentation and operation manual
- Post-warranty support
Common ANPR Implementation Mistakes
- Neglecting normalization: OCR sees "0" instead of "O" — result mismatches database
- Too high frame rate: 30 FPS is useless, CPU load increases, accuracy doesn't improve. Optimum is 5 fps
- No noise filtering: one incorrect frame can block entry
- Ignoring regional specifics: Kazakhstan plates consist of digits and Latin letters, while Russian plates use Cyrillic and digits
Timeline Estimates
A basic on-device implementation for one country takes 3–5 days. A full multi-country system with continuous video analysis and integration takes 1–2 weeks. Contact us for an accurate estimate. We have been on the market for over 5 years, completed 30+ video analytics projects — we know how to avoid pitfalls. We guarantee quality at every stage.
More information about ANPR can be found on Wikipedia.







