zzxvictor/License-super-resolution
zzxvictor/License-super-resolution has 416 GitHub stars and 94 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 12:48 UTC. Last push 2020-06-05.
A License Plate Image Reconstruction Project in Tensorflow2
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalLicense Plate Enhancement - From TV shows to reality
Author: Zixuan Zhang, Chengxuan Cai
Welcom to LicenseEnhancer
In Hollywood crimes movies we often see detectives solving crimes with the help from one of their computer geeks who can reveal hidden information from blurred, low-quality images. This project is an effort to achieve the same task, but on one specific type of image - license plates. License plate enhancement is a detailed application of a broader field called Single Image Super Resolution (SISR).
The project is inspired by several state-of-the-art SRSR models such as:
- Photo-realistic single image super resolution using a Generative Adversarial Network
- Residual Dense Network for Image Super Resolution
- ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks
- Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network
The dataset used in this project is called the Chinese City Parking Dataset, a large-scale collection of plate images in various conditions.
Read my post on Medium for further understanding
Gallery

Requirement
Preprocessing
- Dask >= 2.11.0
- PIL >= 6.2.2
Training & Evaluation
- tensorflow >= 2.1.0
- numpy >= 1.18.1
- matplotlib >= 3.1.3
Pipeline
Before training the model it is important to preprocess the raw dataset using the preprocess.py script
Model Architecture
Our plate enhancer model is trained in an adversarial fashion(GAN), meaning the generator is trained to create realistic
reconstruction of images that can fool the discriminator, which is a binary classifier. Why GANs? Well, according to several
papers, GAN network tend to create more realistic image reconstruction comparing to model solely trained in the supervised
fashion. For instance, models that minimize Mean Square Error tend to have over-smoothing artifacts.
Therefore, there are two models - the generator(reconstructor) and the discriminator(classifier).
Generator
The generator is trained to minimize a novel hybrid loss function, namely the perceptual loss defined in the SRGAN paper
Discriminator

Acknowledgement
I'd like to thank Olaoluwa Adigun for his amazing suggestions during the span of this project!
This project won the Best Deep Learning Design Award in USC EE599-Deep Learning. Here's the link
to our amazing rojects done by my classmates!
Also, this project stands on the shoulder of many other SISR projects:
Explore related projects
tensorflow/tensorflow
An Open Source Machine Learning Framework for Everyone
201,427 starshuggingface/transformers
🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.
168,711 starsAUTOMATIC1111/stable-diffusion-webui
Stable Diffusion web UI
165,274 starsComfy-Org/ComfyUI
The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface. The fastest local inference engine in the world.
146,024 stars