ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

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

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

Прежде чем начать, кратко для новоприбывших, как установить контролнет. В автоматике идем в Extension-Available жмем Load from. Ищем ControlNet, жмем Install. Скачиваем модели. Сегодня нам понадобится openpose. И кидаем по пути ваша_папка_с_автоматиком\extensions\sd-webui-controlnet\models. Всё. Вы готовы. Можем начинать.

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

Давайте сразу их установим. Идем в automatic1111. Первое можно найти там же где и устанавливали ControlNet. Называется posex.

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

Для установки второго(на момент написания статьи), перейдите на вкладку Install from URL.

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

Вставьте https://github.com/jexom/sd-webui-depth-lib.git нажмите Install.

Так же нужно настроить ControlNet. Зайдите в Settings - СontrolNet и в MultiControlNet передвиньте ползунок на 3. Так мы сможем использовать сразу несколько моделей.

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

Сохраняем!!! Apply settings. Перезапускаем полностью автоматик и обновляем страницу.

Если помните, то в прошлом гайде я советовал сохранять ужасные позы. Совет все еще хороший, но что делать что нужной вам позы у вас просто нет. Все просто. Создать ее)

Идем в txt2img. Видим внизу новое раскрывающееся меню. Posex заглянем туда.

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

Send this image to ControlNet. - будет перенаправлять то что видим в окне с позой в контролнет. Это нам и нужно.

Target ControlNet number - в какую вкладку контролнета отправить позу. Напомню что у нас их теперь 3.

Чуть ниже кнопки сброса: Всего, камеры, позы.

Управление простое и можно разобраться самому, но есть нюансы, поэтому распишу:

С зажатым ПКМ перемещаем холст. Может показаться что позу по экрану, но если добавите еще одну то увидите что они двигаются вместе. (нюанс 1, если в браузере есть управление жестами мыши отключите, иначе будет работать криво)

ЛКМ крутим.

Колесиком приближаем и отдаляем. Для более плавного отдаления\приближения зажмите колесико мышки и двигайте ей.

Чтобы двигать кости, наведитесь на одну из них, как появится рамка, двигайте.

Нюанс 2. У нас есть две фигуры. Как подвинуть одну из них? Наведите на любую кость, зажмите ПКМ, двигайте. Это было для меня не очевидным, пришлось читать гитхаб. А вот Fixed Roll автор решил не объяснять. Экспериментами выяснить что делает не вышло. Add - добавляем нового скелета. Remove - удаляем. Чтобы удалить, наведите на кость, нажмите ЛКМ\ПКМ, а затем Remove. Разрешение итоговой картинки может пригодиться если собираетесь делать кого-то вдалеке, тогда ставьте повыше. Для близких ракурсов и 512 ок. Далее кнопки установки бэкграунда, просто для примерки, он не влияет на генерацию. Но вы можете использовать примерочный бэкграунд позже в контролнете чтобы он как раз влиял. А так же как референс для позы.

Осталось выставить:

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

Внизу кнопки сохранения поз, там нюансов нет, так что давайте уже что-нибудь сгенерируем!!

Итак, помните про разрешение? Оно нам нужно еще и для изменения композиции. Я ставлю 960 на 512. в настройках генерации либо такое же, либо с таким же соотношением сторон.

Пишу промпт. Беру стандартную позу, выставляю разрешение, раздвигаю по сторонам чтобы картинка получилась интересней, ведь двух девушек вместе мы и без этого можем сгенерировать, а вот врозь уже сложнее(было). Активирую ControlNet, препроцессор None(вы же помните из прошлого урока почему None? Потому что у нас уже есть поза, а препроцессор ее создает. Его работа уже сделана нами) Model - openpose.

Получаем:

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

на самом деле не сразу получаем, мелкие лица нейросеть рисует не так хорошо, поэтому прогнал через СД апскейл, а потом уменьшил чтобы влезла сюда. А вот что хорошо получается, так портрет. Бывало что не сразу удается добиться нужного приближения? Эти дни в прошлом)

Так же, не забывайте, что промпт должен соответствовать позе. Поставив в т-позу, но написав dansing, можете получить искажения.

Еще примеры:

Легко решаем вопрос количества людей:

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках
ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

Теперь большая картинка без кучи клонов делается в разы проще:

Я тут считерил. Поставил в т-позу, но, во-первых, она далеко, во вторых в промпте running, а в третьих Guidanse End поставил на 0.75 (что это, в прошлой статье).
Я тут считерил. Поставил в т-позу, но, во-первых, она далеко, во вторых в промпте running, а в третьих Guidanse End поставил на 0.75 (что это, в прошлой статье).

Изменить фигуру:

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках
ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

Повернуть голову в нужную сторону:

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

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

Дальше идет часть которую уже тиражируют гайдеры, но делать это с одной стороны рано, а с другой знать полезно.

Руки:

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

Выставляем позу как нравится и скачиваем нажав под ней Download. Идем во кладку сверху, которая называется Depth Library. Она появилась после установки последнего расширения.

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

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

Как выставили наши руки, вы можете нажать Send to ControlNet, но делать этого не рекомендую потому что отправит во вкладку 0. Лучше нажать сохранить PNG и загрузить его во вторую вкладку вручную. В итогах статьи напишу почему. Далее в Posex, так же скачиваем нашу картинку и помещаем ее на нулевую вкладку. Posex пока не нужен, выключаем и сворачиваем.

Кстати если у вас проблема с нехваткой видеопамяти поставьте в контролнете галочки на чекбоксах Low VRAM.

В итоге у нас на кладке 0. Должна быть поза. Препроцессор None. Модель - openpose. На вкладке 1 руки. Препроцессор None. Модель depth.

Генерирую.

И получаем, вот такой замечательный результат:

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

Что? Не слишком замечательный?)) Это то что вам не покажут в других гайдах) Обычно в конце гайдов все круто и красиво?

Не во всех. Некоторые просто будто не замечают что вышло фигово. Это те которым надоело ролить в поисках нормального результата.

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

Вот это кто-то даже поставил себе на заставку в ютубе. Больших пальцев нет плюс слипшиеся и мини пальцы.

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

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

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

(да, я просто приделал руки к Т-позе, писать гайды выматывает )

Что можно сделать, чтобы избежать первого примера и иметь хотя бы второй?

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

- Следите за разрешением. Чем мельче будет объект тем выше должно быть его разрешение.

Разница между 768 и 512. На 512 мизинец вообще поломало:

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

- Идите от большего к меньшему. Я придерживаюсь этого когда, пишу промпт, так же работает и тут. В контролнете в нулевую вкладку закидывайте, позу, а во вторую уже руки. Ничего не работает параллельно. Тут все последовательно. Поэтому сначала тело, а потом руки к нему.

- Тоненькие анимешные пальчики могут не получиться с макета руки обычного человека

- Значит ли это что руки все еще недосягаемы? Нет. Если у вас стоит задача сделать. Сделать это можно, просто это потребует больше усилий чем подставить их через расширение. Возможно позже выпущу гайд как сделать хорошо. Коротко, вам понадобится редактор изображений и инпейнт.

И если вы думаете что это всё. Нет не все =)

ControlNet - полный контроль над позой и положением персонажа. И чу-чуть о руках

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

Если статья понравилась не забудь прожать лайк. Обидно не выбираться из свежего потратив столько времени на написание и изучение 😐.

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

Больше гайдов на моем канале, подписывайтесь чтобы не пропустить:

На моем бусти вы сможете найти датасеты для обучения, доп материалы к гайдам и многое другое.

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

399399
86 комментариев

Новая вайфу DTF,)

71
Ответить

Обычный сюрреализм.

23
Ответить

А что сделали со старой? 🤔

1
Ответить

Идеальная 😍

1
Ответить

Ведь в её руке он будет казаться больше.

1
Ответить

Уже надоело в закладки все эти гайды сохранять.

21
Ответить