Введение
В ноябре прошлого года наша команда представила свою первую разработку в области генерации видео по тексту – модель Kandinsky Video, основанную на модели генерации изображений Kandinsky 3.0, по которой мы недавно выпустили обновление – версию 3.1 (о чем можно почитать здесь). Первая видеомодель уже обладала весьма достойным качеством, сравнимым с лучшими мировыми решениями на тот момент. Нам удалось прокачать скорость генерации и моделирование динамики, но главное – мы вступили в новую для себя область генеративного искусственного интеллекта и быстро достигли в ней заметных результатов. Тогда, полгода назад, о подобных моделях знали в основном лишь те, кто так или иначе интересуется областью генеративного искусственного интеллекта. Сегодня же ситуация изменилась – благодаря значительному росту качества генерации видео за последний период, о существовании подобных моделей не слышал только ленивый. Разумеется, такой вход новых технологий в нашу жизнь стал возможным именно благодаря тем исследованиям, которые сообщество проводило за последние полтора года и в которые исследователи из нашей команды включились практически сразу. Наиболее яркими результатами данных исследований являются такие модели как SORA, Vidu и Veo. Open Source хоть и продвигается меньшими темпами, но также имеет своих достойных представителей: Latte, Stable Video Diffusion.
Сегодня мы представляем следующую версию нашей модели генерации видео по тексту – Kandinsky Video 1.1. Мы учли последние тенденции в области разработок видеомоделей и сделали нашу технологию еще более впечатляющей, проведя собственные исследования в области архитектур, обработки данных и замере показателей качества, которые мы опишем ниже.
Модель Kandinsky Video 1.0 генерировала видео в два этапа:
Генерация базовых кадров в низком FPS=2.
Генерация интерполированных кадров между базовыми для получения финального видео с высоким FPS=32.
В Kandinsky Video 1.1 мы дополнительно разбили первый этап на две части:
Генерация первого кадра при помощи Kandinsky 3.0.
Генерацияю базовых кадров, обусловленных первым кадром.
Текстовый запрос для обеих частей используется одинаковый. Данный подход позволил улучшить связность сгенерированных кадров и поднять визуальное качество получаемого видео. Также модель получила возможность анимировать произвольную картинку. В данной статье мы подробно описываем все обновления Kandinsky Video 1.1, включая подготовку и обработку данных, которые позволили значительно повысить качество генераций в сравнении с прошлой версией.
Краткое изложение Kandinsky Video 1.0
Архитектура Kandinsky Video 1.0 основана на латентной диффузии и, как мы уже писали выше, состоит из двух моделей:
Модель генерации базовых кадров, представляющую из себя модель генерации картинок Kandinsky 3.0 с дополнительными темпоральными слоями, связывающими генерируемые картинки в единую последовательность кадров. В ходе обучения веса Kandinsky 3.0 оставались замороженными для сохранения моделью всех знаний, полученных в ходе обучения на датасете картинок.
Модель интерполяции, генерирующая промежуточные кадры между базовыми. Архитектурно это та же модель, что и в прошлом пункте, но с дополнительным обусловливанием на базовые кадры.
Описание архитектуры и различных особенностей модели
Kandinsky Video 1.1 также основана на латентной диффузионной модели генерации картинок Kandinsky 3.0. Так же, как и в Kandinsky Video 1.0, мы получаем модель генерации видео путём встраивания дополнительных слоёв в Kandinsky 3.0, которые связывают независимые картинки в единую последовательность кадров. Дополнительно мы модифицировали входной слой Kandinsky 3.0 для обусловливания на первый кадр видео.
Общий пайплайн генерации:
Генерация первого кадра по текстовому запросу при помощи Kandinsky 3.0.
Генерация базовых кадров по тому же текстовому запросу и дополнительным условием на первый сгенерированный кадр. В качестве дополнительного условия можно передать значение motion score — параметр, отвечающий за динамику движений.
Генерация интерполированных кадров улучшенной моделью интерполяции. Данная модель отличается от прошлой версии дополнительными temporal self-attention слоями. Данные слои позволили уменьшить количество артефактов в интерполированных кадрах.
Декодирование полученного “латентного” видео при помощи Sber MoVQ-GAN. Для повышения связности кадров при декодировании мы также встроили дополнительные темпоральные слои в Decoder часть и дискриминатор, доучив их с замороженной Encoder частью.
По итогу мы получаем видео длиной 5.5 секунд. Генерация занимает 1 минуту для видео с FPS =8 и 1.5 минуты для видео с FPS=32.
Обусловливание на motion score
Kandinsky Video 1.1 обуславливается на motion score для того, чтобы контролировать динамику генерируемого видео. Motion score на обучении считается с помощью модели вычисления оптического потока RAFT. Для каждого видео из датасета мы получаем карты потоков между любыми двумя последовательными кадрами, а затем усредняем результат, тем самым получая motion score для отдельного видео. Во время инференса модели мы можем варьировать motion score чтобы получать видео с различной степенью динамичности.
Аугментация шумом
В процессе обучения видео модели мы используем первый кадр видео в качестве условия для генерации остальных базовых кадров. Во время инференса мы генерируем первый кадр, используя text2image модель (Kandinsky 3.0). Здесь скрыта проблема, так как распределение первых кадров видео из датасета отличается от распределения картинок, сгенерированных text2image моделью. Для решения этой проблемы при обучении мы добавляем шум с разной магнитудой на первый кадр видео, дополнительно обусловливая модель на эту магнитуду. При генерации мы используем маленький фиксированный уровень шума. Данный подход нивелирует разность в распределениях.
Prompt and Image Guidance
Для повышения стабильности генерации мы используем алгоритм classifier-free guidance не только для обусловливания на текст, но и для дополнительного обусловливания на первый кадр видео. Для этого, во время обучения, мы с вероятностью 10% подаем картинку состоящую из нулей в качестве первого кадра. В ходе данного процесса мы получаем возможность предсказывать
В ходе процесса генерации итоговый шум рассчитывается по формуле
Данные и их процессинг
Для обучения Kandinsky Video 1.1 мы увеличили размер обучающего датасета до 4,6 млн пар текст-видео по сравнению с 220 тыс. пар в Kandinsky Video 1.0. Процесс подготовки данных состоит из двух этапов:
Предобработка видео
Генерация описаний
Предобработка видео
Модель генерации видео обучается на коротких видео длиной от 2-х до 60-ти секунд. Желательно, чтобы действия в этих видео происходили в рамках одной сцены, то есть было логичное завершенное действие без резкого перехода к другой сцене. Для этого сначала длинные видео нарезаются на такие сцены с помощью утилиты PySceneDetect, а затем уже обрабатываются полученные короткие видео. Короткие видео нарезать не требуется — они сразу подаются в пайплайн обработки.
Наш пайплайн предобработки сцен состоит из нескольких этапов:
отбрасываем слишком короткие (< 2 секунд) и слишком маленькие (площадь кадра < 256*256 px или одна из сторон < 128px) видео;
отбрасываем видео с FPS < 23 - таких видео очень мало, но они затрудняют обучение, так как обучение должно проводиться на данных с одним FPS;
ресайзим большие видео до 1080px по минимальной стороне. Видео в 4K занимают много памяти, в то время как претрейн модели проводится в разрешениях 256, 512 и 1024. Хранить 4K видео в шардах не имеет смысла, так как это в разы замедлит скорость работы даталоадера;
конвертируем все видео к 24 фпс;
детектируем черные края на видео и обрезаем их. Многие видеоролики имеют по краям черные полоски, которые модель может запомнить. От таких артефактов лучше избавляться;
перемешиваем сэмплы в датасете, чтобы батч с большей вероятностью собирался из более разнородных данных.
Генерация описаний
Описания для видео в интернете еще хуже, чем для картинок — информативных описаний крайне мало. Поэтому мы генерируем синтетические описания для видео и учимся на них. Для генерации описаний мы используем vision-language models (VLMs), поддерживающие работу с видео. Например, модели LLaVA‑NeXT‑Video, LITA, PLLaVA. По сравнению с другими подходами они показали самое лучшее качество описаний с точки зрения информативности и соответствия видео.
В таблице ниже можно наглядно увидеть разницу между описаниями из интернета и описаниями, которые генерирует LLaVA-1.5 с промптом “Describe this image and its style in a very detailed manner”.
Описание из интернета: Most Popular Bettencourt 3 Piece Counter Height Dining Sets With Regard To Red Barrel Studio Bettencourt 3 Piece Counter Height Solid Wood (View 4 of 20
Описание, сгенерированное моделью LLaVA-1.5: The image features a wooden dining table with a black top, accompanied by four wooden stools. The stools are placed around the table, with two on each side, creating a cozy and inviting atmosphere. The table and stools have a modern and sleek design, with the black top adding a touch of sophistication to the overall look. The wooden material of the table and stools gives the space a warm and natural feel, making it an ideal setting for a casual meal or gathering with friends and family.
Описание из интернета: Road by desert against sky
Описание, сгенерированное моделью LLaVA-1.5: The image depicts a long, straight road in a desert landscape, with mountains visible in the distance. The road appears to be empty, with no cars or people visible in the scene. The style of the image is reminiscent of a painting, giving it a more artistic and serene feel. The desert setting and the absence of any human activity or distractions create a sense of tranquility and vastness, emphasizing the beauty of the natural environment.
Метрики
Мы сравнили нашу модель с VideoLDM по трём параметрам на оценках пользователей:
Temporalp. consistency. - связность кадров в видео
Text alignment - соответствие текстовому описанию
Frame quality - визуальное качество кадров
Здесь процент отражает то, сколько раз модель была выбрана пользователем в качестве победителя.
Мы также провели сравнение с остальными известными моделями на бенчмарке EvalCrafter, сравнивающий модели по четырем параметрам:
VQ - визуальное качество
TVA - соответствие текстовому описания
MQ - динамичность видео
TC - связность кадров в видео
Несмотря на то, что Kandinsky Video 1.1 учился на небольшом датасете, он показывает конкурентное качество.
Примеры генераций
Заключение
В этой статье мы представили Kandinsky Video 1.1 – наш следующий шаг в задаче генерации видео по текстовым описаниям. Новая версия нашей модели демонстрирует повышенное качество как для каждого отдельного кадра, сравнимое с качеством генерации изображений по тексту, так и с точки зрения динамической и семантической консистентности всего генерируемого видео. Это стало возможным благодаря нашему вниманию к архитектуре модели и её отдельным компонентам, а также сбору и обработке данных. Однако, разумеется, это не единственные аспекты, которые могут способствовать повышению качества генерации. Наша следующая цель – генерация длинных видеороликов кинематографического качества, моделирование сложной динамики, возникновение и смена новых объектов и сцен на видео. Для этого в самом ближайшем будущем мы планируем произвести еще более глубокие исследования в области архитектуры, сбора и обработки данных, стратегии и техники обучения, а также оптимизации всего пайплайна. Короче говоря – стать лучше с тем, чтобы положительно влиять на наше будущее, в котором технологии генеративного искусственного интеллекта займут ведущую роль. Оставайтесь с нами и следите за новостями – впереди будет еще много интересного!
Этическое замечание
Мы разрабатываем технологии искусственного интеллекта и открыто делимся ими исключительно в целях мирного и добропорядочного использования их для других приложений. Мы делаем это с надеждой на то, что пользователи по достоинству оценят открытый доступ к новым технологиям и ответственно отнесутся к их применению где-либо.
Мы категорически против использования наших технологий в мошеннических и незаконных целях, а также для создания информации, порочащей или способной опорочить честь и достоинство кого-либо, а также вызывающей вражду, ненависть и дискриминацию. Ответственность за использование генераций нашей модели в подобных целях лежит на конечных пользователях.
Авторы
Модель Kandinsky Video 1.1 разработана командой Sber AI при партнёрской поддержке учёных из Института искусственного интеллекта AIRI на объединённом наборе данных Sber AI и компании SberDevices.
Коллектив авторов: Владимир Архипкин, Зейн Шахин, Игорь Павлов, Юлия Агафонова, Вячеслав Васильев, Елизавета Дахова, Анастасия Мальцева, Константин Соболев, Татьяна Никулина, Виктория Вольф, Сергей Марков, Андрей Кузнецов и Денис Димитров.
Контакты для коммуникации
По всем возникающим вопросам и предложениям по развитию модели, добавлению новых возможностей и сотрудничеству в части использования наших разработок можно писать руководителю научной группы Sber AI Research Денису Димитрову.