v.0.93 от 14.07.23

Для кого:

Гайд предназначен для тех, кто уже знаком с обычным апскейлом в AUTOMATIC1111 webui и ориентируется во вкладках и инструментах. Краткое описание обычного апскейла - https://rentry.org/SD_upscale

Апскейл с помощью ControlNet в AUTOMATIC1111 webui

Необходимые требования:

Видеокарта
К сожалению, не менее 8Гб. Этого будет достаточно для работы с ADetailer. Для работы с Tiled Diffusion потребуется не меньше 12Гб (с ключом --medvram и включенным Tiled Vae, которые минимизируют потребление видеопамяти).
Расширения
Tiled Diffusion - https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111
ADetailer - https://github.com/Bing-su/adetailer
модели для ADetailer - https://huggingface.co/Bingsu/adetailer/tree/main, кидать в \models\adetailer
ControlNet - https://github.com/Mikubill/sd-webui-controlnet
модели для ControlNet - https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main, кидать в \extensions\sd-webui-controlnet\models
Depth Maps - https://github.com/thygate/stable-diffusion-webui-depthmap-script

Внимание!

Апскейл занимает длительное время и серьёзно нагружает видеокарту. Имеет смысл контролировать температуру + возможно с помощью утилиты MSI Afterburner снизить PowerLimit карты до 80%. На производительность это повлияет ~5%, зато видеокарта будет холодная.

tl;dr как из
tl;dr как из

получить:
получить:

Disclaimer

Вариант не претендует на абсолютную истину, это просто workflow автора. Если у вас он другой - замечательно.

  1. Генерим лоу-рес. Начальный размер 640х480 – 768х576 (768х480), Hires. Fix х 1.6-2, Latent, Denoise 0.65-0.7, портретная/ландшафтная ориентация;
  2. Доп. детализация. Не относится напрямую к апскейлу, но позволяет улучшить итоговый результат. Возможно сильное изменение удачного выражения лица и/или одежды. Как в лучшую, так и в худшую стороны. Не обязательный шаг.
    Затягиваем выбранный лоурес в t2i. НЕ МЕНЯЕМ СИД И ПРОМТ И ДРУГИЕ НАСТРОЙКИ иначе результат будет другой, только включаем ADetailer.

    1шт - модель лица, контролнетовская модель inpaint_harmonious:

    2шт - модель DeepFashion, контролнетовская Inpaint_harmonious или inpaint_llama:

    Промты в ADetailer можно не писать, тогда возьмётся оригинальный в каждую вкладку. Но лучше взять оригинальный промт и, подредактировав его, вставить в промт ADetailer'а. Т.к., например, если в основном промте full body, то во вкладке лица это будет мешать. Негатив можно оставить общий;

  3. Первый апскейл в t2i. Отличается от апскейла через SD_upscale тем, что при очень высоком значении denoise позволяет сохранить композицию и даже выражения лиц. Есть, конечно, и минусы вроде излишней уже иногда «мусорной» детализации. Но они будут нивелированы на следующих этапах.

    Итак, затягиваем в t2i результат понравившегося п.2. Можно немного менять промт, если требуется что-то скорректировать вроде выражения лица. Denoise от 0.75 до 1(!) – тайловый контрол переварит и такое. Размеры результата меняем коэффициентом Hires. Fix.

    Включаем 2 ControlNet. 1шт – любой Reference с силой 0.7-0.8 и End step 0.6.-0.7. По степени повышения силы Reference, Ref_adain, Ref_adain_attn. Обычно хватает первого, чтобы не потерять полученный в пп. 1-2 стиль и цвета. Если нет – то можно взять следующий.

    2шт – любой Tile. Также по возрастанию силы: tile, colorfix, sharp_colorfix. Вес 0.5-0.6, End step – 0.4-0.5. Тоже хватает первого. Можно покрутить Down Sampling до 2 давая больше свободы сети;

    Внимание!

    Апскейл Модель для тайлового контрола должна быть именно control_v11f1e_sd15_tile. Если у вас ControlNet стоял давно, то вначале в нём была модель control_v11u_sd15_tile. Она гораздо хуже и поэтому потом была заменена на версию v11f1e.

  4. Затягиваем результат в i2i. Вот здесь второе основное отличие от классического способа апскейла. Используется алгоритм инверсии шум Tiled Diffusion, который «выглаживает» картинку, избавляя её от неприятных шероховатостей, которые «царапают» глаза, крича о «нейронности» картинки, но при этом сохраняет детали. Имеет много крутилок, которыми можно настроить на необходимую степень сглаживания. Ниже приводятся настройки на максимальное «сплющивание» картинки в 2D-анимешность.

    Промт менять смысла уже почти не имеет. Denoise 0.75, Steps 50. Включаем Tiled Diffusion: Mixture Diffusers, Enable Noise Inversion, апскейлер порезче (напр. Anime6B), Inversion Steps 50, Renoise 0.

    Включаем ControlNet, семейство Tile, сила и End Step по 0.8-0.9;

  5. Дополнительно можно сделать обычный SD_upscale с небольшим Denoise около 0.4, а затем наложить в редакторе с прозрачностью 50-60% поверх полученной супер-резкой картинки из п.4, удалив мягкой кистью там, где будут проглядывать ненужные тени (напр.на лице персонажа). Это даст с одной стороны чёткую анимешную картинку, с другой – глубину и детализацию;
  6. Маска глубин в Depth. Затягиваем туда результат п.5, выбираем модель dpt_beit_large_512, ОТКЛЮЧАЕМ BOOST. Полученную ч/б карту глубин используем как альфа-канал для фильтра Lens Blur с произвольно выбираемой по вкусу силой.

    Результат:

  7. Вы великолепны!

Замечания:

  1. Не отражены очевидные вещи вроде возможной доработке в редакторе между шагами.
  2. При использовании ControlNet в t2i в окно каждой включенной модели надо закидывать изображение, на которое модель будет опираться (на приведённых выше скриншотах эти окна пустые, поэтому не забудьте закинуть изображения туда). Для вкладки i2i это не требуется.
  3. ControlNet весьма глючен. Часто при повторном запуске на выходе размазня или наоборот пережарка. Помогает перезапуск бэкэнда, gradio при этом можно не закрывать и его не потребуется перенастраивать.

Заключение

Ещё один пример было/стало при описанном способе апскейла.
Было:
Было
Стало:
Стало:

Версии

14.07.23 v0.93
Исправлены перепутанные пути для моделей.
12.07.23 v0.92
Уточнение, что шаг с ADetailer не обязательны и к апскейлу напрямую не относится.
08.07.23 v0.91
Добавлены ссылки на модели. Описаны требования к видеокартам, переформулирован абзац про температуру видеокарты.
08.07.23 v0.9
Первая версия.

Edit
Pub: 08 Jul 2023 07:45 UTC
Edit: 16 Jul 2023 12:26 UTC
Views: 2703