Если несколько предметов, постоянно меняющих форму и положение, будут последовательно возникать перед глазами через очень короткие промежутки времени и на маленьком расстоянии друг от друга, то изображения, которые они вызывают на сетчатке, сольются, не смешиваясь, и человеку покажется, что он видел предмет, постоянно меняющий форму и положение. Жозеф Плато, август 1833 года В недавней статье мы рассказали о возможности создания анимированных видеороликов на основе комбинации синтеза изображений и различных способов преобразования этих изображений (сдвиги в стороны, масштабирование и т. д.). Сегодня же речь пойдёт про нашу новую технологию синтеза полноценного видео по текстовому описанию, которую мы назвали Kandinsky Video (для затравки пара примеров приведена на рисунке 1). Хочется обратиться к истории и вспомнить, как в 1832 году Жозеф Плато изобрёл фенакистископ — прибор, который позволял демонстрировать эффект движения на основе набора кадров. Это было особенно занимательно, ведь в то же время исследовались фазы движения человека. Вместе эти исследования позволили передавать инерцию движения через набор картинок, характеризующих фазовые переходы. Через полвека различных экспериментов и изобретений мы плавно подошли к новому открытию, которое стало считаться началом современного кинематографа — братья Люмьер в 1883 году придумали новый способ регистрации аналогового изображения на специальных желатиновых пластинах со слоем бромидом серебра. Люмьеры придумали и такой способ съёмки, как тревеллинг, или движение камеры вместе с объектом. Бурное развитие технологий съёмки позволило создавать первые кинофильмы, сцены становились сложнее, появлялись спецэффекты и многое другое. Это очень хорошая аналогия с тем исследовательским процессом, который проходит наша команда в области генеративного искусственного интеллекта: от создания комбинаций изображений и эффектов имитации движения до генерации фаз движения различных объектов.  Результатом проведённых за последние полгода исследований стала единая двухэтапная архитектура синтеза видео по текстовым описаниям, о которой я и расскажу далее. Сразу предупрежу, что сейчас мы находимся на первом витке развития таких способов генерации видео (как когда-то были на одной ступени Kandinsky 1.0 и DALL·E), поэтому о высоком качестве результата речь пока не идёт. Тем не менее, степень согласованности кадров на видео, визуальное качество объектов на ключевых кадрах, а также автоматические метрики позволяют утверждать, что наше решение сейчас является одним из лучших в мире. Более того, Kandinsky Video — первая в России архитектура полного цикла синтеза видео по тексту. Архитектура Kandinsky Video основана на латентной диффузии, о чём подробно описано в статье на arXiv. Разработанная модель представляет из себя двухэтапную процедуру:  Генерация ключевых кадров для управления основной сюжетной линией видео. Синтез интерполяционных кадров позволяет улучшить плавность движений объектов благодаря генерации дополнительных кадров. Такое разделение на этапы позволяет сохранять согласованность с текстовым описанием на протяжении всего видео как по содержанию, так и по динамике. В итоге наша модель способна генерировать по тексту согласованное по времени видео в разрешении 512 × 512 пикселей. На рисунке 2 первый этап выделен зелёным цветом, а второй — оранжевым. Чтобы сосредоточиться на ключевых особенностях, я исключил из описания текстовый энкодер и декодер на основе хорошо зарекомендовавшего себя декодера изображений MoVQ-GAN (используем его со времён Kandinsky 2.1, даже есть отдельная статья),. В таблице 1 приведено сравнение количества параметров компонентов архитектуры. Таблица 1. Количество параметров в компонентах архитектуры.  Text Encoder T2I part Temporal part Total Keyframe Generator 8,6 млрд 3 млрд 1 млрд 12,9 млрд Interpolation Model - 3 млрд 831 млн 3,9 млрд Sber-MoVQGAN video decoder - 160 млн 395 млн 556 млн Генерация ключевых кадров основана на предобученной латентной диффузионной модели text-to-image Kandinsky 3.0. При синтезе ключевых кадров мы используем веса модели для инициализации пространственных слоёв. При этом в архитектуру добавляются специальные блоки для учёта темпоральных связей. Во всех экспериментах мы замораживаем веса U-Net Kandinsky 3.0 и обучаем только темпоральные компоненты. В рамках общей архитектуры нам удалось исследовать два принципиально различных способа учёта корреляции кадров во времени:  с помощью темпоральных свёрточных слоёв и слоёв темпорального внимания; с помощью темпоральных блоков. Первый тип работы с темпоральной размерностью был широко представлен в предыдущих зарубежных работах по text-to-video. А второй подход, который собственно и позволил добиться высоких качественных показателей, является нашей оригинальной разработкой. Мы рассмотрели три типа темпоральных блоков, и все они, спойлер, превзошли по качеству традиционный подход со слоями, но об этом далее. Схемы всех методов изображены на рисунке 3. Синтез интерполяционных кадров позволяет добиться плавности генерируемых движений. В противном случае после первого этапа мы получили бы просто слайд-шоу. Мы применяем интерполяцию в латентном пространстве, чтобы предсказать набор из трёх кадров между каждой парой последовательных ключевых кадров. Если кратко: входные свёрточные слои принимают три зашумлённых латентных тензора, соответствующих интерполированным кадрам, и пару ключевых кадров по бокам. На выходе свёртки расшумляют интерполированные кадры. Приходится адаптировать базовую модель генерации изображений с помощью добавления темпоральных свёрток после каждой пространственной свёртки (рисунок 4). Для обучения моделей генерации ключевых и интерполяционных кадров мы собрали набор из 220 тысяч пар текст-видео. Тестировали разрабатываемую модель на двух бенчмарках: UCF-101 (набор видео, содержащих различные действия и полнотекстовые описания этих действий) и MSR-VTT (набор описаний видеороликов). Для обучения декодера мы используем 80 тысяч видео из внутреннего набора данных, а тестируем модель на одной из частей набора Vimeo90k. В задаче обучения на этапе интерполяции мы прореживаем кадры со случайным количеством пропускаемых кадров. Для обучения декодера используются последовательности, состоящие из 8 кадров. Как и в других работах по анализу качества синтеза видео, мы выбрали следующие показатели оценки качества: Frechet Video Distance (FVD), Inception Score (IS) и CLIPSIM. FVD помогает оценить точность сгенерированного видео. Метрика IS оценивает качество и разнообразие отдельных кадров. CLIPSIM оценивает близость текста и видео. Для расчёта FVD мы используем механику, предложенную в работе Google Brain. IS не имеет унифицированного подхода к расчёту, поэтому мы вычисляем значение метрики на 2048 видео, взяв первые 16 кадров из каждого. Мы сравнили предыдущие модели с нашими, обученными на 100 тысячах шагов, после чего выбрали лучшую из наших моделей и дообучили её ещё до 220 тысяч шагов. Результаты, которые мы получили: Таблица 2. Результаты генерации text-to-video на наборах UCF-101 и MSR-VTT. Модель Генерация zero-shot  FVD (лучше — ниже) CLIPSIM (лучше — выше) IS (лучше — выше) Проприетарные модели GoDIVA — — 0,2402 — Nuwa — — 0,2439 — Magic Video — 699,00 — — Video LDM — 550,61 0,2929 — Make-A-Video + 367,23 0,3049 33,00 Open source модели LVDM — 641,80 — — ModelScope — — 0,2930 — LaVie — 526,30 0,2949 — CogVideo (Chinese) + 751,34 0,2614 23,55 CogVideo (English) + 710,59 0,2631 25,27 Kandinsky VideoConv1dAttn1dLayers (100k) + 659,61 0,2827 19,66 Kandinsky VideoConv1dAttn1dlBlocks (100k) + 545,18 0,2955 23,06 Kandinsky VideoConv1dAttn3dlBlocks (100k) + 573,57 0,2956 23,38 Kandinsky VideoConv3dAttn1dlBlocks (100k) + 594,92 0,2953 22,90 Kandinsky VideoConv1dAttn1dlBlocks (220k) + 433,05 0,2976 24,33 Из таблицы 2 видно, что темпоральные блоки превосходят по качеству темпоральные слои, внедрённые в блоки предобученных пространственных слоёв. Кроме того, наша лучшая модель заняла второе место с точки зрения CLIPSIM и FVD и первое место среди open source-решений. Что касается IS, то здесь хотелось бы заметить, что относительно более низкие показатели для этой метрики могут быть объяснены неоднозначностями в её оценке. В существующей литературе отсутствует подробная информация о методологиях, используемых для расчёта IS для видео, в том числе в тех работах, с результатами которых мы сравнивали. Мы также оценили качество нашего метода интерполяции, сравнив его с методом Masked Frame Interpolation (MFI), описанным в известной статье от NVIDIA. Мы сравнили 2048 видео и получили, что качество нашей интерполяции превосходит упомянутый метод и достигает 24,325 IS и 433,054 FVD против 23,371 IS и 550,932 FVD у MFI соответственно. Мы также провели качественное side-by-side сравнение наших подходов для учёта темпоральной информации с помощью темпоральных слоёв и трёх типов темпоральных блоков (рисунок 3). Для этого мы создали бота, который каждый раз демонстрировал одну из 6600 пар видео для 31 человека. Каждый участник выбирал лучшее из двух видео с точки зрения:  качества отдельных кадров,  соответствия тексту, временной согласованности.  На рисунке 6 приведены результаты качественного сравнения. Результаты моделей, включающих в себя наши темпоральные блоки, нравятся значительно чаще. Рисунок 6. Результаты качественного side-by-side сравнения. Основную нагрузку на вычислительные ресурсы возлагает этап интерполяции. Поэтому мы также сравнили длительность инференса для нашей модели интерполяции и уже упомянутого выше метода MFI, и выяснили, что наш метод справляется с генерацией полноценного видео из 241 кадра с 30 FPS менее чем за 3 минуты — более чем в три раза быстрее, чем MFI. Рисунок 7. Сравнение длительности инференса для нашего метода интерполяции и метода Masked Frame Interpolation. Итак, напоследок представляю вашему вниманию немного красивых и залипательных видеогенераций: В этой статье мы описали нашу новую архитектуру Kandinsky Video на основе модели Kandinsky 3.0 для генерации видео по тексту. Наша модель побеждает с точки зрения FVD и CLIPSIM среди моделей с открытым исходным кодом. Безусловно, сейчас путь в области синтеза видео только начинается, но первый шаг, на мой взгляд, получился достаточно широким. Можно представить, что в скором будущем мы уже будем смотреть фильмы, синтезированные с помощью AI, часть спецэффектов может быть заменена на генеративные, актёры могут быть созданы с точностью до деталей, которые хочет видеть режиссёр, и многое другое. Самые сложные сцены в кинематографе (свободное падение, замедленная съёмка и др.) можно будет реализовывать на домашнем ПК с доступом в интернет. С точки зрения исследований, впереди у нас огромный ряд задач, связанных как с повышением качества кадров, так и с улучшением динамичности и плавности движений, в том числе за счёт исследования способов обучения модели физике движения тел. В недалёком будущем мы расскажем о ещё одном исследовательском направлении, которое удалось успешно прокопать за последние пару месяцев. Следите за новостями на каналах CompleteAI, AbstractDL, Dendi Math&AI и на канале Сергея Маркова. Модель Kandinsky Video разработана и исследована командой Sber AI при партнёрской поддержке учёных из Института искусственного интеллекта AIRI на объединённом наборе данных Sber AI и компании SberDevices. Коллектив авторов: Владимир Архипкин, Зейн Шахин, Вячеслав Васильев, Анастасия Мальцева, Игорь Павлов, Михаил Шойтов, Юлия Агафонова, Арсений Шахматов, Саид Азизов, Сергей Нестерук, Анастасия Лысенко, Ангелина Куц, Татьяна Паскова, Сергей Марков, Андрей Кузнецов и Денис Димитров. По всем возникающим вопросам и предложениям по развитию модели, добавлению новых возможностей и сотрудничеству в части использования наших разработок можно писать Денису или Андрею. FusionBrain.ai Сайт проекта Telegram-бот rudalle.ru GitHub Статья про Kandinsky 3.0 Статья на arXiv  Computer Vision Team Lead