Как сделать видео в Stable Diffusion (Deforum)

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

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

Что такое Deforum

Deforum – это бесплатное (как и сам Stable Diffusion) программное обеспечение для создания анимации в нейросети. Расширение использует возможности преобразования изображения в другое изображение для генерации множества кадров, которые в дальнейшем объединяются в готовое видео.

Грубо говоря! Генерируется картинка по вашему запросу и внося небольшие изменения создается следующий кадр. Поскольку используется невысокий коэффициент “фантазии” и за счет склейки кадров у нас создается впечатление непрерывного видео.

Stable Diffusion Deforum – Как установить?

С установкой у многих возникают первые вопросы, однако если вы устанавливали Stable Diffusion от Automatic1111, то для вас это не будет проблемой. Вам необходимо перейти в папку с установленной копией Стейбл Диффьюжен и кликнуть правой кнопкой мыши в свободном месте каталога. Далее выбираем пункт [Git Bash Here] и вводим команду:

git clone https://github.com/deforum-art/deforum-for-automatic1111-webui extensions/deforum

Если у вас Windows 11, то сперва необходимо выбрать пункт [Показать дополнительные параметры]. Если у вас нет в меню строки Git Bash Here, значит вы использовали другое руководство для установки нейросети и вам надо установить GIT – про это можно прочитать в статье про установку.

Установка Deforum

После окончания загрузки и установки необходимо перезагрузить не только веб интерфейс, но и сам процесс Stable Diffusion – это который из командной строки.

Делаем тестовое видео

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

Шаг 1. В Веб интерфейсе перейдите на страницу Deforum.

Вкладка Deforum

Шаг 2. Перейдите на вкладку Keyframes.

В нижней части страницы можно найти вкладку “Motion”, которая отвечает за движение камеры. Именно тут прописываются параметры перемещения.

Max frames – количество кадров вашего видео. Увеличивая данное значение вы делаете видео длиннее.

Для демонстрации мы оставим все значения без изменений.

Окно Keyframe

Шаг 3. Плавно перемещаемся на вкладку “Prompts”. В данном разделе вы обнаружите список текстовых подсказок (промтов) с цифрой перед каждой из них. Данное значение обозначает кадр, с которого промпт начинает свою работу.

В примере первый промт будет действовать с самого начала видео. Переключение произойдет на 30 кадре… далее на 60 и 90 фрейме.

Создание видео в Deforum

Оставьте все как есть, чтобы понять как это работает. Кликните Generate чтобы создать видео.

После окончания генерации кадров и их дальнейшей склейки нужно нажать кнопку “Click here after the generation to show video” и просмотреть ваше видео. Если кликнуть три точки в правом нижнем углу ролика можно выбрать пункт “Скачать” для сохранения в удобное место.

Сохранение анимации из Deforum

Ваше видео так же можно найти в каталоге …stable-diffusion-webui\outputs\img2img-images в папке deforum.

Как пользоваться Deforum в Stable Diffusion

Прежде чем погружаться в анимацию стоит рассмотреть самые важные настройки:

  • Движение (2D или 3D)
  • Ваш промт

Мы рассмотрим базовые возможности Deforum, чтобы иметь представление что это за зверь и что он вообще может делать прежде чем приступим к генерации.

Настройки движения (Motion)

Настройки движения – это без преувеличения самая востребованная опция в Deforum. Вы можете создать крутой ролик просто поменяв промты оставив параметры движения без изменения.

Рассмотрим режимы анимации, которые нам доступны

2D – обработка изображений производится в 2D режиме как с обычной картинкой. Доступны увеличение, отдаление или перемещение в разные стороны для создания иллюзии движения.

3D – тут уже интереснее и камерой можете крутить как хотите, но очень сложно для тех, кто не знаком с 3D анимацией (например как я).

Настройки движения (2D)

2D Zoom – масштабирование

Функция масштабирования в Deforum используется для увеличения или уменьшения изображения. Важно понять как это работает… при значении меньше 1 картинка уменьшается, при значении выше 1 – увеличивается.

Чем дальше от стандартной единицы – тем изменение происходит быстрее.

Если вы не трогали настройки, то точка изменений будет находиться в центре. Об этом мы поговорим чуть ниже и рассмотрим график координат (наконец-то пригодится геометрия).

ZOOM – 0: (0.97)
ZOOM – 0: (1.03)

Angle – поворот

Используйте параметр Angle для вращения изображения. Положительное значение параметра поворачивает картинку против часовой стрелки, а отрицательное, соответственно по часовой.

