Как использовать стабильную диффузию для создания AI GIF и видео

Опубликовано: 2023-02-20
Видеокамера, показанная Stable Diffusion.
Стабильная диффузия
Чтобы создать анимацию с помощью веб-интерфейса Stable Diffusion, используйте Inpaint, чтобы замаскировать то, что вы хотите переместить, а затем создать варианты, а затем импортировать их в средство создания GIF или видео. Кроме того, установите расширение Deforum для создания анимации с нуля.

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

Оглавление

Стабильная диффузия может генерировать видео?
Анимируйте изображение с помощью Inpaint
Шаг 1: Получите изображение и его приглашение
Шаг 2. Замаскируйте части для анимации с помощью InPaint
Шаг 3: Создайте свои кадры
Шаг 4. Пакетное масштабирование кадров (необязательно)
Шаг 5: Анимируйте кадры в GIF или Video Maker
Создание видео с помощью Deforum
Шаг 1: Установите расширение Deforum
Шаг 2: напишите свои подсказки
Шаг 3: Настройте параметры дефорума
Шаг 4: Создайте свое видео

Стабильная диффузия может генерировать видео?

Хотя создание фильмов с помощью ИИ все еще находится в зачаточном состоянии, технически возможно создать несколько простых анимаций с помощью Stable Diffusion либо в виде GIF, либо в виде реального видеофайла. Однако есть ограничения.

Поскольку img2img позволяет легко генерировать вариации определенного изображения, Stable Diffusion хорошо подходит для быстрого создания набора кадров для анимации, в частности циклической. Представьте пламя, вырывающееся из огня, вращающиеся колеса автомобиля или брызги воды в фонтане. Практическое применение может заключаться в придании реалистичности некоторым изображениям RPG:


Стабильная диффузия

Вы даже можете создавать видео на основе реальных изображений вместо синтетических. Здесь я сделал фото поливаемого растения и несколькими щелчками анимировал поток воды:


Джордан Глор / Стабильная диффузия

Если вы хотите анимировать объект так, чтобы он двигался из точки А в точку Б, это сложная задача для стабильной диффузии (по крайней мере, на данный момент). Скорее всего, вы потратите много времени на настройку подсказок и настроек, а затем просматриваете тонны вывода, чтобы найти лучшие кадры и расположить их в правильном порядке. В этот момент вы могли бы также вырваться из Adobe Illustrator и просто начать анимировать вручную.

Несмотря на это, вы можете сделать несколько крутых простых анимаций с помощью базовой настройки Stable Diffusion и другого инструмента по вашему выбору для объединения кадров в анимацию. Также существует проект под названием Deforum, который использует Stable Diffusion для создания «морфинговых» анимаций, которые выглядят довольно интересно. Он воспроизводит видео в формате MP4, поэтому никаких внешних инструментов не требуется, и даже позволяет добавлять звук. Мы покажем вам основы обоих методов.

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

Анимируйте изображение с помощью Inpaint

Используя инструмент img2img Inpaint, вы можете выделить часть изображения, которую хотите анимировать, и создать несколько ее вариантов. Затем вы поместите их в средство для создания GIF или видео и сохраните кадры как анимацию.

Шаг 1: Получите изображение и его приглашение

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

Если вы импортируете изображение, которое вы не создали с помощью Stable Diffusion, вам все равно потребуется соответствующее приглашение для создания вариантов, поэтому нажмите «Опросить CLIP» в верхней части страницы Img2Img. Это сгенерирует начальное приглашение на основе того, что, по мнению Stable Diffusion, содержит ваше изображение. Завершите подсказку, добавив любые другие важные детали.

Для нашего руководства мы сгенерировали изображение робота под ночным небом размером 512×512, которому мы хотим дать покадровую анимацию с пролетающими мимо падающими звездами и галактиками.

Робот стоит в поле под звездным небом.
Стабильная диффузия

Если вы хотите следовать точно, вы можете воссоздать его с помощью подсказки, которую мы использовали:

 робот стоит в поле и смотрит в ночное небо во время метеоритного дождя, падающие звезды, галактики, космос, млечный путь, ультрареалистично, высокая детализация, 4k uhd

И это настройки, которые мы использовали:

Контрольная точка: Стабильная диффузия 2.0

Метод выборки: DPM++ SDE

Шаги выборки: 20

Масштаб CFG: 5

Семя: 4177542269

Шаг 2. Замаскируйте части для анимации с помощью InPaint

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

В нашем примере мы покрываем большую часть неба. Мы оставили немного подушки вокруг робота, потому что в наших тестах, если мы подходили слишком близко, Stable Diffusion иногда добавляла роботу антенны и другие придатки.

Используйте кисть Inpaint, чтобы покрыть все части изображения, которые вы хотите анимировать.

Совет. Размер кисти Inpaint можно настроить с помощью ползунка, нажав кнопку кисти в правом верхнем углу холста.

Шаг 3: Создайте свои кадры

Теперь, когда вы замаскировали каждую часть изображения, которое хотите видеть движущимся, пришло время создать кадры нашей анимации. Но сначала вы должны убедиться, что у img2img правильные настройки. Они могут сбивать с толку, поэтому мы объясним, что означают некоторые из них и почему вы можете или не хотите их настраивать:

  • Режим маски: Inpaint Masked — это гарантирует, что все покрытое будет изменено, а не наоборот. Если по какой-то причине вы хотите вместо этого изменить немаскированную часть, измените ее на «Inpaint Not Masked».
  • Маскированный контент: исходный — это гарантирует, что Stable Diffusion увидит и примет во внимание существующее изображение при создании вариантов. В противном случае он будет считать замаскированное содержимое пустым или рандомизированным холстом.
  • Inpaint Area: Whole Picture — это заставляет Stable Diffusion генерировать совершенно новое изображение для каждого кадра, прежде чем интегрировать его с исходным изображением. Переключение на «Только по маске» может ускорить генерацию, но также может привести к худшим результатам.
  • Метод выборки: DPM++ SDE — это тот же метод выборки, который мы использовали для создания исходного изображения, и мы придерживаемся его, чтобы обеспечить согласованность внешнего вида. Если вы не знаете, что использовать, «Euler a» — хороший выбор.
  • Количество пакетов: 60 — это количество изображений, которые вы хотите создать. Вам может понадобиться больше или меньше в зависимости от того, насколько быстрой и длинной будет ваша анимационная последовательность.
  • Шкала CFG: 5 — Шкала CFG, в некотором смысле, определяет, сколько творческой свободы имеет Stable Diffusion. Чем выше число, тем более строго Stable Diffusion будет пытаться следовать вашей подсказке. Чтобы увеличить его и получить хорошие результаты, нужно иметь очень хорошую подсказку.
  • Сила шумоподавления: 0,3 — возможно, самая важная настройка для этого проекта, шкала шумоподавления определяет, насколько Stable Diffusion изменит исходное изображение. Вы, вероятно, захотите оставить его на уровне 0,2 или 0,3, поскольку слишком большое изменение от кадра к кадру может испортить анимацию.
  • Seed: -1 — указывает, что Stable Diffusion нужно начинать со случайного начального числа. Мы не рекомендуем повторно использовать семя из вашего исходного изображения, так как это уменьшит количество вариаций, которые вы получите (если они вообще будут).

Установив все настройки, нажмите «Создать» и расслабьтесь, пока Stable Diffusion рисует для вас кадры анимации. Вы найдете их в папке /outputs/img2img-images вашего каталога Stable Diffusion. Если вам не нравятся результаты, измените настройки (возможно, начиная с уровня шумоподавления и шагов сэмплирования) и повторите попытку.

Шаг 4. Пакетное масштабирование кадров (необязательно)

Если вы планируете создавать видео высокой четкости, не забудьте масштабировать все вновь созданные кадры до желаемого разрешения. Нажмите «Отправить в дополнительные материалы», чтобы начать.

Внутри Extras перейдите на вкладку «Пакетная обработка».

