A color-shape and shape-color two pipelines based Chinese License Plates Detector. Aim at both taking the efficient advantages of traditional handcraft features extraction computer vision algorithms to make up for deep learning based algorithms, and making use of multiple priori features instead of single feature to improve the robustness and accuracy of the detection algorithm.
Task:
CLPDetector pipeline:
- Color-based RoI proposal and shape-based RoI proposal
- Shape-based plate rectification and color-based plate rectification
- Wave-based characters split
- SVM-based characters classification
- Two pipelines parallel threading
- Easy to use GUI
# install dependencies
pip install -r requirements.txt
# train the SVM models
python classifier.py
# test all images together
python detector.py
# run the GUI CLPDetector
python main.py
- Classifier Result
- Detector Result
- Detection Test Result
- Visualization Result
- Color-based RoI Proposal
- Shape-based RoI Proposal
- Color-based Rectification
- Shape-based Rectification
- Wave-based Characters Split
- SVM-based Characters Classification
- core detection algorithms implementation
- color-based ROI proposal
- shape-based ROI proposal
- rectification for ROIs from color proposal
- rectification for ROIs from shape proposal
- characters split
- characters classification
- characters classifier models training
- core detection algorithms refactor (
detector.py - ChineseLicensePlateDetector
)- detect wrapper (
detect()
)- color shape pipeline (
color_shape_pipeline()
)- preprocess (
color_shape_preprocess()
) - color RoI proposal (
color_RoI_proposal()
) - shape rectification (
shape_rectification()
) - characters split (
color_shape_characters_preprocess()
) - characters classification (
characters_classify()
,classifier.py
)
- preprocess (
- shape color pipeline (
shape_color_pipeline()
)- preprocess (
shape_color_preprocess()
) - shape RoI proposal (
shape_RoI_proposal()
) - color rectification (
color_rectification()
) - characters split (
shape_color_characters_preprocess()
) - characters classification (
characters_classify()
,classifier.py
)
- preprocess (
- color shape pipeline (
- detect wrapper (
- GUI design
- main window (original image, detection results)
- visualization window (two pipelines intermediate results show)