Как использовать Stable Diffusion для создания AI GIF анимации и видео

Оглавление

Stable Diffusion может генерировать видео?

Как анимировать изображение с помощью Inpaint

Шаг 1: Выберите или создайте изображение, а также строку запроса

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

Шаг 3: Создайте новые кадры будущей анимации

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

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

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

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

Шаг 2: Напишите свои запросы

Шаг 3: Настройте параметры Deforum

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


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

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

Stable Diffusion может генерировать видео?

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

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

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

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

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

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

Смотрите также:

Как анимировать изображение с помощью Inpaint

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

Смотрите также:

Шаг 1: Выберите или создайте изображение, а также строку запроса

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

Смотрите также: Как писать хорошие запросы для Stable Diffusion

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

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

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

a robot stands in a field looking up at the night sky during a meteor shower, shooting stars, galaxies, the cosmos, milky way, ultra realistic, highly detailed, 4k uhd

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

Checkpoint: Stable Diffusion 2.0

Sampling Method: DPM++ SDE

Sampling Steps: 20

CFG Scale: 5

Seed: 4177542269

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

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

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

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

Шаг 3: Создайте новые кадры будущей анимации

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

  • Mask Mode: Inpaint Masked — это гарантирует, что всё покрытое будет изменено, а не наоборот. Если по какой-то причине вы хотите вместо этого изменить немаскированную часть, измените её на «Inpaint Not Masked».
  • Masked Content: Original — это гарантирует, что Stable Diffusion увидит и примет во внимание существующее изображение при создании вариантов. В противном случае он будет считать замаскированное содержимое пустым или рандомизированным холстом.
  • Inpaint Area: Whole Picture — это заставляет Stable Diffusion генерировать совершенно новое изображение для каждого кадра, прежде чем интегрировать его с исходным изображением. Переключение на «Only Masked» может ускорить генерацию, но также может привести к худшим результатам.
  • Sampling Method: DPM++ SDE — это тот же метод выборки, который мы использовали для создания исходного изображения, и мы придерживаемся его, чтобы обеспечить согласованность внешнего вида. Если вы не знаете, что использовать, «Euler a» — хороший выбор.
  • Batch Count: 60 — это количество изображений, которые вы хотите создать. Вам может понадобиться больше или меньше в зависимости от того, насколько быстрой и длинной будет ваша анимационная последовательность.
  • CFG Scale: 5 — Шкала CFG, в некотором смысле, определяет, сколько творческой свободы имеет Stable Diffusion. Чем выше число, тем более строго Stable Diffusion будет пытаться следовать му запросу. Чтобы увеличить его и получить хорошие результаты, нужно иметь очень хороший запрос.
  • Denoising Strength: 0.3 — возможно, самая важная настройка для этого проекта, шкала шумоподавления определяет, насколько Stable Diffusion изменит исходное изображение. Вы, вероятно, захотите оставить его на уровне 0,2 или 0,3, поскольку слишком большое изменение от кадра к кадру может испортить анимацию.
  • Seed: -1 — указывает, что Stable Diffusion нужно начинать со случайного начального числа. Мы не рекомендуем повторно использовать Seed из вашего исходного изображения, так как это уменьшит количество вариаций, которые вы получите (если они вообще будут).

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

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

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

Внутри Extras перейдите на вкладку «Batch Process».

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

Затем нажмите «Generate», и 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 убедитесь, что установлен флажок «Как анимация». Также отрегулируйте количество миллисекунд между кадрами, если вы хотите другую частоту кадров. В секунде 1000 миллисекунд, поэтому 100 дадут вам примерно 10 кадров в секунду. Наконец, нажмите «Экспорт».

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

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

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

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

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

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

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

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

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

Шаг 2: Напишите свои запросы

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

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

{
    "0": "a robot stands under the night sky during a meteor shower, shooting stars, galaxies, the cosmos, milky way, ultra realistic, highly detailed, 4k uhd",
    "40": "a space station flies through space during a meteor shower, ultra realistic, highly detailed",
    "80": "a supernova explodes, vibrant colors, ultra realistic, highly detailed"
}

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

Шаг 3: Настройте параметры Deforum

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

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

На вкладке «Output» мы установим флажок «Make GIF», который даст нам файл GIF в дополнение к видеофайлу MPEG. Здесь вы также можете добавить звук с помощью настроек «Add Soundtrack» и «Soundtrack Path», если они у вас есть.

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

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

Вот что нам дал наш запрос:

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

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

Смотрите также:


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo