Суперрезолюция на GPU: Real‑ESRGAN и альтернативы
Задача страницы. Дать практический план апскейла изображений и видео на облачных GPU: выбор моделей (Real‑ESRGAN, ESRGAN‑семейство, SwinIR‑подходы и др.), параметры (scale/denoise/tile), требования VRAM и диска, шаблоны графов для ComfyUI и API, контроль качества/артефактов, наблюдаемость и стоимость.
TL;DR
- Быстрый апскейл 2–4× с минимальными артефактами — стартуйте с Real‑ESRGAN (fp16, тайлинг 256–512, overlap 32–64).
- Каталоги/портреты: Real‑ESRGAN (+ Face‑Restore при необходимости) → финальный лёгкий денойз/шарп.
- Видео: апскейл по кадрам с тайлингом и затем транскод (NVENC/AV1); для стабильности — мягкая темпоральная фильтрация.
- Экономьте: делайте базовую генерацию на 768–1024², затем апскейл до 2–4k; держите веса и кэш на локальном NVMe.
- Смежные разделы: генерация изображений/видео — https://cloudcompute.ru/solutions/image-video-gen/, реставрация лиц — https://cloudcompute.ru/solutions/image-video-gen/face-restoration/, видео‑поток — https://cloudcompute.ru/solutions/image-video-gen/video/, транскод — https://cloudcompute.ru/solutions/rendering/video-transcode/, тюнинг/стоимость/наблюдаемость — https://cloudcompute.ru/solutions/performance-tuning/, https://cloudcompute.ru/solutions/cost-planner/, https://cloudcompute.ru/solutions/monitoring-logging/, https://cloudcompute.ru/solutions/llm-inference/observability/.
Когда апскейл выигрывает больше, чем «рендер в исходном 2–4k»
- Массовые партии (каталоги, спрайты, датасеты): быстрее создать 768–1024² и поднять до 2–4k.
- Ограниченная VRAM: тайлинг апскейлера требует заметно меньше памяти, чем прямая генерация 2–4k.
- Контроль артефактов: проще лечить «швы/джиттер» на пост‑этапе, чем настраивать гигантский первичный рендер.
- Видео: пайплайн «576–720p → апскейл → транскод» часто даёт лучшую цену/минуту.
Выбор моделей: чем отличаются
| **Класс** | **Назначение** | **Сильные стороны** | **Риски/ограничения** |
| **Real‑ESRGAN** | Универсальный 2–4× | Стабильный, быстрый, хорошо «чинит» шум/мыло | Может «синтезировать» лишние текстуры на мелком тексте/логотипах |
| **ESRGAN‑варианты (UltraSharp/Photo‑направл.)** | Детали/резкость | Выше микродетали, «песочек» на фактурах | Риск перешарпа и ореолов |
| **SwinIR‑подходы** | Фото/сканы | Сохранение естественного зерна | Чуть выше время на кадр |
| **Специализированные (аниме/line‑art)** | Линии/контуры | Отлично на чётких гранях | На фото — «комикс‑эффект» |
Для лиц и мелкого текста комбинируйте с восстановлением: https://cloudcompute.ru/solutions/image-video-gen/face-restoration/
Параметры: что крутить в первую очередь - Scale: 2× (универсально), 4× (финал/кропы).
- Denoise/Noise: 0.0–0.3 — чуть «подсушить» мыло, 0.3–0.5 — сильнее чистка (рискует «съесть» фактуру).
- Tile / Tile size: 256–512; больше — быстрее, но выше риск OOM; меньше — безопаснее, но медленнее.
- Tile overlap: 32–64 px — уменьшает швы; повышайте при «лесенках».
- Pre‑sharpen / Post‑sharpen: лёгкий шейпинг после апскейла; избегайте двойного перешарпа.
- JPEG deblock: мягкий де‑блокинг для сжатых входов.
VRAM и диск: ориентиры
Оценки для fp16, тайлинг включён.
| **Задача** | **Исходный размер** | **Scale** | **VRAM (на GPU)** | **Комментарий** |
| Фото/арт 768→1536 | 768² | ×2 | 8–12 ГБ | tile 256–512, overlap 32–64 |
| Фото/арт 1024→2048 | 1024² | ×2 | 8–16 ГБ | быстрый и дешёвый профиль |
| Каталожный 1024→4096 | 1024² | ×4 | 12–24 ГБ | лучше батчировать по 1–2 |
| Видео 576p→1080p | ~0.6 Мп/кадр | ×2 | 8–16 ГБ | по кадрам, затем транскод |
| Видео 720p→4k | ~0.9 Мп/кадр | ×3–4 | 16–24 ГБ | требует агрессивного тайлинга |
Хранилище: веса/ваги апскейлеров + промежуточные PNG/WEBP → планируйте 50–200 ГБ на NVMe (кэш) и объектное хранилище для выходов. Подробнее: https://cloudcompute.ru/solutions/storage-data/
«Качество ↔ скорость»: рычаги
- Снижайте разрешение генерации, апскейльте 2×, затем при необходимости ещё 2×.
- Для видео используйте апскейл на кадрах + лёгкий temporal blur (1–2 кадра) для сглаживания миганий.
- Не поднимайте scale до 6–8× одним проходом — лучше два прохода по 2×–4× (между ними — лёгкий денойз).
- На текстах/логотипах уменьшайте denoise и изолируйте область (маски/region‑upscale), чтобы не «дорисовывать» лишнее. ComfyUI: минимальный граф апскейла (Real‑ESRGAN)
{
"1":{"class_type":"LoadImage","inputs":{"image":"input.png"}},
"2":{"class_type":"RealESRGANLoader","inputs":{"model":"realesr-general-x4v3"}},
"3":{"class_type":"RealESRGANUpscale","inputs":{
"image":["1","IMAGE"],"scale":4,"tile":512,"tile_overlap":64,"denoise":0.25,"model":["2","MODEL"]
}},
"4":{"class_type":"SaveImage","inputs":{"images":["3","IMAGE"]}}
}
Расширения графа:
- Face‑Restore ветка перед сохранением: https://cloudcompute.ru/solutions/image-video-gen/face-restoration/
- Пакет (каталоги): ImageBatchLoader → цикл Upscale → SaveImage (см. batch‑паттерны: https://cloudcompute.ru/solutions/image-video-gen/batch-render/)
- Связка с генерацией: «768–1024² из SDXL/SD3 → Upscale 2–4×», см. https://cloudcompute.ru/solutions/image-video-gen/sdxl/ и https://cloudcompute.ru/solutions/image-video-gen/sd3/
Automatic1111: API‑вызов апскейла (пример)
curl -X POST "http://<host>:7860/sdapi/v1/extra-single-image"
-H "Content-Type: application/json"
-d '{
"image": "data:image/png;base64,<BASE64>",
"upscaling_resize": 2.0,
"upscaler_1": "RealESRGAN_x4plus",
"extras_upscaler_2": "None",
"show_extras_results": true
}'
Для серий используйте extra-batch-images и аккуратно подберите tile/overlap в настройках. Страница по WebUI и флагам: https://cloudcompute.ru/solutions/image-video-gen/automatic1111/
Апскейл видео: разложение на кадры → апскейл → транскод
Разложить в кадры:
ffmpeg -y -i input.mp4 -vf fps=24 frames_in/%06d.png
Апскейл (псевдокод Python; подключите ваш апскейлер/API):
import glob, os
from pathlib import Path
def upscale(img_path, out_path, scale=2):
# вызов вашего апскейлера: Real-ESRGAN/ComfyUI/WebUI API
pass
Path("frames_out").mkdir(exist_ok=True)
for fp in sorted(glob.glob("frames_in/*.png")):
out = "frames_out/" + os.path.basename(fp)
upscale(fp, out, scale=2)
Сборка NVENC H.264 (быстро для предпросмотра):
ffmpeg -y -framerate 24 -i frames_out/%06d.png
-c:v h264_nvenc -preset p5 -b:v 8M -pix_fmt yuv420p out_1080p.mp4
AV1 (качество/архив):
ffmpeg -y -framerate 24 -i frames_out/%06d.png
-c:v av1_nvenc -rc vbr -b:v 6M -pix_fmt yuv420p out_1080p_av1.mp4
Подробно о транскоде: https://cloudcompute.ru/solutions/rendering/video-transcode/
Формулы времени и стоимости
Обозначим: P_in = W×H — исходные пиксели, s — scale (2/3/4), тогда выходных пикселей P_out ≈ s² × P_in. Пусть Q_mpx — реальная производительность апскейлера (мегапикс./сек) на выбранной GPU, O — накладные (I/O/декод).
Время одной картинки
T ≈ O + (s² × P_in) / Q_mpx
Цена за 1000 изображений
Imgs_per_hour ≈ 3600 / T
Cost_per_1000 ≈ (GPU_hour_price × Num_GPU) / (Imgs_per_hour / 1000)
Ускоряем/удешевляем:
- Повышаем Q_mpx: fp16/bf16, правильный tile/overlap, локальный NVMe‑кэш, параллелим по файлам.
- Снижаем O: группируем батчи по одинаковым размерам, избегаем лишних перекодирований.
Подбор режимов — https://cloudcompute.ru/solutions/cost-planner/ и https://cloudcompute.ru/solutions/performance-tuning/
Типовые артефакты и как их лечить
| **Симптом** | **Причина** | **Исправление** |
| «Швы» между тайлами | overlap слишком мал | overlap 32–64, пост‑сглаживание стыков |
| Ореолы/перешарп | агрессивная модель/двойной шарп | снизить «резкие» апскейлеры, мягкий post‑sharpen |
| «Нарисованный» текст/логотипы | апскейлер синтезирует детали | маска текста → мягкий апскейл без denoise |
| Восковые лица | сильный denoise | уменьшить denoise, включить Face‑Restore (https://cloudcompute.ru/solutions/image-video-gen/face-restoration/) |
| «Мерцание» в видео | кадры не согласованы | темпоральный blur, одинаковые настройки, seed‑согласование |
| OOM на 4× | тайл слишком крупный | сократить tile, снизить batch, проверить VRAM |
Наблюдаемость, алерты и логи
Собирайте (см. https://cloudcompute.ru/solutions/monitoring-logging/ и https://cloudcompute.ru/solutions/llm-inference/observability/):
- Производительность: mpx_per_sec, imgs_per_min, p50/p95 t_image_ms, для видео — frames_per_min.
- Эксплуатация: GPU util/HBM, пик VRAM, частота OOM/ретраев, кэш‑хиты NVMe.
- Качество: доля кадров со «швами», ореолами, «восковыми» лицами (автодетект по маскам).
Алерты: рост p95, падение кэш‑хитов, всплеск OOM, увеличение доли дефектов.
Операция и безопасность
- Пулы: интерактив on‑demand (единичные запросы), пакетный interruptible (массовые партии): https://cloudcompute.ru/solutions/interruptible-patterns/
- Лимиты параметров: max_scale, max_resolution, max_batch, ограничители денойза/шарпа.
- Политики/логика: санация путей/имён файлов, маскирование PII в логах.
Подробнее: https://cloudcompute.ru/solutions/security/ и https://cloudcompute.ru/solutions/llm-inference/guardrails/
Как это запустить в cloudcompute.ru
Шаблоны в https://cloudcompute.ru/solutions/templates/:
- “ComfyUI‑GPU” — готовые графы Upscale 2×/4×, тайлинг, Face‑Restore ветка, SSE‑прогресс.
- “A1111‑GPU” — быстрый старт WebUI с включёнными апскейлерами и API.
- “Batch‑Render (Images/Video)” — очереди, ретраи, отчёты по времени/цене: https://cloudcompute.ru/solutions/image-video-gen/batch-render/
- Транскод — https://cloudcompute.ru/solutions/rendering/video-transcode/
- Экономика/SLA — https://cloudcompute.ru/solutions/cost-planner/
Чек‑лист перед продом
- Определён таргет: 2× или 4×; отдельные политики для текста/лиц/логотипов.
- Настроены tile/overlap и denoise под ваш контент; протестированы профили VRAM.
- Подтверждён выигрыш «генерация 768–1024² → апскейл» vs «сразу 2–4k».
- Для видео: разложение кадров, апскейл, темпоральное сглаживание, транскод.
- Очереди short/long и пулы on‑demand/interruptible; отчёты по Cost_per_1000/Cost_per_minute.
- Метрики/алерты/логи подключены; дефект‑чек (швы/ореолы/воск).
Навигация по разделу «Генерация изображений и видео»https://cloudcompute.ru/solutions/image-video-gen/ • https://cloudcompute.ru/solutions/image-video-gen/comfyui/ • https://cloudcompute.ru/solutions/image-video-gen/automatic1111/ • https://cloudcompute.ru/solutions/image-video-gen/sdxl/ • https://cloudcompute.ru/solutions/image-video-gen/sd3/ • https://cloudcompute.ru/solutions/image-video-gen/controlnet/ • Вы здесь: https://cloudcompute.ru/solutions/image-video-gen/upscaling/ • https://cloudcompute.ru/solutions/image-video-gen/face-restoration/ • https://cloudcompute.ru/solutions/image-video-gen/batch-render/ • инфраструктура: https://cloudcompute.ru/solutions/performance-tuning/ • https://cloudcompute.ru/solutions/storage-data/ • https://cloudcompute.ru/solutions/monitoring-logging/ • https://cloudcompute.ru/solutions/llm-inference/observability/ • https://cloudcompute.ru/solutions/cost-planner/ • https://cloudcompute.ru/solutions/interruptible-patterns/ • https://cloudcompute.ru/solutions/rendering/video-transcode/
Готовы запустить?
Запустить GPU-сервер