«Через 10 лет нам всем шибздец». Такой комментарий я встретил под своим предыдущим постом, когда пытался провести эксперимент: написать песню на русском и сделать видео при помощи нейронных сетей. И я задумался: а что, если сравнить процесс создания моушн-дизайна человеком и генерации видео нейронными сетями под конец этого года? Сколько времени это занимает, из каких этапов состоит процесс и какова стоимость? Может быть, не все так однозначно, или, наоборот, не нужно ждать целых 10 лет. Вы сможете увидеть результат созданной анимации человеком и искусственным интеллектом из одной и той же картинки, чтобы сделать выводы самостоятельно.
Зачем вообще мне нужна анимация? Как то одним прохладным зимним днем, мне пришла идея для моего проекта с открытым исходным кодом «Нейронное радио», ввести персонажа в стиле Lofi Girl, Chill Out и подобных других жанров, в жизни которого будут развиваться различные истории и олицетворять будни программиста. При каждом запуске сервиса жизнь персонажа будет меняться в зависимости от времени суток или сезона. И с такой большой целью, я принялся за дело. Дело, которое начал с поисков моушн-дизайнера, а потом уже и способов сделать результат быстрее и самостоятельно.
Начнем с нейронных сетей? Да!
В предыдущей статье я кратко описывал процесс создания анимации. Сейчас я хочу более подробно рассказать о нем. Например, вся анимация в этом плейлисте была создана с помощью нейронных сетей или в комбинации с видео редактором с открытым исходным кодом Kdenlive для монтажа видео. Не забудьте послушать музыкальные композиции с текстом и без него, чтобы оценить прогресс нейронных сетей в создании музыки. Но, вернемся к анимации.
Не секрет, что создание анимации (в случае использования нейронных сетей получается именно анимация, а не моушн-дизайн) начинается с общего изображения. Я создал изображения в Stable Diffusion 1.5, используя модель Ghibli для txt2img. Это важно, так как нам потребуется именно модель Ghibli в будущем, а не Lora. Однако, в качестве дополнения к основной модели, я использовал Lora для времен года, чтобы проще генерировать сезон для исходного изображения. В дальнейшем модель Lora использоваться не будет.
![Параметры для генерации Параметры для генерации](https://webcf.waybackmachine.org/web/20240105195206/https://habrastorage.org/getpro/habr/upload_files/200/20f/0ed/20020f0edb6b27d70f0600e7498ff844.png)
![Полученное изображение Полученное изображение](https://webcf.waybackmachine.org/web/20240105195206/https://habrastorage.org/getpro/habr/upload_files/a56/a1b/42f/a56a1b42fdd07809156f1ba95c81ff5b.png)
У нас есть исходное изображение, которое мы загружаем в Gen-2. В основном, мы не можем контролировать то, что именно анимирует Gen-2: движение головы, рук, окружения за окном или голову корги, если не упрощаем наш запрос до 2-5 слов. Тем не менее, при помощи инструмента Motion Brush мы можем контролировать движение камеры по разным осям, как я делал для этого видео.
![Окно создания анимации Окно создания анимации](https://webcf.waybackmachine.org/web/20240105195206/https://habrastorage.org/getpro/habr/upload_files/1af/381/a20/1af381a20d4e2549ac889408906f6338.png)
![Окно настройки движения камеры Окно настройки движения камеры](https://webcf.waybackmachine.org/web/20240105195206/https://habrastorage.org/getpro/habr/upload_files/bcd/39f/598/bcd39f59877ddce0f1532fe14801befc.png)
![Библиотека созданных анимаций Библиотека созданных анимаций](https://webcf.waybackmachine.org/web/20240105195206/https://habrastorage.org/getpro/habr/upload_files/e2c/32d/4be/e2c32d4be05eb26b11cfd1ffe64f36b6.png)
При первой регистрации количество кредитов будет достаточным для создания 1-2 видео в стиле Lofi Girl. Однако, не все так просто: если использовать Extend, анимация будет искажаться все больше и больше.
![Последний кадр в первой анимация в 4 секунды Последний кадр в первой анимация в 4 секунды](https://webcf.waybackmachine.org/web/20240105195206/https://habrastorage.org/getpro/habr/upload_files/0fb/6ad/7e5/0fb6ad7e53e8c847853e314ac581f706.png)
![Последний кадр в Extend в 8 секунд Последний кадр в Extend в 8 секунд](https://webcf.waybackmachine.org/web/20240105195206/https://habrastorage.org/getpro/habr/upload_files/de3/9df/8d7/de39df8d7a9da4d7b844f721146be5a5.png)
![Последний кадр в Extend в 12 секунд Последний кадр в Extend в 12 секунд](https://webcf.waybackmachine.org/web/20240105195206/https://habrastorage.org/getpro/habr/upload_files/0e2/15c/66c/0e215c66c83ffc13985d532b5003bd98.png)
И, казалось бы, после первого Extend анимация становится браком! Но нет, у нас есть предфинальный этап, который помогает исправить ситуацию.
![Панель обработки видео Панель обработки видео](https://webcf.waybackmachine.org/web/20240105195206/https://habrastorage.org/getpro/habr/upload_files/9ab/22a/59a/9ab22a59aa8e13f13e7b9ea725a2ae0e.png)
Зачем это нужно? Поскольку с каждой последующей генерацией Gen-2 анимация отдаляется от первоначального стиля, нам необходимо вернуть все кадры к общему стилю студии Ghibli. Для этого у нас есть модель, которая использовалась для генерации исходного изображения. Инструкции по использованию собственных моделей в Wunjo AI вы найдете в этой статье.
Мы добавляем исходный промпт, устанавливаем небольшой коэффициент изменений, чтобы каждый кадр соответствовал начальному изображению (это настраивается индивидуально для каждого видео). Задаем параметры: насколько новый кадр должен соответствовать описанию (от 7 до 15), и интервал, на котором берутся новые кадры для анимации (индивидуально от 10 до 40). Программа выбирает кадры с заданным интервалом, генерирует img2img, используя ControlNet, GMFlow, итд, подробно описано в этой статье. Затем, с помощью EbSynth и GMFlow, объединяются исходные кадры с новыми, чтобы они имели одинаковый, нужный нам стиль.
Заключительный штрих - объединение коротких видео, создание реверса для увеличения временного интервала и создания петли (loop). Посмотрим внимательно на результат.
И так, что имеем?
Такие выводы я сделал конкретно в моем кейсе:
Достоинства | Недостатки |
Быстро и бесплатно | Нельзя в полной мере контролировать анимацию |
Новая анимация при каждом новом запуске | Анимируется не более 1-2 объектов за раз |
Можно контролировать движение камеры | Пальцев лишних не бывает, но не в нашем случае |
Движение головы и объектов, недоступные для моушн-дизайнера | Возможны искажения объектов и цвета, после чего анимация может быть неисправима |
* Универсальность |
На создание данной анимации у меня ушло 4 часа, причем 90% времени я провел, слушая музыкальные треки, в то время как анимация обрабатывалась в Gen-2 и Wunjo AI. Под универсальностью подхода я понимаю его применимость не только для создания анимированных персонажей, но и для видеофрагментов в различных стилях: от кинематографии до 3D. Например, музыкальный клип, созданный нейронными сетями.
Моушн-дизайнер
Поскольку я не занимаюсь моушн-дизайной, я поделюсь с вами информацией, полученной от профессионала в данной области для этой статьи, который занимался решением этого кейса. При этой, если вы имеете свой опыт в моушн дизайне и заметили не точности, обязательно напишите об этом в комментарии.
Процесс работы над анимацией моушн-дизайнера начинается с подготовки иллюстрации к анимации, где используются программы Photoshop и Procreate. Основная цель этой части работы - создать фоновые элементы. Для этого происходит удаление персонажа из сцены, замена вида из окна и заполнение пустоты мест. Кроме того, для создания анимации участники изображения разбиваются на отдельные слои: собака вырезается на отдельный слой, а парень дробится на несколько частей - голова, волосы, глаза, рот, шея, тело, руки и кисти. Такой подход позволяет дальше анимировать каждый элемент более детально. Времени на этот этап моушн-дизайнер потратил 4 часа упорной работы без отрыва от экрана.
Далее, анимация переходит в программу After Effects, где начинается непосредственное создание анимации. Фон анимируется, включая эффекты, такие как падающий снег за окном, мерцающие лампочки на заднем фоне, отблески от монитора и свет от лампы, чтобы создать атмосферу и придать сцене живость.
Анимация собаки также детально прорабатывается: добавляются элементы дыхания, подрагивания ушей и лампы, что придает ей реалистичность и живой характер.
В процессе работы с персонажем проводится анимация различных частей его тела: моргание, движение волос, губ, тела, рук и кистей, что помогает создать естественные движения и живость в образе персонажа.
Таким образом, каждый элемент анимации тщательно прорабатывается и детализируется для достижения высокого уровня реализма и выразительности в итоговой анимированной сцене. И второй этап, это еще 4 часа упорной работы.
И, посмотрим на результат ручной работы.
И так, что имеем?
Выводы, которые я сделал в этом кейсе:
Достоинства | Недостатки |
Моушн-дизайнер способен полностью контролировать анимацию объектов, учитывая при этом пожелания заказчика | Хотя можно было бы сказать, что моушн-дизайнер работает быстро, однако, как и у других специалистов, у него имеется определенная загруженность заказами, поэтому финальный результат может потребовать несколько дней ожидания |
Возможность анимировать любое количество объектов одновременно без их искажения | Уровень детализации и качество отрисовки анимации зависят от уровня навыков и качества исходного кадра, например, посмотрите на эти ручки Т-Рекса |
Отсутствие искажения цветов в процессе анимации | Ограничения возможности контроля движений камеры в полной мере, что может быть достигнуто при использовании нейронных сетей, способных дорисовывать фрагменты кадра |
Невозможность реализации сложных поворотов головы и движений объектов, так как это потребовало бы создания нового кадра объекта, а не добавления движения к вырезанной части |
Любая работа должна оплачиваться. В данном случае, стоимость услуг составила 1500 рублей, что не подпадает ни под достоинства, ни под недостатки, а остается частью процесса выполнения заказа. При этом стоимость анимации, зависит от моушн-дизайнера: вы найдете предложения по 2500 рублей, и даже по 15000 рублей за одинаковый тайминг.
Мои собственные выводы
Мне понравилась глубокая проработка работы моушн-дизайнера. Однако, при выборе между моушн-дизайнером и использованием нейронных сетей, я бы задумался и уже сейчас принимал решение на основе конкретного кейса и сложности желаемого конечного результата. Например, насколько важно, чтобы объекты анимировались без искажений или были активны несколько объектов в кадре одновременно. Еще одним важным фактором является бюджет и время, которое я готов потратить на ожидание конечного результата.
В качестве обычного пользователя, я получил результат, не обладая специальными знаниями и навыками в области моушн-дизайна и видеоредактирования. В данной статье я обязательно оставлю ссылочки на моушн-дизайнера здесь и здесь, который выполнил свою часть работы, и оставлю за вами решение. Соответствует ли вашим ожиданиям анимация, созданная с использованием нейронных сетей? Может ли моушн-дизайнер успешно сочетать использование нейронных сетей для анимации с программами, которые он обычно использует, и приведет ли это к более интересным результатам? Ответы на эти вопросы могут иметь значительное значение для окончательного решения. И придём ли в итоге «нам всем шибздец»?