PyTorch implementation of a Real-ESRGAN model trained on custom dataset. This model shows better results on faces compared to the original version. It is also easier to integrate this model into your projects.
This is not an official implementation. We partially use code from the original repository
Real-ESRGAN is an upgraded ESRGAN trained with pure synthetic data is capable of enhancing details while removing annoying artifacts for common real-world images.
You can try it in google colab
- Paper (Real-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data)
- Original implementation
- Huggingface 🤗
pip install git+https://github.com/sberbank-ai/Real-ESRGAN.git
Basic usage:
import torch
from PIL import Image
import numpy as np
from RealESRGAN import RealESRGAN
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
model = RealESRGAN(device, scale=4)
model.load_weights('weights/RealESRGAN_x4.pth', download=True)
path_to_image = 'inputs/lr_image.png'
image = Image.open(path_to_image).convert('RGB')
sr_image = model.predict(image)
sr_image.save('results/sr_image.png')
Low quality image:
Real-ESRGAN result:
Low quality image:
Real-ESRGAN result:
Low quality image:
Real-ESRGAN result: