Easiest way to Restore Old Images using GFPGAN

Abhishek Sharma
Published in
4 min readFeb 23


Easiest way to Restore Old Images using GFPGAN

Hey guys, in this blog we will see how we can restore old images using GFPGAN(Generative Facial Prior-Generative Adversarial Network).

Read full article with demo here — https://machinelearningprojects.net/restore-old-images-using-gfpgan/

GFPGAN aims to develop a Practical Algorithm for Real-world Face Restoration. It leverages rich and diverse priors encapsulated in a pre-trained face GAN (e.g., StyleGAN2) for blind face restoration.

Restoring old images can be a daunting task, especially if the images have been damaged or degraded over time. However, with the recent advancements in technology, restoring old images has become easier than ever before. One such technology that has gained a lot of attention in recent times is GANs (Generative Adversarial Networks), and in particular, GFPGAN (Generative Feedback Progressive GAN).

GFPGAN (Generative Facial Prior-Generative Adversarial Network)

GFPGAN is a deep-learning model that has shown great promise in restoring old images. It is a type of GAN that uses feedback loops to refine the generated images, making them look more realistic and natural. The key to its success lies in its ability to generate high-resolution images that are very similar to the original images.

The process of restoring old images using GFPGAN involves several steps. The first step is to digitize the old image, which involves scanning or photographing the image. Once the image is digitized, it is fed into the GFPGAN model, which analyzes the image and generates a new image that is as close to the original as possible. The model does this by using a set of pre-trained neural networks that learn from a large dataset of images.

The second step is to refine the generated image using a feedback loop. This process involves comparing the generated image with the original image and adjusting the model parameters to minimize the difference between them. The feedback loop is repeated multiple times until the generated image is of high enough quality.

Finally, the generated image is post-processed to remove any artifacts or noise that may have been introduced during the restoration process. This is done using various techniques such as denoising, color correction, and sharpening.

Advantages of GFPGAN

One of the main advantages of using GFPGAN for restoring old images is its ability to generate high-resolution images that preserve the details of the original image. This is particularly important when restoring images that are several decades old, as they often suffer from degradation and loss of detail. GFPGAN can also be used to restore images that have been damaged due to water, fire, or other disasters.

Another advantage of using GFPGAN is its ability to restore images in a relatively short amount of time. Traditional methods of restoring images often involve manual labor and can take several hours or even days to complete. GFPGAN, on the other hand, can restore images in a matter of minutes or hours, depending on the complexity of the image.

Project GitHub Link

GitHub Link — https://github.com/TencentARC/GFPGAN

Steps to Restore Old Images using GFPGAN

1. Clone repo

git clone https://github.com/TencentARC/GFPGAN.git

2. Install dependent packages

# Install basicsr - https://github.com/xinntao/BasicSR
# We use BasicSR for both training and inference
pip install basicsr
# Install facexlib - https://github.com/xinntao/facexlib
# We use face detection and face restoration helper in the facexlib package
pip install facexlib
pip install -r requirements.txt
python setup.py develop
# If you want to enhance the background (non-face) regions with Real-ESRGAN,
# you also need to install the realesrgan package
pip install realesrgan

3. Download Pre-Trained Weights

wget https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth -P experiments/pretrained_models

4. Inference

python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2

Restore Old Images Examples

Example 1

Example 2

Example 3

And in this way, you can restore old images using GFPGAN…

In conclusion, GFPGAN is a powerful tool for restoring old images that have been damaged or degraded over time. Its ability to generate high-resolution images that are very similar to the original makes it an attractive option for anyone looking to restore old photos. With further advancements in deep learning and computer vision, we can expect to see even more advanced methods for restoring old images in the future.

So this is all for this blog folks. Thanks for reading it and I hope you are taking something with you after reading this and till the next time …

Read my last Blog: Create an API in Flask and deploy it online

Check out my other machine learning projects, deep learning projects, computer vision projects, NLP projects, and Flask projects at machinelearningprojects.net.

BECOME a WRITER at MLearning.ai