Перекрашиваем Gif анимацию в Stable Diffusion с использованием ControlNet⁠⁠

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

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

1. Раскадровка гифки, одна штука. Как сделать, взять готовую гифку с интернетов, и раскадрировать любым доступным способом, я это делаю в Adobe Primer, можно сделать и онлайн гайд например вот https://comp-doma.ru/kak-razbit-video-na-kadry-online.html

2. Актуальный Automatic 1111 с расширением ControlNet и моделями к нему, или еще есть облегченная версия моделей, тоже должна работать так же. Как работает ControlNet и как установить в этом видео. Можно и в коллабе.

Погнали

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

Перекрашиваем Gif анимацию в Stable Diffusion с использованием ControlNet⁠⁠

Теперь я раскадрирую гифку в Adobe Primer, но вам подойдет и способ по проще из пункта 1.

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

Подготовка исходника завершена.
Подготовка исходника завершена.

Открываем txt2img и задаем промпт, генерируем пока у нас не появится персонаж который сможет занять место на гифке.

У меня вот такой
У меня вот такой

Отправляем все кнопкой в img2img, чтобы перенести и настройки генерации.

Я попробую сделать гифку на основе модели openpose, вы попробуйте в разных моделях и с разными настройками. Про разные модели рассказываю в видео. И не забывайте про галку Enable, без неё расширение не включено.

Перекрашиваем Gif анимацию в Stable Diffusion с использованием ControlNet⁠⁠

В img2img выставляем ваши любимые настройки, тут у нас задача поставить такой Denoising strength и так скорректировать промпт, чтобы персонаж нормально рисовался на кадре из гифки, пробуем несколько разных кадров, смотрим чтобы все ложилось. Я зафиксирую сид. Но это не обязательно и не то чтоб сильно помогает.

В целом сойдет.
В целом сойдет.

И теперь важный момент без которого ничего не будет работать, разработчик ControlNet явно хороший парень, но у него как и у многих не отбит педрильник (да я взял эту фразу сами знаете у кого). У меня пол дня ушло чтобы понять почему не работает пакетная генерация, оказалось все очень просто, этот отличный парень в пакетном режиме не сделал сохранение для карты которую генерирует для каждого изображения ControlNet и автоматик просто крашился не зная что делать с лишней картинкой. Исправлять это по законам жанра решили костылями. Идем в Settings, находим в списке слева ControlNet и ставим галку Do not append detectmap to output, теперь созданные для каждого изображения карты не будут сохраняться и проблема как бы решилась сама собой 🙄

Потом включите, для понимания как вообще работают карты
Потом включите, для понимания как вообще работают карты

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

Можем генерировать.

В моем случае генерация заняла 5 минут
В моем случае генерация заняла 5 минут

Напоминаю, что все скрипты доступные для img2img доступны нам и в пакетном режиме, одновременно с ControlNet. Так что дальше дело ограничивается только вашей фантазией.

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

Осталось собрать кадры в видео, скорость анимации регулируется FPS(кадры в секунду)
Осталось собрать кадры в видео, скорость анимации регулируется FPS(кадры в секунду)

Друзья, вот такой результат получился у меня.

Могло быть и лучше, но с учетом что заняло это всего 10 минут 5 из которых мы генерили - кайф

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

Используя ControlNet мы можем ставить деноизнг даже на единицу, чего я никогда не делал при обычно img2img, и получать полное дублировании позы через любую из моделей, но от этого тоже постоянно изменяется фон и одежда.

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

Думаю вместе мы быстрее найдем нужный пайплайн. Жду ваши работы в комментах и в чатике.

UPD: Скрипт gif2gif позволяет значительно ускорить процесс убирая из пайплайна нарезку гифок на кадры и сборку их обратно. Все предельно просто устанавливаем как и все рассширения через Extensions, делаем Applay UI и в скриптах в img2img появляется новый скрипт.

Перекрашиваем Gif анимацию в Stable Diffusion с использованием ControlNet⁠⁠

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

---

Вот мой список полезных ресурсов:

  • Арт-нейросети от Nerual Dreming основной канал по нейросетям - подпишитесь, чтобы быть в курсе всего!
  • Nerual Dreming на YouTube тут проводятся стримы и выкладываются гайды - подпишитесь!
  • Nerual Dreming на Boosty - записи всех стримов, ххх сеты, ассеты и секретные гайды только для подписчиков, и доступ в чат для самых продвинутых.
  • ДЕНЬГИ - чат, где мы учимся зарабатывать на наших нейро-талантах вместе с настоящими профи.
  • ЧЕЛЛЕНДЖИ - группа с новыми нейро-челенджами каждый день - участвуй!
  • СКЛАД - все, что нужно для вашей нейросети: лоры, модели, эмбединги - осторожно, там нет цензуры.
  • АДМИНСКАЯ - группа для администраторов нейро-каналов, добавьте свой канал в био, прежде чем подавать заявку.
  • Чат нейро-операторов - общайтесь, задавайте вопросы, делитесь опытом с более чем 500 нейро-операторами.
3737
5 комментариев

Неплохо и горите в аду 👿

3
Ответить

надо будет заморочиться, правда думаю на фотореалистичных картинках не всё так гладко будет xD

1
Ответить

Сегодня ты молодец, не буду заниматься стандартным истязанием)
Да и я уже товарища в подсайте ниже скарёжил))

1
Ответить

Не хочу показаться грубым — но получилась хуета

Ответить

Возможно дело не в настройках, мб разработчик этой фичи должен алгоритм усовершенствовать?

Ответить