Как отредактировать любой рисунок с помощью нейросети Stable Diffusion. Подробный гайд
Будем считать, что вы уже установили и настроили Automatic1111's Stable Diffusion web-gui, а также скачали расширение для ControlNet'a и модели для него. Нам нужно будет лишь controlNet Inpaint и controlNet Lineart.
В интернете уже есть гайд по установке. И не один. Да хоть на том же YouTube.
Будем учиться редактировать на примере вот этой картинки
Первым делом открываем фотошоп. Да, прежде чем загружать изображение в SD, его нужно подготовить. Проблема тут такая: SD 1.5 модели не могут нормально работать с изображениями больше 800 пикселей. Поэтому, выделяем в фотошопе вот такую область размером 600x900:
Выделение есть, теперь Ctrl+C и вставляем скопированный кусок во вкладку txt2img в окошко ControlNet'а (в первые три, то есть вставляем три раза):
Теперь настраиваем сами юниты контролнета:
Unit 0:
Unit 1:
Unit 2:
После этого нажимайте на кнопку предпросмотра:
И скачивайте получившийся "негатив"
Смело открываем его в фотошопе (в новой вкладке, старую пока не трогаем) и начинаем редактировать. Надо лишь убрать всё лишнее и обозначить контур того, что хотим получить. Вот как-то так:
Контролирующий лайн готов. Теперь очищаем ControlNet Lineart и вставляем наш "линейный рисунок". Так как на вход теперь на вход контролнету сам лайн, то нам не нужен препроцессор - ставим его на none.
Осталось только нарисовать маску inpaint'а. Переходим в ControlNet Inpaint (Unit 1) и прямо тут в веб-интерфейсе закрашиваем те части, которые хотим перерисовать:
Осталось лишь написать промпт (и негативный промпт), выбрать параметры генерации (размер 600x900 не забывайте) и нажимать Generate до тех пор, пока не увидите приемлемый результат.
Например:
Это изображение неплохо бы отправить в img2img inpaint, чтобы поправить мелкие недоработки, но сейчас просто копируем его в буфер, возвращаемся в фотошоп и вставляем в нужное место (выделение пригодилось).
Исправляется тем же образом:
По тому же принципу делаем остальных
А вот параметры генерации.
(best quality, masterpiece:1.2), 1girl, short hair, (white bikini:1.1), standing, cowboy shot, white background, contrapposto,
Negative prompt: (worst quality, low quality, normal quality:1.3)
Steps: 28, Sampler: DPM++ 2M SDE Karras, CFG scale: 6, Seed: 2598121264, Size: 600x900, Model hash: 3867bda67e, Model: kizukiAlternative_v10, VAE hash: 2125bad8d3, VAE: kl-f8-anime2.ckpt, Clip skip: 2,
ControlNet 0: "Module: reference_only, Model: None, Weight: 0.95, Resize Mode: Crop and Resize, Low Vram: False, Threshold A: 0.5, Guidance Start: 0.22, Guidance End: 1, Pixel Perfect: False, Control Mode: ControlNet is more important, Hr Option: Both, Save Detected Map: True",
ControlNet 1: "Module: inpaint_only+lama, Model: controlnet11Models_inpaint [be8bc0ed], Weight: 1, Resize Mode: Crop and Resize, Low Vram: False, Guidance Start: 0, Guidance End: 1, Pixel Perfect: False, Control Mode: My prompt is more important, Hr Option: Both, Save Detected Map: True",
ControlNet 2: "Module: none, Model: controlnet11Models_lineart [5c23b17d], Weight: 0.8, Resize Mode: Crop and Resize, Low Vram: False, Guidance Start: 0, Guidance End: 0.8, Pixel Perfect: False, Control Mode: Balanced, Hr Option: Both, Save Detected Map: True", Version: v1.7.0
Модель для генерации логично выбирать близкую по стилю. Для не слишком реалистичных рисунков Kizuki Alternative почти идеальна.
Несколько советов:
- Уменьшайте исходное изображение заранее, облегчайте нейросети работу.
- Можно обойтись из без Lineart'а, и тогда сетка додумает форму самостоятельно.
- Если какие-то части получились хорошо, а какие-то нет, то просто перенесите результат во вкладки Reference и Inpaint и работайте уже с ним.
- Если исходное изображение слишком тёмное либо светлое, то модель сама по себе может не справиться и имеет смысл подключать затемняющую или осветляющую мини-модель (лору).
Надо, чтобы было так, программа, в ней открываешь свой рисунок, нажимаешь кнопку "Сделать пиздато", сохраняешь и радуешься. А сейчас что-то какая-то ебля с танцами.
Блин, находятся же чудики, которые всё ещё работают в А1111...
Нет бы как нормальные люди генерить арты в ComfyUI, и вместо лонга на DTF, просто скинуть workflow.json, что бы любой желающий за 5 секунд загрузил этот файл и сразу смог повторить всё в точности без лишних слов и объяснений.
И тут ебаные ноды, хватит
А ControlNet reference_only в Comfy работает? Помню я поэтому и не стал переходить.
Это был долбанный снобизм.
Открыл для себя Comftui и возомнил крутым?)
Конфи внезапно научился инпеинтить нормально? Ну-ну. Что касается гайда, то это слишком сложный путь. Вместо того, что бы воспользоваться инпеинт-моделью (нормально, вроде Делиберет или Аниме от того же автора), тут предлагают ну очень длинный обходной путь.