Создаем анимацию с помощью ControlNet. Гайд

Часть 1. Подготовка

Что будем делать?

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

  • Конечно же автоматик1111 если пропустили инструкция по установке есть здесь.

Если комп не тянет можете воспользоваться гугл коллабом. Так же инструкцию уже делал.

Создаем анимацию с помощью ControlNet. Гайд
  • Модели. Есть полные версии, а так же их уменьшенные версии, заметной разницы в качестве я не обнаружил и пользуюсь уменьшенными так как SSD не резиновый.

Я буду использовать hed. Он рисует контуры объекта.

Создаем анимацию с помощью ControlNet. Гайд

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

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

Способ установки тот же.

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

Идем искать референс. Тут конечно дело каждого где брать. Я гифки беру тут https://giphy.com/, а видео соответственно на youtube.

На гифи я обычно ищу танцы, а на ютубе видео категории eyes contact practice

Буду работать с этим:

Как это работает?

ControlNet способен разметить объекты разными способами. Обвести линиями края, нарисовать маску глубины, определить позу человека и тд. Плюс в том что он делает это быстро и довольно точно. А так же то что мы имеем только позу, а значит можем изменить картинку полностью не зависимо от контента на ней. Переделать балерину в балетной стойке в орка? Пожалуйста. Ссылка на гитхаб для тех кто ищет подробностей: https://github.com/Mikubill/sd-webui-controlnet.

Часть 2. Настройка

После того как мы определились с референсом идем в автоматик.

Вкладка img2img возле скриптов внизу страницы у вас появился ControlNet. Раскройте его.

Создаем анимацию с помощью ControlNet. Гайд

Основные настройки:

Enable - вкл\выкл расширение

Low VRAM - ставьте если у вас меньше 6гб видеопамяти

Guess Mode - в этом режиме Control пытается распознать картинку и сделать что-то близкое. Должен игнорировать весь промпт. Может получиться что-то интересное.

Preprocessor- типа движок обработки

Model - модель для этого движка. Обычно вы хотите чтобы они совпадали, но вы можете поэкспериментировать.

Weight - Насколько сильно следовать промпту

Guidance strength - насколько точно следовать линиям полученным с референса. Дать чуть свободы бывает полезным.

Создаем анимацию с помощью ControlNet. Гайд

Подключаем наш скрипт в зависимости от того что у вас в заготовке, видео или гифка. У меня гиф поэтому его и выбираю. Загружаю гифку. Actual total frames - общее кол-во кадров, а значит и генераций.

Осталось прописать желаемый промпт и можно запускать генерацию. Не забудьте настроить ширину и высоту генерации. А так же хорошая идея зафиксировать сид. Тогда при не большом движении в кадре соседние кадры будут больше похожи друг на друга. Я этого делать не буду.

В итоге мои настройки выглядят вот так:

При использовании ControlNet стоит использовать высокий Denoising strength. Так как обычно нам нужны только общие черты изображения, обычно это поза и может быть геометрия окружения, в остальном мы хотим следовать нашему промпту.

Полученный в итоге результат будет ждет меня в img2img-images\gif2gif.

Почему я использовал HED, а не например openpose?

Openpose достаточно капризен и может легко потерять конечность, особенно на гифке как моя. Темная девушка на темном фоне. Перед HED же не стоит такой сложной задачи как поиск конечностей и их направление, но он способен распознать края, передать их дифузии и по нашей подсказке и по общему силуэту она без особого труда распознает человека и отрисует позу нормально(зачастую). Например, если вы примените к ней openpose, при стандартных настройках она будет терять руку когда потеряет локоть и иногда поворачиваться спиной, потому что он не нашел лица, увидел руки и ноги и решил что это вид со спины.

ControlNet имеет множество применений. Такие как изменение света на генерации. Смешивание препроцессоров. Так же для уменьшения мелькания можно использовать Lora. Но это все будет раскрываться в следующих статьях. На эту статью мы своей цели достигли.

Можете задать вопрос или поделиться результатом в комментариях или в нашем чате нейроэнтузиастов. https://t.me/neuralphotoart_chat

Мой канал гайдами и новостями: https://t.me/neuralphotoart_chat

7474
16 комментариев

В поле URL вставьте https://github.com/Mikubill/sd-webui-controlnet.git и нажмите Install.Похоже, что ".git" в конце ссылки лишний, нужен просто адрес гитхаба https://github.com/Mikubill/sd-webui-controlnet иначе выдает ошибку (как в коллабе, так и в локальной версии на macos)

Ответить

@Neural Academy Благодарю за туториалы и коллаб! :)

1
Ответить

Унити это что непонятно

Ответить

Унити понятно, Униьи не понятно)
Впрочем ни с тем ни с другим не подскажу. Не смотрел в этом направлении

1
Ответить

Но, можно например строить геометрию сцены, затем прогнать через нейросеть нарисовав по ней инопланетный город например. Посмотри канал сабатовского. Он про сьемки но он активно использует игровые движки и нейросети, иногда они переплетаются.
Так же знаю люди текстурируют через сетки

Ответить

с помощью этого метода можно будет такое видеть сделать https://www.youtube.com/shorts/RV5VE1IBYp8 ? или нужен другой метод (я пытаюсь сделать очень похожее на то что в видео, но у меня получается не так, в основном проблема в лице, сильно плющит, а я еще не использовал до этого controlnet, только ebsynth, но понял что он мне не нужен)

Ответить

Щас все сложнее. Гайд вышел в доконтролнетовскую эпоху. и тут я так понимаю это не с натуры а с 3д модельки сделано или типа того

Ответить