Русский
Русский
English
Статистика
Реклама

Пост 5601957

Как перерисовать/раздеть любого персонажа с помощью Stable Diffusion

нейронные сети,гайд,туториал,StableDiffusion,песочница
Сегодня я расскажу о способе дорисовывать любые рисунки с помощью инструментов Stable Diffusion. Но прежде чем я начну, убедитесь что у вас установлена свежая версия Stable Diffusion webui отAutomatic1111+ расширениеControlNet 1.1со всеми нужными моделями.
Вот видео-инструкции (смотреть по порядку):

Установили? Тогда начинаем.

Часть 1. ControlNet Inpaint

Ни для кого не секрет, что в SD существует фича под названием inpaint - это, по сути, способ сгенерировать что-то поверх существующего изображения. В интерфейсе от Automatic1111 под inpaint'ом обычно подразумевают один из режимов img2img. Это хоть и мощный инструмент, но, всё же, недостаточно точный и контролируемый. Тут на помощь приходит ControlNet Inpaint и исправляет главный недостаток "классического" inpaint'а - игнорирование контекста. Впрочем, достаточно теории переходим к практике.

Итак, возьмём изображение, которое мы хотим отредактировать.

И сразу же уменьшаем/увеличиваем его до нужного разрешения:
В моём случае с 1500x1500 до 640x640. По опыту скажу, что лучший результат получается при размере меньшей стороны от512 до 768пикселей, а большая сторона при этом желательно меньше 1024 пикселей.

нейронные сети,гайд,туториал,StableDiffusion,песочница
Теперь открываем вкладкуtxt2imgв web-gui, раскрываем ControlNet и переносим изображение на холст Unit 0, выбираем режим Inpaint и выставляем все нужные настройки (и включить не забудьте):
ControlNet Unit 0 ControlNet Unit 1 ControlNet Unit 2 ControlNet Unit3 Single Image Set the preprocessor to (invert] If your image has white background and black lines. D s * -* Q Enable Low VRAM Pixel Perfect CD Allow Preview Control Type All Canny Depth Normal OpenPose MLSD Lineart
Теперь замазываем места, которые хотим перерисовать:
нейронные сети,гайд,туториал,StableDiffusion,песочница
В промпт пишем то, что хотим в результате видеть. Ещё раз, пишем не то, что нужно нового добавить, а то, каким хотим видеть финальную картинку:

1girl, naked, completely nude, (best quality, masterpiece:1.2)

Негативный промпт как обычно:
EasyNegative, badhandv5, (worst quality, low quality, normal quality:1.4)

Модель подбираем поближе к стилю рисунка (реалистичный/стилизованный). В моё случае этоMeinaMix_v11-inpaint.

Параметры генерации:

Sampling method DPM++2M SDE Karras Restore faces Tiling Width Sampling steps Hires, fix 640 Batch count n 640 Batch size,нейронные сети,гайд,туториал,StableDiffusion,песочница

Всё, можно нажиматьGenerateдо тех пор пока не появится приемлемая картинка.

Столь хороший результат обеспечивается препроцессором inpaint_only+lama - он пытается дорисовать зону под маской с учётом "наружного контекста". Это же и обеспечивает генерацию правильного цвета.

Простой случай разобрали, переходим к чему-то посложнее:

Часть 2. Style transfer

Возьмём теперь другой рисунок попробуем повторить описанный выше процесс:

6 I I PATREON.COM/CUTESEXYROBUTTS PATREON.COM/CUTESEXYROBUTTS,нейронные сети,гайд,туториал,StableDiffusion,песочница

Мда, мало того, что поза поехала, так ещё и стиль оказался потерян. Одного ControlNet Inpaint тут недостаточно. Надо подключать дополнительные юниты.

Нам нужно решить 2 задачи:

Повторить существующий стиль рисункаСохранить силуэт

Для решения первой задачи будем использовать ControlNet reference и ControlNet T2IA - они оба позволяют копировать стиль с изображения-референса и как нельзя лучше работают в связке.

Возвращаемся к интерфейсу ControlNet'a. Копируем исходное изображение в Unit 1 и Unit 2. Настраиваем вот так:

