Апскейл¶
Апскейл (upscale) - набор техник, предназначенный для того, чтобы увеличить исходное изображение.
Апскейлер (upscaler) - алгоритм или нейронная сеть, увеличивающая исходное изображение.
Общие сведения¶
Гайды по апскейлу¶
- Апскейл через sd_upscale в AUTOMATIC1111
- Про апскейл и инпаинт в AUTOMATIC1111 webui
- Руководство по апскейлу из гайда по вкату
- Апскейл с помощью ControlNet в AUTOMATIC1111
Для чего нужны апскейлеры¶
Апскейлеры являются важным инструментом в экосистеме картинко-генеративных нейросетей в связи с двумя обстоятельствами:
- Наиболее популярные диффузионные модели не умеют генерировать изображения сразу в высоком разрешении
- Диффузионные модели работают с фиксированным разрешением, которое подается на вход
Таким образом, если сначала каким-то образом увеличить разрешение исходной генерации и, затем, повторно подать её в диффузию в режиме работы с "готовым" изображением, то можно получить качественную картинку в большем разрешении.
Для помощи в решении этой задачи и нужны апскейлеры - они применяются в комбинации и диффузионными моделями для увеличения размера и уровня детализации изображений. Используемый апскейлер заметно влияет на итоговое качество изображения.
Процесс апскейла, как правило, состоит из двух этапов:
- Увеличение изображения апскейлером
- Повторный проход диффузионной моделью по увеличенному изображению для сглаживания и увеличения уровня детализации
Апскейлер не знает ничего о вашем промпте и не использует CLIP/UNet. Это независимая система, которая не использует ничего, кроме исходного изображения.
Использование апскейлера на примере Hires. fix¶
Наиболее простым практическим случаем применения апскейлера является увеличение изображения при помощи алгоритма Hires. fix, который сводится к следующему:
Виды апскейлеров¶
Алгоритмические апскейлеры¶
Плюсы | Минусы |
---|---|
✅ Быстрая скорость работы | ❌ Низкое качество |
✅ Не требуют дополнительных моделей |
Самый простой и быстрый вариант апскейла.
Хоть итоговый результат такого апскейла не такой впечатляющий, как у нейросетевых апскейлеров, всё же следуют помнить, что апскейл - это лишь промежуточный шаг перед повторной обработкой изображения диффузионной моделью, так что при достаточной силе денойза (denoise strength) вся пикселизация и мыло должны уйти.
Обычные апскейлеры¶
Представляют собою различные алгоритмы интерполяции RGB-изображений.
Результат работы будет близок к тому, что вы получите просто увеличивая изображение в Photoshop/Krita/Paint.
-
Nearest - интерполяция на основе соседних пикселей. Отличается высоким уровнем пикселизации.
-
Lanczos - интерполяция на основе соседних пикселей и от тех, что чуть дальше. Создаёт плавные переходы.
Пикселизация или сглаживание
Довольно часто "острые" (пиксельные) края могут идти в плюс, поскольку для диффузии они будут являться центрами доделывания деталей, как очаги кристаллизации в растворе.
Латентные апскейлеры¶
Аналогично, представляют собою различные алгоритмы интерполяции. В то время как обычные и нейросетевые апскейлеры работают с RGB-изображениями, латентные апскейлеры работают с латентным пространством, что позволяет использовать апскейлер без дополнительных конвертаций с применением VAE.
Поскольку латентное пространство представляет собой данные иного вида в сравнении с RGB-изображениями, то и набор доступных алгоритмов интерполяции так же отличается.
Как правило, во время работы латентных апскейлеров необходимо выставлять силу денойза (denoise strength) выше обычных алгоритмических или нейросетевых апскейлеров - в противном случае будет бросаться в глаза сильная размытость изображения после апскейла.
Нейросетевые апскейлеры (GAN/DAT)¶
Плюсы | Минусы |
---|---|
✅ Высокое качество | ❌ Нужно устанавливать дополнительные модели |
❌ Ниже скорость работы, особенно при использовании DAT |
GAN/DAT-апскейлеры - это нейросетевые модели, которые обучали увеличивать изображения низкого разрешения. Качество обычно выше, чем у алгоритмических апскейлеров.
Функциональной разницы между GAN и DAT нет - это просто две различные архитектуры нейросетей для решения одной и той же задачи. Архитектура DAT более новая и основанные на ней решения, как правило, более ресурсоёмкие, но более качественные.
Существует множество других архитектур для апскейлеров, однако, они пока не получили широкого распространения.
Скорость работы апскейлера зависит от архитектуры и размера модели, которые варьируются от менее чем 1Мб до нескольких сотен мегабайт.
Популярные апскейлеры¶
- 4x AnimeSharp
- 4x UltraSharp
- 4x Remacri
- R-ESRGAN 4x+
- R-ESRGAN 4x+ Anime6B
- SwinIR 4x
- 4x Nomos8kDAT (медленный, но даёт впечатляющие результаты)
Апскейлеры необходимо поместить в соответствующую им директорию в зависимости от архитектуры:
/models/ESRGAN
/models/DAT
Как правило, информация об архитектуре можно найти на странице деталей апскейлера.
Больше апскейлеров можно найти на https://openmodeldb.info