Real-ESRGAN
Real-ESRGAN aims at developing Practical Algorithms for General Image/Video Restoration.
Real-ESRGAN is a Python deep learning tool that upscales and restores degraded images and videos, old photos, compressed frames, and anime art, producing sharper, higher-resolution outputs by training on realistic degradation patterns rather than clean downsampling.
Real-ESRGAN is a Python tool for upscaling and restoring low-quality images and videos using deep learning. Upscaling means taking a small or degraded image and producing a larger, sharper, more detailed version — a process formally called super-resolution. The "ESRGAN" part stands for Enhanced Super-Resolution Generative Adversarial Network, a type of neural network designed specifically for this task. The "Real" prefix indicates that this version is specifically trained to handle the kinds of degradations that appear in real-world photos and scans, not just simple artificial downsampling.
The problem Real-ESRGAN solves is that real-world images suffer from complex combinations of degradation: blurriness, JPEG compression artifacts, noise, and low resolution all at once. Earlier super-resolution tools were trained only on cleanly downsampled images and performed poorly on genuinely degraded inputs. Real-ESRGAN addresses this by training entirely on synthetic data that mimics realistic degradation patterns, producing a model that generalizes well to actual old photos, scanned documents, and compressed video frames.
Key features include a general-purpose model for photographs, a specialized model optimized for anime images and video (using a much smaller, faster neural network), optional face enhancement by integrating a companion face restoration model called GFPGAN, and adjustable denoising strength to prevent over-smoothing. It supports processing images with alpha channels (transparency), gray images, and 16-bit images.
You would use Real-ESRGAN when enhancing old or low-resolution photographs, restoring scanned artwork or documents, upscaling anime images for print, or improving video quality. It can be run via command line, Python API, or portable executables that require no Python installation.
The tech stack is Python using PyTorch for neural network inference. Portable GPU-accelerated executables (via NCNN-Vulkan) are also available for Windows, Linux, and macOS.
Where it fits
- Upscale and restore old or blurry family photos to 4× resolution with realistic detail and reduced compression artifacts.
- Enhance anime images or video frames using the specialized anime model for print or high-DPI display.
- Batch-process scanned documents or artwork to remove JPEG artifacts and increase resolution.
- Improve low-resolution video quality by processing frames through Real-ESRGAN before re-encoding.