ESRGAN
ESRGAN (Enhanced Super-Resolution GAN, ECCV 2018) — прорывная GAN-модель апскейла. Ввела RRDB-блоки, relativistic-дискриминатор и perceptual loss до активации. Прямой предок Real-ESRGAN и стандарт GAN-апскейла.
ESRGAN (Enhanced Super-Resolution Generative Adversarial Network) — модель super-resolution, представленная в 2018 году (Wang et al., ECCV 2018 Workshops, PIRM-SR Challenge). Развитие модели SRGAN (2017), которое задало стандарт для GAN-апскейла на несколько лет и стало прямым предком Real-ESRGAN. Именно ESRGAN первым научился генерировать реалистичные текстуры, а не просто «резкие» пиксели.
Три ключевых нововведения ESRGAN
- RRDB (Residual-in-Residual Dense Block) вместо residual-блоков SRGAN. Убрана BatchNorm-нормализация, которая на задачах super-resolution создавала характерные артефакты. Более глубокая сеть без BN обучается стабильнее.
- Relativistic Discriminator (RaGAN): дискриминатор оценивает не «настоящее/фейк» абсолютно, а относительно — «насколько это изображение реальнее среднего фейка». Это даёт более резкие, детализированные текстуры.
- Perceptual loss до активации: признаки VGG берутся до ReLU-активации, что сохраняет больше информации о яркости и контурах и уменьшает искажения цвета.
Как работает ESRGAN
Как и любой GAN, ESRGAN состоит из двух сетей. Генератор (на базе RRDB, ~16M параметров) увеличивает LR-изображение, обычно в 4 раза. Дискриминатор учится отличать сгенерированные фото от настоящих HR, а генератор — его обманывать. Итоговый loss = pixel L1 + perceptual (VGG) + adversarial. Первые два держат структуру близкой к оригиналу, adversarial добавляет реалистичные высокочастотные детали.
Проблема ESRGAN: bicubic-обучение
ESRGAN обучался на парах, где LR получался из HR простым bicubic downsampling. Но реальные фото содержат JPEG-артефакты, шум, размытие. На таких «грязных» изображениях ESRGAN усиливал дефекты вместо их устранения. Именно эту проблему в 2021 решил Real-ESRGAN, введя модель деградации второго порядка (blur + noise + JPEG + повтор).
ESRGAN vs Real-ESRGAN
- ESRGAN (2018): отличное качество на «чистых» изображениях (бенчмарки, синтетика), слабо на реальных фото с шумом.
- Real-ESRGAN (2021): та же RRDB-архитектура, но обучение на реалистично деградированных данных → устойчивость к real-world фото. На практике всегда предпочтительнее для пользовательских снимков.
Наследие ESRGAN
RRDB-блоки и подход ESRGAN легли в основу десятков моделей: Real-ESRGAN, BSRGAN, а также специализированных апскейлеров для аниме. На фоне диффузионных апскейлеров (SeedVR2) ESRGAN уступает по фотореализму, но остаётся эталоном лёгких и быстрых GAN-моделей. В PhotoPanda для качественного увеличения используется современный движок — см. /upscale.
FAQ — ESRGAN
Чем ESRGAN лучше SRGAN?
RRDB-блоки без BatchNorm, relativistic-дискриминатор и perceptual loss до активации. В сумме — заметно более резкие и естественные текстуры при меньшем числе артефактов.
Почему ESRGAN плохо работает на моих фото?
Он обучался на bicubic-деградации и не рассчитан на шум и JPEG-артефакты реальных снимков. Для пользовательских фото используйте Real-ESRGAN или диффузионный апскейлер.
ESRGAN open-source?
Да, код и веса опубликованы авторами на GitHub под свободной лицензией, коммерческое использование разрешено.