Отрегулируйте масштаб «Изменить размер» на количество раз, которое вы хотите изменить (при установке значения 2 изображения 512 × 512 будут изменены на изображения 1024 × 1024). Либо переключитесь с «Масштабировать на» на «Масштабировать до» и установите определенное разрешение. Также установите «Upscaler 1» на апскейлер по вашему выбору. У нас были достаточно хорошие результаты с R-ESRGAN 4x+, но не стесняйтесь экспериментировать, чтобы увидеть, какой из них лучше всего справляется с вашими изображениями.

Затем нажмите «Создать», и Stable Diffusion предоставит вам версию каждого кадра с более высоким разрешением, сохраненную в вашей папке /outputs/extras .

Шаг 5: Анимируйте кадры в GIF или Video Maker

Теперь, когда у вас есть кадры, пришло время соединить их вместе и создать окончательную анимацию. Есть много инструментов, с помощью которых вы можете сделать это, в том числе бесплатные специализированные веб-сайты, такие как Ezgif и flixier, которые просты в использовании и имеют множество точных настроек. Однако помните, что эти веб-сайты могут видеть все, что вы загружаете, поэтому не давайте им ничего, о чем вам не нравится мир.

Хотя эти веб-сайты говорят сами за себя, мы покажем, как использовать бесплатный инструмент для редактирования фотографий в автономном режиме, GIMP, для создания GIF. Если вам нужен видеофайл, используйте вместо этого Kdenlive или аналогичный видеоредактор — просто убедитесь, что вы настроили настройки так, чтобы все ваши кадры импортировались как клипы продолжительностью в одну секунду или короче, в зависимости от того, сколько кадров в секунду вы хотите.

Для начала загрузите GIMP и установите его на свой компьютер, если вы еще этого не сделали. Запустите его, затем выберите «Файл» > «Открыть как слои».

Найдите, где находятся созданные вами кадры, и выберите их все сразу, прежде чем нажимать «Открыть». (Удерживайте клавишу Shift, чтобы быстро выбрать несколько файлов.) GIMP импортирует все ваши изображения как отдельный слой на один холст. Мы хотим этого, потому что способ генерации GIF в GIMP заключается в том, чтобы пройти каждый слой снизу вверх, обрабатывая каждый последующий слой как следующий кадр в анимации.

Теперь самое интересное. Чтобы просмотреть предварительный просмотр вашего GIF, выберите «Фильтры» > «Анимация» > «Воспроизведение».

Нажмите пробел, чтобы воспроизвести и приостановить GIF. Если кадры идут слишком быстро или медленно, отрегулируйте FPS в нижней части диалогового окна воспроизведения и нажмите кнопку обновления вверху, чтобы перезагрузить предварительный просмотр с новой частотой кадров.

Как только анимация выглядит хорошо, пришло время создать файл GIF. Закройте предварительный просмотр и нажмите «Файл» > «Экспортировать как». Когда вы вводите имя сохранения файла, добавьте расширение .gif в конец, чтобы GIMP знал, что вы хотите GIF.

Добавьте «.gif» к имени файла при экспорте в GIMP.

В появившемся диалоговом окне экспорта GIF убедитесь, что установлен флажок «Как анимация». Также отрегулируйте количество миллисекунд между кадрами, если хотите другую частоту кадров. В секунде 1000 миллисекунд, поэтому 100 дадут вам примерно 10 кадров в секунду. Наконец, нажмите «Экспорт».

Бум, у вас есть полный анимированный GIF.


Создание видео с помощью Deforum

Если вы хотите создавать более интересные анимации с помощью Stable Diffusion и получать видеофайлы, а не просто набор кадров, с которыми вы можете работать, используйте Deforum. Это проект синтеза изображений с расширением, доступным для веб-интерфейса Stable Diffusion, которое позволяет направлять и создавать видеофайлы MP4 даже со звуком. Это очень мощный и сложный инструмент с множеством настроек для экспериментов, включая панорамирование и масштабирование камеры, несколько подсказок и импорт видео.

