Генерация одного персонажа в Stable Diffusion, Automatic1111⁠⁠

Генерация одного персонажа в Stable Diffusion, Automatic1111⁠⁠

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

Выявил я всего два метода: один для создания разных ракурсов и поз, а второй для замены фонов, освещения, углов съемки.

Занимает данная процедура считанные минуты, отчего я и решил написать гайд.

Ну а весь прикол в том, что я случайно поставил черную точку на скелет Openpose в ControlNet, когда редактировал позу персонажа с коллегой, и получил ту же самую тянку, но немного в другом ракурсе. Более того, с данным методом работает только модель Openpose, другие генерят шлак. Стандартный img2img тоже не подходит для этой задачи — результат всегда разный и непредсказуемый.

Вот как выглядел скелет до и после того, как я случайно поставил точку в редакторе:

Что нам понадобится?

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

Также нам нужен ControlNet с моделью openpose. Скачать все это вы можете по ссылке из моего телеграма — я собрал для вас все в одном месте, чтобы вы не носились по интернету.

Помимо этого я выложил все исходники, можете глянуть и поэкспериментировать на их основе.

Еще вы должны скачать эти две картинки. Да, именно их. Не делайте преждевременных выводов, пожалуйста.

Перейдем к практике

Первым делом открываем Automatic1111 и подбираем промпт для нашего будущего персонажа. Рекомендую следующую структуру:

(furry cute fox woman:1.4), 21 years old, big eyeballs, big eyes, red demon eyes,(cartoon:1.3), art, greg rutkowski,ocean, water, splashes, cyberpunk, citysun light, neon light, soft lightsmedium shot

В первой строке мы описываем общие детали персонажа — его возраст, пол, телосложение и т.д. Далее задаем художественный стиль; затем общие детали окружения; после чего обозначаем освещение, колоризацию, насыщенность и яркость. Последним шагом объясняем нейронке, в каком ракурсе отображать нашего персонажа: в моем случае лисичка будет нарисована по пояс.

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

Обратите внимание на мои настройки. Самое здесь интересное, что seed мы ставим на (-1) — это дает нереальную вариативность с сохранением главного персонажа. Для этого нам нужно в ControlNet выбрать модель Openpose и загрузить в нее нашу картинку, после чего клацнуть на Generate.

Можем сразу поставить batch size на 10, чтобы получить больше результатов. И еще не забывайте про второе изображение, состоящее из шума (скачивали в начале статьи). Оно дает больше вариативности, но не всегда держит первоначальный образ. Советую поэкспериментировать! Просто меняете белый квадрат на шум.

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

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

Я взял одну из этих фурри и перенес во вкладку img2img. Настройки выставил следующие настройки:

На скрине ниже обратите внимание, что параметр Weight выставлен на 1.4 — так мы повышаем влияние нашего белого фигуличного квадрата, отчего позы будут максимально похожими на оригинал. Если поставить меньше, то позы меняются больше.

Все, смело выкручивайте Batch size до 10 и расширяйте свой дата-сет! Так вы можете делать с любой фотографией, полученной в первой части во вкладке txt2img.

Сравнения результатов

Тестировал на разных нелепых квадратах, среди которых:

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

Кстати, по методу с белым кубом получается даже создавать картинки в 1024 на 1024 пикселей. Удачных вариантов примерно 20 из 100, но это уже хоть что-то.

Вы можете сказать, почему не попробовал сделать позы и не сгенерить по ним через ControlNet? А я отвечу, что пробовал, и получалась также фигня без шерсти на лице + сама генерация шла очень долго, так как приходилось выставлять разрешение (2048 на 1024).

В общем, можете дискутировать в комментах, глядеть исходники, благодарить, если кому-то помог.

Congratulations, вы справились!

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

Буду рад видеть вас в телеграм-канале, где я собираю лучшие гайды по Stable Diffusion. А если не найду, то пишу сам.

#furry #stablediffusion #ai #art #гайд #guide #automatic1111.

 

Источник

Читайте также