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.
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
- Official github
-
Clone repo
git clone https://github.com/sberbank-ai/Real-ESRGAN cd Real-ESRGAN
-
Install requirements
pip install -r requirements.txt
-
Download pretrained weights and put them into
weights/
folder
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')
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: