Как это сделано? (минигайд)
Вы наверное часто видели как старые пиксельные изображения превращают в красивые и гладкие иногда в фотореализм. Вот один из способов и как это сделал пользователь Реддит:
Сейчас будет инструкция для тех кто уже знаком со Stable Diffusion. Если ты не из таких, но хотелось бы научиться, ссылка будет в конце поста.
Загрузите изображение во вкладку img2img.
Вбейте подсказку. Для примера подсказка автора к одной из картинок выглядела вот так:
Positive prompt:unparalleled masterpiece, ultra realistic, 8k, perfect artwork, ((perfect male figure)), mature man, looking at viewer, alluring, clean, ((shiny skin)), intricate detail, prestige, anime-styled black hair, spiked hair, pale, emo, goth, asymmetrical hair, dark eyes, (lips closed), black hooded sweatshirt, pull strings
Negative Prompt:(worst quality:1.2), (low quality:1.2), (lowres:1.1), (monochrome:1.1), (greyscale),deformed, bad anatomy, disfigured, poorly drawn face, mutation, mutated, ugly, disgusting, missing limb, floating limbs, disconnected limbs, blurry, doubled face, mutated hands, mutated fingers, multiple eyebrows, multiple views, sketch, child face, woman, girl, (((female))), (chiseled jaw)
Denoising straight используйте между 0.4 и 0.55.
Далее берем получившееся изображение и заменяем им исходник. Наше изображение уже не такое пиксельное и каждый следующий раз его форма будет становиться четче. Так же если между генерациями автора что-то не устраивало. Он отправлял результат в фотошоп, поправлял и уже затем отправлял обратно в SD.
Если механика все еще не понятна то на всякий случай записал для вас гифку:
Чем меньше денойз будете использовать тем больше деталей сможете сохранить. Например, я потерял пирсинг. Его стоило бы вернуть и сделать более явным в фотошопе ну и в промпте указать. И очень высокие брови, тут не стандартная форма лица, а в запросе у нас просто женщина, потому СД будет стремиться привести лицо к стандартному. Тут снова или меньше денойз, или более точный промпт. Баланс в ваших руках. Если совсем ничего не помогает сохранить форму, а очень надо, то тогда ваш выбор это котролнет. Вот гайдпо вкатыванию в это расширение.
Другие примеры:
Модели которые использовал автор оригинального поста:
NeverEnding Dream, ChilloutMix, PerfectWorld (NSFW).
Добавлю что я часто использую подобный способ в разных ситуациях. Когда нужно максимально сохранить оригинал, но привнести побольше изменений. Контрол нет может сработать не так гладко, так же он может потерять цвета. Я уже писал об этом способе работы довольно давно вот тут. Но решил повторить на примере чужой работы из-за высокой популярности подобных ремиксов и не всем было очевидно что это можно применять и в обратном направлении.
Мой канал с гайдами по SD. Где бесплатно обучаю с нуля и до самостоятельного обучения моделей.
Ответ на пост «RuTraсker 20 лет»9
ControlNet - полный контроль над позой и положением персонажа. И чу чуть о руках
TLDR: Че тут происходит вообще? Я тут делюсь своим опытом по работе с нейронками. Если тебе эта тема интересна, но ты только начал вникать загляни ко мне в профиль или в конец статьи, там есть полезные ссылки. Сейчас это может быть слишком сложным для тебя.
Прежде чем начать, кратко для новоприбывших, как установить ControlNet. В automatic1111 идем в Extension-Available жмем Load from. Ищем ControlNet, жмем Install. Скачиваем модели. Сегодня нам понадобится openpose. И кидаем по пути ваша_папка_с_автоматиком\extensions\sd-webui-controlnet\models. Всё. Вы готовы. Можем начинать.
Сегодня продолжим тему, начатую в моем прошлом гайде, будем выжимать из препроцессора openpose все что можно. В том числе используя сторонние расширения.
Давайте сразу их установим. Первое можно найти там же где и устанавливали ControlNet. Называется posex.
Для установки второго(на момент написания статьи), перейдите на вкладку Install from URL.
Вставьте https://github.com/jexom/sd-webui-depth-lib.git нажмите Install.
Так же нужно поднастроить контролнет. Зайдите в Settings - СontrolNet и в MultiControlNet передвиньте ползунок на 3. Так мы сможем использовать сразу несколько моделей.
Сохраняем!!! Apply settings. Перезапускаем полностью автоматик и обновляем страницу.
Если помните то в прошлом гайде я советовал сохранять ужачные позы. Совет все еще хороший, но что делать что нужной вам позы у вас просто нет. Все просто. Создать ее)
Идем в txt2img. Видим внизу новое раскрывающееся меню. Posex заглянем туда.
Send this image to ControlNet. - будет пере отправлять то что видим в окне с позой в контрол нет. Это нам и нужно.
Target ControlNet number - в какую вкладку контролнета отправить позу. Напомню что у нас их теперь 3.
Чуть ниже кнопки сброса: Всего, камеры, позы.
Управление простое и можно разобраться самому, но есть нюансы, поэтому распишу:
С зажатым ПКМ перемещаем холст. Может показаться что позу по экрану, но если добавите еще одну то увидите что они двигаются вместе. (нюанс 1, если в браузере есть управление жестами мыши отключите, иначе будет работать криво)
ЛКМ крутим.
Колесиком приближаем и отдаляем. Для более плавного отдаления\приближения зажмите колесико мышки и двигайте ей.
Чтобы двигать кости, наводить на одну из них, как появится рамка, двигайте.
Нюанс 2. У нас есть две фигуры. Как подвинуть одну из них? Наведите на любую кость, зажмите ПКМ, двигайте. Это было для меня не очевидным, пришлось читать гитхаб. А вот Fixed Roll автор решил не объяснять. Экспериментами выяснить что делает не вышло. Add - добавляем нового скелета. Remove - удаляем. Чтобы удалить, наведите на кость, нажмите ЛКМ\ПКМ, а затем Remove. Разрешение итоговой картинки, чем выше тем чтонее. Может пригодиться если собираетесь делать в дали. Для близких ракурсов и 512 ок. Далее кнопки установки бэкграунда, просто для примерки, он не влияет на генерацию. Но вы можете использовать примерочный бэкграунд позже в контрол нете чтобы он как раз влиял. А так же как референс для позы. Осталось выставить:
Внизу кнопки сохранения поз, там нюансов нет, так что давайте уже что-нибудь сгенерируем!!
Итак, помните про разрешение? Оно нм нужно еще и для изменения композиции. Я ставлю 960 на 512. в настройках генерации либо такое же, либо с таким же соотношением сторон.
Пишу промпт. Беру стандартную позу, выставляю разрешение, раздвигаю по сторонам чтобы картинка получилась интересней, ведь двух девушек вместе мы и без этого можем сгенерировать, а вот врозь уже сложнее(было). Активирую ControlNet, препроцессор None(вы же помните из прошлого урока почему None? Потому что у нас уже есть поза, а препроцессор ее создает. Его работа уже сделана нами) Model - openpose.
Получаем:
на самом деле не сразу получаем, мелкие лица нейросеть рисует не так хорошо, поэтому прогнал через СД апскейл, а потом уменьшил чтобы влезла сюда. А вот что хорошо получается, так портрет. Бывало что не сразу удается добиться нужного приближения? Эти дни в прошлом)
Так же не забываете что промпт должен соответствовать позе. Поставив в т-позуб но написав dansing можете получить искажения.
Еще примеры:
Легко решаем вопрос количества людей:
Теперь большая картинка без кучи клонов делается в разы проще:
Я тут считерил. Поставил в т-позу, но, во-первых, она далеко, во вторых в промпте running, а в третьих Guidanse End поставил на 0.75 (что это, в прошлой статье).
Изменить фигуру:
Повернуть голову в нужную сторону:
Тут признаю честно, в Posex у меня повернуть голову не вышло, как я говорил у меня проблемы с пространственным мышлением) Так что считерил, взял из блендера.
Ну в общем понятно. Туда же и наклон головы, повороты туловища и тд и тп. Это была хорошая часть, а ниже будет про руки. И она, спойлер, не так хороша как ее некоторые блогеры малюют.
Дальше идет часть которую уже тиражируют гайдеры, но делать это с одной стороны рано, а с другой знать полезно.
Руки:
Выставляем позу как нравится и скачиваем нажав под ней Download. Идем во кладку сверху, которая называется Depth Library. Она появилась после установки последнего расширения.
Разрешение ну или соотношение сторон ставим такое же, как и на нашей позе. Надеюсь понятно что за что отвечает. Чтобы превратить левую рук в правую и наоборот, просто берем за край и тянем, это отразит изображение. По гифке видно, что у меня проблемы с пространственным мышлением)) При открытой ладони большие пальцы смотрят в голову)
Как выставили наши руки, вы можете нажать Send to ControlNet, но делать этого не рекомендую потому что отправит во вкладку 0. Лучше нажать сохранить PNG и загрузить его во вторую вкладку вручную. В итогах статьи напишу почему. Далее в Posex, так же скачиваем нашу картинку и помещаем ее на нулевую вкладку. Posex пока не нужен, выключаем и сворачиваем.
Кстати если у вас проблема с нехваткой видеопамяти поставьте в контролнете галочки на чекбоксах Low VRAM.
В итоге у нас на кладке 0. Должна быть поза. Препроцессор None. Модель - openpose. На вкладке 1 руки. Препроцессор None. Модель depth.
Генерирую.
И получаем, вот такой замечательный результат.
Что? Не слишком замечательный?)) Это то что вам не покажут в других гайдах) Обычно в конце гайдов все круто и красиво?
Не во всех. Некоторые просто будто не замечают что вышло фигово. Это те которым надоело ролить в поисках нормального результата.
Дело даже не в ужасных пропорциях всего. Да руку я сделал слишком мелкой. Посмотрите на нашего главного героя, руку. Она так же запуталась в пальцах, хотя у нас относительно крупный пример, с глубиной и все как надо. Это не значит что все что я вам рассказывал нерабочая фигня. Это значит что результат все еще не гарантирован. Если еще увидите гайды по этому расширению обратите внимание что получается, на самом деле полная херня, либо берется простой макет как у меня ниже.
Вот это кто-то даже поставил себе на заставку в ютубе. Больших пальцев нет плюс слипшиеся и мини пальцы.
Так что к сожалению мы все еще живем не в идеальном мире. И чем более небрежно вы делаете каждый этап тем хуже может быть результат. И пока модель все еще не может сгенерировать абсолютно все что ей подсунешь.
(да, я просто приделал руки к Т-позе, писать гайды выматывает )
Что можно сделать, чтобы избежать первого примера и иметь хотя бы второй?
- Самое главное все еще не получится ставить перед сеткой сложные задачи. Перекрещивания, переплетения, те вещи где сложнее уловить края и те вещи которые при обучении главной модели были слишком мелкими по отношению к остальному изображению все еще могут получаться плохо. Все эти инструменты подталкивают диффузию сделать именно лучше, но гарантии нет.
- Следите за разрешением. Чем мельче будет объект тем выше должно быть его разрешение.
Разница между 768 и 512. На 512 мизинец вообще поломало:
- Идите от большего к меньшему. Я придерживаюсь этого когда, пишу промпт, так же работает и тут. В контролнете в нулевую вкладку закидывайте, позу, а во вторую уже руки. Ничего не работает параллельно. Тут все последовательно. Поэтому сначала тело, а потом руки к нему.
- Тоненькие анимешные пальчики могут не получиться с макета руки обычного человека
- Значит ли это что руки все еще недосягаемы? Нет. Если у вас стоит задача сделать. Сделать это можно, просто это потребует больше усилий чем подставить их через расширение. Возможно позже выпущу гайд как сделать хорошо. Коротко, вам понадобится редактор изображений и инпейнт.
И если вы думаете что это всё. Нет не все =)
Но статья и так уже слишком длинная и я уперся в лимит пикабу на кол-во медиа. Так что в другой раз. Подпишитесь чтобы не пропустить. (сюда выкладываю далеко не все, весь контент в тг, ссылка ниже)
Поделиться результатом или задать вопрос, а так же пообщаться с единомышленниками вы можете в нашем нейробратском комьюнити.
Больше гайдов на моем канале, подписывайтесь чтобы не пропустить:
На моем бусти вы сможете найти датасеты для обучения, доп материалы к гайдам и многое другое. Или просто финансово отблагодарить если мои материалы вам как-то помогли.
МультКомбат. Смесь героев советских мультфильмов+персонажи игры Mortal Kombat 11. Видео+24gifs
5 лет назад я нарисовал кучу персонажей смешав героев советских мультфильмов и персонажей видеоигры Mortal Kombat 11 И наконец то дождался, когда нейросети смогли визуализировать процесс смешивания. Сделал видос 24 персонажами.
Ниже выложил отдельные гифки, вдруг кому понадобится:
Oops I...
Пост о детали в клипе, если не твоё — проматывай. )
Помнишь такую замечательную песню милахи Бритни?
Помнишь наверняка, даже, думаю, подпеваешь, когда слышишь.
А клип, качество которого как будто даже выше, чем в день выхода на экран?
Вот он, кстати
Ну так вот, еду я тут на днях, в ушах играет эта песня и доходит до момента на ~2:45 в клипе, где происходит диалог Брит в роли марсианки с бедолагой-космонавтом, которым вертят как вздумается, она ему устраивает разгерметизацию, а он дарит ей что-то непонятное с горящим взором.
И как-то всегда мозг пропускал его, а тут обратил внимание и «прислушался», а там:
All aboard!
Все на борт!
Britney! Before you go, there's something I want you to have.
Бритни, прежде чем ты уйдёшь, я хотел бы дать тебе кое-что.
Oh, it's beautiful! But wait a minute, isn't this...?
О, оно прекрасно! Но подожди-ка, это же...?
Yeah, yes, it is.
Ага, оно самое.
But I thought the old lady dropped it into the ocean in the end.
Но я думала, пожилая леди бросила его в океан в конце.
Well, baby, I went down and got it for ya.
Ну, крошка, я спустился на дно и достал его для тебя.
Aw, you shouldn't have.
Ох, было не обязательно.
Помнишь, что за старушка? )
Всё верно, камень «Сердце Океана» («Heart of the Ocean») бросает в пучину состарившаяся Роуз из «Титаника» Джеймса Кэмерона, вышедшего тремя годами ранее, в 1997.
Такая вот забавная отсылка. )































