Using neural networks to build an automatic number plate recognition system. See this blog post for an explanation. This repo is based on Deep ANPR repo.
Usage is as follows:
-
./extractbgs.py SUN397.tar.gz: Extract ~3GB of background images from the SUN database intobgs/. (bgs/must not already exist.) The tar file (36GB) can be downloaded here. This step may take a while as it will extract 108,634 images. -
./gen.py 1000: Generate 1000 test set images intest/. (test/must not already exist.) This step requirespalab.ttf, which is bold Palatino Linotype, to be in thefonts/directory. You can include other font weights/types infonts/directory to improve generalizability. But we will use only bold Palatino Linotype for the class project. -
./train.py: Train the model. A GPU is recommended for this step. It will take around a few hours to converge, depending on your network structure, fonts, etc. When you're satisfied that the network has learned enough pressCtrl+Cand the process will write the weights toweights.npzand return. -
./detect.py in.jpg weights.npz out.jpg: Detect number plates in an image.
The project has the following dependencies:
- TensorFlow
- OpenCV
- NumPy