Automatic License Plate Recognition System (ALPR)
About the Project
This project focuses on building a computer vision system for automatically identifying vehicles by reading their license plates. The system operates in two stages: first, it detects the plate in the image, and then it recognizes the text on it.
I trained a detection model on a custom dataset, achieving high localization accuracy.
Additionally, I integrated PaddleOCR to extract characters from cropped plate images.
A Python script was implemented using OpenCV to visualize the results (bounding boxes + recognized text) and to filter predictions based on a confidence threshold.
Inference Pipeline
1. The input image is passed to the detection model.
2. The predicted coordinates (xyxy) are used to crop the region of interest (ROI) containing the license plate.
3. The cropped fragment is processed by PaddleOCR for text recognition.
4. The output is filtered using a confidence threshold (conf_thresh = 0.5).
Visualization
Using OpenCV, bounding boxes and recognized text are drawn on the original image, and the result is saved locally.
Tech Stack
• Language: Python
• ML/DL Frameworks: PyTorch, PaddlePaddle
• CV Libraries: Ultralytics (YOLO), PaddleOCR, OpenCV
#machinelearining #computervision #ML #AI
This project focuses on building a computer vision system for automatically identifying vehicles by reading their license plates. The system operates in two stages: first, it detects the plate in the image, and then it recognizes the text on it.
I trained a detection model on a custom dataset, achieving high localization accuracy.
Additionally, I integrated PaddleOCR to extract characters from cropped plate images.
A Python script was implemented using OpenCV to visualize the results (bounding boxes + recognized text) and to filter predictions based on a confidence threshold.
Inference Pipeline
1. The input image is passed to the detection model.
2. The predicted coordinates (xyxy) are used to crop the region of interest (ROI) containing the license plate.
3. The cropped fragment is processed by PaddleOCR for text recognition.
4. The output is filtered using a confidence threshold (conf_thresh = 0.5).
Visualization
Using OpenCV, bounding boxes and recognized text are drawn on the original image, and the result is saved locally.
Tech Stack
• Language: Python
• ML/DL Frameworks: PyTorch, PaddlePaddle
• CV Libraries: Ultralytics (YOLO), PaddleOCR, OpenCV
#machinelearining #computervision #ML #AI