All Projects → xuexingyu24 → License_plate_detection_pytorch

xuexingyu24 / License_plate_detection_pytorch

Licence: other
A two stage lightweight and high performance license plate recognition in MTCNN and LPRNet

Projects that are alternatives of or similar to License plate detection pytorch

Ccf2016 sougou
ccf2016 sougou final winner solution
Stars: ✭ 333 (-1.19%)
Mutual labels:  jupyter-notebook
Dota devkit
Stars: ✭ 332 (-1.48%)
Mutual labels:  jupyter-notebook
Vscodejupyter
Jupyter for Visual Studio Code
Stars: ✭ 337 (+0%)
Mutual labels:  jupyter-notebook
Tensorly Notebooks
Tensor methods in Python with TensorLy
Stars: ✭ 332 (-1.48%)
Mutual labels:  jupyter-notebook
Keras Multi Label Image Classification
Keras- Multi Label Image Classification
Stars: ✭ 335 (-0.59%)
Mutual labels:  jupyter-notebook
Long Tailed Recognition.pytorch
[NeurIPS 2020] This project provides a strong single-stage baseline for Long-Tailed Classification, Detection, and Instance Segmentation (LVIS). It is also a PyTorch implementation of the NeurIPS 2020 paper 'Long-Tailed Classification by Keeping the Good and Removing the Bad Momentum Causal Effect'.
Stars: ✭ 334 (-0.89%)
Mutual labels:  jupyter-notebook
Amazon Sagemaker Workshop
Amazon SageMaker workshops: Introduction, TensorFlow in SageMaker, and more
Stars: ✭ 332 (-1.48%)
Mutual labels:  jupyter-notebook
Ner Bert
BERT-NER (nert-bert) with google bert https://github.com/google-research.
Stars: ✭ 339 (+0.59%)
Mutual labels:  jupyter-notebook
Beeva Best Practices
Best Practices and Style Guides in BEEVA
Stars: ✭ 335 (-0.59%)
Mutual labels:  jupyter-notebook
Credit Card Fraud Detection Using Autoencoders In Keras
iPython notebook and pre-trained model that shows how to build deep Autoencoder in Keras for Anomaly Detection in credit card transactions data
Stars: ✭ 337 (+0%)
Mutual labels:  jupyter-notebook
Transformer Explainability
[CVPR 2021] Official PyTorch implementation for Transformer Interpretability Beyond Attention Visualization, a novel method to visualize classifications by Transformer based networks.
Stars: ✭ 309 (-8.31%)
Mutual labels:  jupyter-notebook
Neural Ode
Jupyter notebook with Pytorch implementation of Neural Ordinary Differential Equations
Stars: ✭ 335 (-0.59%)
Mutual labels:  jupyter-notebook
Machine learning basics
Plain python implementations of basic machine learning algorithms
Stars: ✭ 3,557 (+955.49%)
Mutual labels:  jupyter-notebook
Supervisely
AI for everyone! 🎉 Neural networks, tools and a library we use in Supervisely
Stars: ✭ 332 (-1.48%)
Mutual labels:  jupyter-notebook
Mml Book
Code / solutions for Mathematics for Machine Learning (MML Book)
Stars: ✭ 333 (-1.19%)
Mutual labels:  jupyter-notebook
Gtc2017 Numba
Numba tutorial for GTC 2017 conference
Stars: ✭ 334 (-0.89%)
Mutual labels:  jupyter-notebook
Deepdraw
Notebook example of how to generate class visualizations with Caffe
Stars: ✭ 333 (-1.19%)
Mutual labels:  jupyter-notebook
Numpile
A tiny 1000 line LLVM-based numeric specializer for scientific Python code.
Stars: ✭ 341 (+1.19%)
Mutual labels:  jupyter-notebook
Blogscripts
Repository for code used in my blog posts
Stars: ✭ 338 (+0.3%)
Mutual labels:  jupyter-notebook
Unet
unet for image segmentation
Stars: ✭ 3,751 (+1013.06%)
Mutual labels:  jupyter-notebook

License_Plate_Detection_Pytorch

This is a two stage lightweight and robust license plate recognition in MTCNN and LPRNet using Pytorch. MTCNN is a very well-known real-time detection model primarily designed for human face recognition. It is modified for license plate detection. LPRNet, another real-time end-to-end DNN, is utilized for the subsquent recognition. This network is attributed by its superior performance with low computational cost without preliminary character segmentation. The Spatial Transformer Layer is embeded in this work to allow a better characteristics for recognition. The recognition accuracy is up to 99% on CCPD base dataset with ~ 80 ms/image on Nivida Quadro P4000. Here is the illustration of the proposed pipeline:

MTCNN

The modified MTCNN structure is presented as below. Only proposal net (Pnet) and output net (Onet) are used in this work since it is found that skipping Rnet will not hurt the accuracy in this case. The Onet accepts 24(height) x 94(width) BGR image which is consistent with input for LPRNet.

LPRNet Performance

LPRNet coding is heavily followed by sirius-ai's repo. One exception is that the spatial transformer layer is inserted to increase the accuracy reported on CCPD database as below:

Base(45k) DB FN Rotate Tilt Weather Challenge
accuracy % 99.1 96.3 97.3 95.1 96.4 97.1 83.2

Training on MTCNN

  • Download the CCPD data and put it into 'ccpd' folder
  • run 'MTCNN/data_set/preprocess.py' to split training data and validation data and put in "ccpd_train" and "ccpd_val" folders respectively.
  • run 'MTCNN/data_preprocessing/gen_Pnet_train_data.py', 'MTCNN/data_preprocessing/gen_Onet_train_data.py','MTCNN/data_preprocessing/assemble_Pnet_imglist.py', 'MTCNN/data_preprocessing/assemble_Onet_imglist.py' for training data preparation.
  • run 'MTCNN/train/Train_Pnet.py' and 'MTCNN/train/Train_Onet.py

Training on LPRNet

  • run 'LPRNet/data/preprocess.py' to prepare the dataset
  • run 'LPRNet/LPRNet_Train.py' for training

Test

  • run 'MTCNN/MTCNN.py' for license plate detection
  • run 'LPRNet/LPRNet_Test.py' for license plate recognition
  • run 'main.py' for both

Reference

Please give me a star if it is helpful for your research

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].