Для наших целей мы просто познакомим вас с основами создания довольно простой, но интересной анимации.

Шаг 1: Установите расширение Deforum

Чтобы получить расширение Deforum, откройте командную строку и перейдите в папку stable-diffusion-web-ui . Затем используйте эту команду git clone, чтобы установить Deforum в папку с расширениями.

 клон git https://github.com/deforum-art/deforum-for-automatic1111-webui extensions/deforum

Запустите веб-интерфейс Stable Diffusion как обычно и откройте вкладку Deforum, которая теперь находится в вашем интерфейсе.

Совет: расширение Deforum поставляется с готовыми настройками по умолчанию, поэтому вы можете сразу же нажать кнопку «Создать», чтобы создать видео, в котором кролик превращается в кошку, затем в кокос, а затем в дуриан. Довольно круто!

Шаг 2: напишите свои подсказки

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

Перейдите на вкладку «Подсказки» и измените существующие подсказки на все, что хотите, сохранив структуру скобок и вкладок на месте. В нашем примере мы будем использовать этот набор подсказок:

 {
    "0": "робот стоит под ночным небом во время метеоритного дождя, падающие звезды, галактики, космос, млечный путь, сверхреалистично, с высокой детализацией, 4k uhd",
    «40»: «космическая станция летит в космосе во время метеоритного дождя, сверхреалистично, с высокой детализацией»,
    «80»: «взрыв сверхновой, яркие цвета, сверхреалистичность, высокая детализация».
}

Так что же означают эти цифры? По умолчанию Deforum генерирует 120 кадров для вашей анимации, и мы делим этот набор кадров на три части. 0 означает первый кадр, поэтому он и все кадры после него будут im2img вариациями первого приглашения. Затем в кадре 40 Stable Diffusion начнет вносить изменения в зависимости от нашей второй подсказки. В 80 переключается на третью. Вы можете добавить столько подсказок, сколько хотите, и настроить максимальное ограничение кадров на вкладке «Ключевые кадры» по мере необходимости.

Шаг 3: Настройте параметры дефорума

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

На вкладке «Выполнить» измените пробоотборник, семена и имя партии на нужные вам параметры.

На вкладке «Ключевые кадры» вы можете настроить движение «камеры» для анимации. По умолчанию установлено масштабирование с интервалами, но мы хотим добавить вертикальное «панорамирование», поэтому добавим 0:(-2), 100:(4) к кадру «Перевод Y». Это говорит Deforum обработать первый кадр как находящийся в пикселе -2 по оси Y, а затем к 100 кадру перейти к пикселю 4. Это даст нам небольшое панорамирование вверх по мере продвижения анимации.

Введите значения в поле «Перевод Y», если вы хотите, чтобы вид анимации менялся по вертикали.

На вкладке «Вывод» мы установим флажок «Создать GIF», который даст нам файл GIF в дополнение к видеофайлу MPEG. Сюда же можно добавить звук с помощью настроек «Добавить саундтрек» и «Путь к саундтреку», если они у вас есть.

На вкладке «Вывод» установите флажок «Создать GIF», если вам нужен файл GIF.

Шаг 4: Создайте свое видео

Наконец, нажмите на большую кнопку «Создать». Так как Дефорум создает и склеивает много кадров, это займет время, так что возьмите кофе, пока ждете. Когда это будет завершено, вы найдете файл MPEG, версию GIF, а также каждый отдельный кадр и показания настроек, которые вы использовали, под именем пакета в вашем каталоге /outputs/img2img-images .

Вот что нам дало наше приглашение:

Это не летний блокбастер, но все равно завораживает! Ознакомьтесь с официальным кратким руководством Deforum, чтобы узнать обо всех других ручках и циферблатах, которые вы можете настроить.


Если вы ищете другие интересные проекты ИИ, узнайте, как создавать пакеты текстур Minecraft с помощью Stable Diffusion или начните работу с ChatGPT, а также о том, какие удивительные вещи вы можете делать с помощью ChatGPT.