Скорость параметра регулируется значением – чем оно дальше от 0, тем быстрее!

Angle – 0: (2)
Angle – 0: (-2)

Translation X – движение по горизонтали

Используя параметр Translation X мы можем двигать нашу иллюстрацию в горизонтальной плоскости (или как говорят в геометрии – по оси X).

Положительно значение двигает картинку вправо, отрицательное влево. Скорость эффекта регулируется как и в предыдущих движениях.

Translation X – 0: (5)
Translation X – 0: (-5)

Translation Y – движение по вертикали

Эффект Translation Y отвечает за перемещение камеры в вертикальной плоскости. При отрицательном значении камера опускается вниз (а ваша картинка как будто уходит вверх) и наоборот. Тут на самом деле важно абстрагироваться от вашего изображения и просто понять что вы управляете не картинкой, а камерой, тогда будет меньше вопросов.

Translation Y – 0: (5)
Translation Y – 0: (-5)

Transform Center – очень важно!

Transform Center – это невероятно важный параметр. Эти параметры являются отправной точкой в координатах вашего рисунка. У зарубежных коллег я позаимствовал отличную иллюстрацию, которая демонстрирует нам все визульно понятно.

Представим что мы хотим за отправную точку взять левый верхний угол, соответственно X=0 и Y=0 если верить системе координат ниже. Проверим.

Система координат

Попробуем приблизить или удалить наше изображение отталкиваясь от левого верхнего угла, т.е. Transform Center будет везде 0. Все работает!

ZOOM – 0: (0.97)
ZOOM – 0: (1.03)

Тайминги движения

Когда вы меняли параметры движения, то наверняка задавали себе вопрос – а зачем там 0 в начале? Давайте разберемся как работает график движений в Deforum и его принцип записи.

Для каждой строки эффектов будет справедлива запись:

frame1:(value1), frame2:(value2), frame3:(value3), ...

Каждая из записей состоит из двух значений – это frame (кадр, с которого стартует действие параметра) и Value – соответственно описание самого действия.

Вы можете создавать бесконечно количество записей и они могут пересекаться с другими эффектами. На примере мы это подробно рассмотрим!

Делаем видео с Алисой для телеграмм канала

Шаг 1: Генерируем стартовую картинку

Начальное изображение – совсем немногое, что мы можем контролировать в Deforum, стоит внимательно отнестись к картинке, именно она задает стиль и цвет для всей будущей анимации.

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

Стартовая картинка

Шаг 2: Создаем видео

На вкладке Prompts вы записываете свои промты для генерации. Как тут происходит запись и какие основные нюансы. В кавычках номер кадра, с которого начинается действие вашего описания, далее после –neg у вас вводится Negative Prompts. Если этот промт не последний, после него обязательно ставится запятая, после последнего не ставят точку, не ставятся запятые, вообще ничего не ставится – иначе будет ошибка.

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

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

Seed нашей стартовой картинки

Вся магия происходит на вкладке Keyframes – сейчас постараюсь объяснить что и куда

Для примера выбираем 2D анимацию и длину ролика 200 кадров.

Длина ролика

На вкладке Motion настраиваем параметры движения (страшно?):

Теперь давайте разберемся что тут вообще происходит. Разберем на примере ZOOM. Запись выше означает:

0:(1.01) – С кадра номер 0 у нас значение 1.01, идем вверх заметки с описанием эффектов и видим что значение больше 1 увеличивают изображение. Следовательно с самого начала у нас будет происходить увеличение картинки.

70:(0.99) – начиная с 70 кадра будет происходит удаление от объекта.

120:(1.00) – единица в параметре ZOOM означает ничегонеделание, поэтому эффект не будет применяться начиная со 120 кадра.

Остается нажать кнопку Generate и дождаться окончания создания видео.

Как видите у нас получилась интересная анимация, которая подойдет для социальных сетей. Вы молодец!

От автора

Данная заметка является адаптацией англоязычной инструкции. Была надежда по быстрому сделать перевод ,однако некоторые моменты оказались либо работают не так, как описано, либо результат у меня отличался. Надеюсь мои страдания не прошли даром и вы сможете с помощью Deforum сделать свое первое видео в стейбл дифьюжен!

Василий Григорьев

Привет, я автор этого сайта. Мое знакомство с компьютером началось в далекие 2000 когда Windows 98 была чем-то невероятным. А еще казалось что нажатие кнопки "Пуск" действительно что-то запустит... Готовы окунуться в мир технологий со мной?

Оцените автора
Блог Айтишнега
Добавить комментарий