Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.)

TLDR: Че тут происходит вообще? Я тут делюсь своим опытом по работе с нейронками. Если тебе эта тема интересна, но ты только начал вникать загляни ко мне в профиль или в конец статьи, там есть полезные ссылки. Сейчас это может быть слишком сложным для тебя.

Сегодня покажу как установить, настроить и начать пользоваться одним из самых лучших расширений для стабильной диффузии. Способов его применения огромное множество, но все по порядку.

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.)

Для начала становим расширение. Запустите автоматик, зайдите Extensions - Available - Нажмите кнопку Load from. Загрузятся расширения доступные к установке, найдите sd-webui-controlnet и нажмите Install. С расширением всё.

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.)

Теперь нужно скачать модели и я походу объясню какая и зачем.

  • Модели. Есть полные версии, а так же их уменьшенные версии, заметной разницы в качестве я не обнаружил и пользуюсь уменьшенными так как SSD не резиновый.
Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.)

Можете скачать все со словом control в начале. Я в основном использую 3, это depth, openpose, hed, но так как весят не много и удобно иметь под рукой, имею все.

Препроцессоры:

У всех у них одна задача, получить тот или иной контур объекта, поза, линии, силуэт чтобы затем вы могли изменить картинку не отходя от этого самого контура, позы, силуэта. Так вот теперь вы можете забрать с нее только композицию и нарисовать по ней все что угодно. В разумных пределах конечно.

canny - обводит края тонкой линией, подходит для изображений с резкими краями, например аниме, но это не обязательная к исполнению рекомендация, как и все ниже, может сработать для вас и на другом типе изображений
canny - обводит края тонкой линией, подходит для изображений с резкими краями, например аниме, но это не обязательная к исполнению рекомендация, как и все ниже, может сработать для вас и на другом типе изображений
hed - толстой размазанной, смягчая края
hed - толстой размазанной, смягчая края
openpose - берет только позу людей кадре, никаких краёв, а значит можно менять например фигуру. Для всего
openpose - берет только позу людей кадре, никаких краёв, а значит можно менять например фигуру. Для всего
depth - маска глубины чем ближе к камере тем белее, для всего когда нужно получить объем сцены чтобы его сохранить
depth - маска глубины чем ближе к камере тем белее, для всего когда нужно получить объем сцены чтобы его сохранить
normal - карта объёма
normal - карта объёма
scribble - создает каракули и может создавать что-то из каракуль.
scribble - создает каракули и может создавать что-то из каракуль.
mlsd - работает с ровными прямыми линиями, хорош с помещениями, чтобы передать их геометрию ну и потом перерисовать конечно.
mlsd - работает с ровными прямыми линиями, хорош с помещениями, чтобы передать их геометрию ну и потом перерисовать конечно.
seg- делит картинку на сегменты, затем пытается в тех же сегментах нарисовать те же объекты которые могут относиться к этому сегменту. Использовал я его примерно 0 раз, но кто знает…
seg- делит картинку на сегменты, затем пытается в тех же сегментах нарисовать те же объекты которые могут относиться к этому сегменту. Использовал я его примерно 0 раз, но кто знает…

После скачивания моделей поместите их по пути: ваша_папка_с_автоматиком\extensions\sd-webui-controlnet\models

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.)

После того как все сделали, полностью перезапустите стабильную диффузию.

Запускаем снова и смотрим вниз. Появилась вкладка ControlNet. Давайте сгенерируем что нибудь и сразу возьмем его позу для генерации чего-то другого.

Конечно же не обязательно генерировать. Вы можете поместить в окно контролнета любую фотографию которую хотите взять за основу.

Ставлю галку на Enable, чтобы активировать расширение. Выбираю препроцесср Openpose модель тоже openpose.

Еще пример изображения в той же позе.

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.)

А теперь давайте разберемся с настройками. По крайней мере на дату выхода статьи 😅, в мире нейросетей все очень быстро меняется.

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.)

Enable - включить

Invert Input Color - инвертировать изображение. Бывает что вам понадобится черный контур на белом фоне, а ваша картинка имеет обратные цвета. Галка поможет

RGB to BGR - сменить компоновку пикселей. Видимо на матрицах BGR даст результат лучше, но я с такими дело не имел

Low VRAM - уменьшает требование к видеопамяти

Guess Mode - удалите промпт, контрол сам попробует понять что на картинке и повторить по своему. По мне фигня какая-то (на текущую дату)

Preprocessor - обработчик изображения которое вы скормили расширению. То есть openpose превращает изображение в позу. Из примера выше она выглядит вот так.

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.)

Model - берет то что получила от препроцессора и обрабатывает.

Weight - как сильно контролнет будет влиять на композицию

Guidance Start (T) - когда вмешаться

Guidance End (T) - когда перестать

Диффузия получает изображение из шума, делает она это степами\шагами. Вы можете выбрать когда контрол нету влиять на очистку шума, а когда нет. Это уже чуть более продвинутая техника. Расскажу о ней в другой раз. В вкратце, если поставить 0 и 0.5 контрол будет контролировать общий силуэт до половины генераций, а дальше полностью отпустит вожжи и в дело вступит только диффузия.

Annotator Resolution - разрешение считывания, ставьте по самой короткой стороне вашей картинки, качество работы препроцессора должно стать лучше.

Threshold A\B - предназначены для очистки “мусора” на таких препроцессорах как canny например. Если у вас считывает что что вы не хотели бы или наоборот, поиграйте этими ползунками.

Оба максимум \ Оба минимум

С позами понятно. А остальные что?

Теперь вам не нужно долго добиваться от диффузии нужной вам композиции. Вы можете использовать любую уже созданную, хоть вами хоть кем то другим. Это только часть возможностей данного расширения, об остальных расскажу в других статьях.

Выбирайте препроцессор при принципу что вам важно взять с изображения? Только позу? Openpose. Силуэт? Depth. Нужно сохранить практически все грани, но переделать в другой стиль? Canny, hed.

На прощание нарисуем кролика:

Установка и объяснение настроек Control Net. (Копирование позы, композиции и т.д.)

Поделиться результатом или задать вопрос вы можете в нашем нейробратском комьюнити.

Больше гайдов на моем канале, подписывайтесь чтобы не пропустить. Так же вы можете заказать у меня работу если не может что-то сделать сами, ну или не хотите)

П.С. Создали онлайн интенсив для новичков. Пройдет 7 и 10 апреля 2023 года. Ознакомиться с программой и принять участие можно по ссылке.

129129
8 комментариев
12
Ответить

Та штука из зе фореста в итоге выбралась в мир?

10
Ответить

Гениально

Ответить

"Invert Input Color - инвертировать изображение. Бывает что вам понадобится черный контур на белом фоне, а ваша картинка имеет обратные цвета. Галка поможет"
Эта штука нужна когда к примеру ты получаешь препроцессором canny - она изначально схему делает белый фон и черный контур. Но если ты решишь убрать препроцессор, вручную доработать полученную схему canny и вручную эту схему canny вставить - на белом фоне черный контур работать не будет. Чтобы твоя схема canny с выключенным препроцессором заработала как раз и нужно щелкать эту галочку.

"Guess Mode - удалите промпт, контрол сам попробует понять что на картинке и повторить по своему. По мне фигня какая-то (на текущую дату)"
Советую если результат Вас не устраивает что выдаёт контрол_нет, пробовать жмякать эту галочку даже при наличии промта. Может кратно улучшить результат и выдать что-то интересное.

Еще после многих экспериментов заметил при img2img что изображение даже при denoise str 1 сильно влияет на результат. Поэтому желательно один раз прогнать img2img с включенными препроцессорами - потом перейти во вкладку txt2img и там уже работать со сгенерированными картами контрол_нет с выключенными препроцессорами. Тогда только Ваш промт будет влиять на результат.
Заметил это когда долго боролся с сильными бликами и засветами на изображении. В образце был персонаж на белом фоне. Я по наивности думал что денойз стр 1 полностью стирает данные с образца, но нет. В txt2img с включенными теме же настройками control_net гораздо проще было контролировать результат.

Эксперементируйте с нескольки сетями control_net одновременно. С включенными canny, depth, normalmap можно уловить практически все детали на изображении и менять стиль объекта с сохранением деталей и силуэта.

6
Ответить
Комментарий удалён модератором

Это для тренировки мышцы. Встал-упал-встал. У мелограно наоборот правда будет, так что эффект будет чуть хуже

1
Ответить

это традиции Древнего Рима, не вижу проблемы

Ответить