Real-ESRGAN: Image and video restoration tool
PyTorch framework for blind super-resolution using GANs.
Learn more about Real-ESRGAN
Real-ESRGAN is a PyTorch-based image restoration framework designed to handle multiple degradation types in a unified approach. The implementation uses neural network models trained exclusively on synthetic data to generalize across real-world image quality issues. It provides multiple model variants optimized for different use cases, including general image restoration and specialized anime content processing. The framework supports inference through multiple backends including PyTorch, NCNN with Vulkan acceleration, and cloud deployment options.
Synthetic Training Data
Models train exclusively on synthetically degraded images without requiring paired real-world datasets. Eliminates costly data collection while generalizing effectively to real image restoration scenarios.
Unified Degradation Handling
Single model addresses super-resolution, denoising, and JPEG artifact removal simultaneously. Replaces multiple specialized networks with one inference pass for combined restoration tasks.
Multi-Backend Deployment
Supports multiple inference backends including PyTorch, NCNN, and Vulkan for broad hardware compatibility. Run on NVIDIA GPUs with CUDA, AMD GPUs with Vulkan, or CPU-only environments, enabling deployment across diverse infrastructure setups.
from basicsr.archs.rrdbnet_arch import RRDBNet
from realesrgan import RealESRGANer
import cv2
model = RRDBNet(num_in_ch=3, num_out_ch=3, num_feat=64, num_block=23, num_grow_ch=32)
upsampler = RealESRGANer(scale=4, model_path='RealESRGAN_x4plus.pth', model=model)
img = cv2.imread('input.jpg', cv2.IMREAD_COLOR)
output, _ = upsampler.enhance(img, outscale=4)
cv2.imwrite('output.jpg', output)Top in AI & ML
Related Repositories
Discover similar tools and frameworks used by developers
LivePortrait
PyTorch implementation for animating portraits by transferring expressions from driving videos.
Prompt Engineering Guide
Guides, papers, and resources for prompt engineering, RAG, and AI agents.
ONNX Runtime
Cross-platform engine for optimized ONNX model execution.
YOLOX
PyTorch anchor-free object detector with scalable model variants.
OpenHands
LLM agent framework automating development in sandboxed containers.