
Parkschool ALPR
Parkschool ALPR (Automatic License Plate Recognition) is the computer vision microservice of a parking control system, developed in the SENAC Capstone Project. It reads frames from a file, RTSP or USB camera, detects the plate, reads the characters and sends the event to a Node.js backend maintained by another team.
Architecture
The detector and reader sit behind interfaces, so the real models can be swapped for simulated versions in tests, with no camera or TensorFlow. A FastAPI service exposes /health/live and /health/ready, with counters for frames, events sent, duplicates and invalid readings.
Reliability
Each event has its own identifier, so retries do not create duplicate records. The HTTP client retries with exponential backoff on network failures and honors Retry-After. Only plates in the Mercosur and legacy formats are sent, without correcting ambiguous characters, and logs do not expose credentials or the full plate.
Models and Current Status
Detection and OCR use TensorFlow/Keras models, with training and evaluation scripts for the RodoSol-ALPR dataset and a model card that records each model's version, hash and metrics. Final training and measurement with real images are the next step, so the default mode still uses a simulated detector and OCR. The suite has more than 100 automated tests.