0 Enable Low VRAM Pixel Perfect Allow Preview Control Type All Canny Depth Normal OpenPose MLSD Lineart SoftEdge Scribble Seg Shuffle Tile Inpaint IP2P О Reference T2IA Preprocessor reference_only И Control Weight i Starting Control о Ending Control 1 Style Fidelity (only for
0 Enable Low VRAM Pixel Perfect Allow Preview Control Type All Canny Depth Normal OpenPose MLSD Lineart SoftEdge Scribble Inpaint IP2P Reference Preprocessor t2ia_style_clipvision Control Weight i Starting Control Seg Shuffle Tile None controlnetT2IAdapter_t2iAdapterColor [c58d: /
(Все нужные модели скачать не забыли?)
А в качестве четвёртого ControlNet'a можно использовать любой, что позволяет сохранить форму: canny, depth, softedge, lineart - на ваше усмотрение и под конкретную задачу.
0 Image,нейронные сети,гайд,туториал,StableDiffusion,песочница
(Вот тут softedge)

Интересный факт: никто не запрещает отредактировать выход предпроцессора в фотошопе. Что-то убрать, что-то подрисовать. Вот где могут понадобиться навыки рисования.

Ладно, всё 4 юнита активны. Нажимаем Generate и:

PATREON.COM/CUTESEXYROBUTTS,нейронные сети,гайд,туториал,StableDiffusion,песочница

Это совсем не то, нужно!
Формы сохранены, но промпт будто проигнорирован. Что случилось? Я вам скажу что: сила ControlNet'а оказалась слишком велика. Stable Diffusion попытался во время генерации воссоздать рисунок-референс да ещё и плюс inpaint там подсунул белый цвет с фона!

Как с этим бороться? Нужно уменьшить эффект двух юнитов переноса стиля (reference и T2IA), но при этом нельзя сильно уменьшать их силу, иначе перенос стиля будет ослаблен. В общем, нужно воспользоваться настройкойStarting Control Step. Она отвечает за то, на какую долю шагов генерации придётся действие ControlNet'a.

Starting Control Step 0.5, например, означает, что первую половину шагов генерация будет опираться только на промпт, а со второй половины подключится уже наш ControlNet.

В общем, план такой: слегка понижаемControl Weight(сила) у стилевых юнитов (примерно до 0.9). После этого начинаем постепенно поднимать границу начала действия стилевых юнитов. Также имеет смысл подобным же образом немного ослабить действие Inpaint'a - позволяет в некоторых случаях исправить цвета.

После нескольких попыток (и усиление промпта) получаем вот такую задницу:

нейронные сети,гайд,туториал,StableDiffusion,песочница

Не идеально, но уже шаг в нужном направлении. На самом деле, сейчас можно (и нужно) уже именно это изображение сделать референсом. Другими словами, скопировать его во все 4 юнита и отталкиваться уже от него. И так сколько нужно раз. Пока не получится идеальный результат, либо ваша генерация окончательно не развалится.

Часть 3. img2img

Даже после получения хорошей генерации во вкладке txt2img имеет смысл несколько отшлифовать изображение уже через img2img inpaint. Главное не забудьте подключить 2 ControlNet'a для переноса стиля. Помните да, reference и T2IA.

Некоторые пункты в виде итога:

Ключ ко всему - это ControlNet(inpaint_only+lama)и ControlNet(reference_only, T2IA)
Генерацию лучше проводить поэтапно, чтобы было на что опереться в последующие шаги
Также имеет смысл разделять генерацию объектов нужной формы и затем покраску их в нужные цвета.
Подбирайте подходящие под задачу модели и/или лоры.
Не забудьте про параметры Control Weight, Starting Control Step, Ending Control Step. И про Control Mode в самом низу!

P.S. Хотел бы я чтобы кто-то обстоятельно протестировал этот метод и поделился бы потом результатами. Мне кажется, как-то можно добиться ещё большей близости к стилю оригинала, ведь задача состояла именно в этом.

Туториал закончен, теперь впечатления. Это охиренно мощная штука! Можно как угодно дорисовать любую картину, стиль вообще не важен, тем более что сейчас уже натренированы сотни моделей на все случаи жизни. Хоть скриншоты из мультфильмов/аниме, хоть картины маслом. Фильмы и фотографии вообще пройденный этап. Можно даже без использования inpaint'a просто сгенерировать сколько хочешь изображений с нуля, просто опираясь на единственный рисунок. А ведь ControlNet появился лишь в начале этого года. Короче, уже почти год прошёл, а всё это до сих пор кажется каким-то колдунством. Что грядущий день готовит...


Источник: joyreactor.cc
К списку статей
Опубликовано: 01.08.2023 22:56:29
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Нейронные сети

Гайд

Туториал

Stablediffusion

Песочница

Последние комментарии

  • Имя: Тимофей
    29.05.2026 | 13:50
    Оригинальное замещение весла! Плюс фигуристая дама выглядит весьма притягательно. Подробнее..
  • Имя: sa<sa>as"<sa
    23.04.2026 | 02:16
  • Имя: Vorgal
    17.12.2025 | 12:06
    Современная версия классической скульптуры "Девушка с веслом". «Девушка с глушителем». - это новый, концептуальный арт-объект в городе Москве. Он появился в начале 2000-х. Композиция предст Подробнее..
  • Имя: Vorgal
    17.12.2025 | 12:06
    Современная версия классической скульптуры "Девушка с веслом". «Девушка с глушителем». - это новый, концептуальный арт-объект в городе Москве. Он появился в начале 2000-х. Композиция предст Подробнее..
  • Имя: Rino
    23.11.2023 | 19:26
  • Имя: Домовой
    12.10.2023 | 12:32
  • Имя: Домовой
    12.10.2023 | 12:26
  • Имя: Стас
    03.07.2023 | 21:34
  • Имя: Васян
    02.08.2022 | 18:40
    Кончил))) Подробнее..
© 2006-2026, ebanoeit.ru