📄 tl;dr
Ресерчеры из MetaAI обучили диффузионную нейросеть (типа DALL-E 2, Imagen, Стебель) MAKE-A-VIDEO, способную генерировать короткие видео-ролики по текстовому описанию!
А самое крутое то, что для этого им не потребовался датасет, содержащий пары видео - текст!
🚬 Что же за заверь MAKE-A-VIDEO?
Начнем с того, что название MAKE-A-VIDEO, отсылает нас к Make-A-Scene от тех же MetaAI — DALL-E поколения, которая имела кондишн не только в тексте, но и в семантической маске. Название имхо не очень удачное, так как тут ничего подобного нет. НО это DALL-E-like 2-го поколения и, видно, они просто решили двигать свой бренд MAKE-A- ... Ок, их дело.
Основной фишкой этой работы является развитие мысли: "Картинка это видео с одним кадром". Но как это реализовано? И главное, как можно сделать Text-To-Video без Text-To-Video данных?!
Подход напоминает DALL-E 2 —
Генрация видео Y может быть представлена как композиция Модулей:
🗒 Y = SR(th) ◦ SR(tl) ◦ ↑F ◦ Dt ◦ P ◦ (X_t, C(X_i))
Идея очень простая и изящная давайте прост разберем ее элементы:
0. X_i — картинка, X_t — текст. {X_i, X_t} — пара картинка-текст.
1. C(X_i) — CLIP embedding изображения X_i. N-мерный вектор, содержащий в себе необходимые фичи для описания картинки.
2. P — Prior, диффузионная нейронная сеть, отображающая X_t текстовые CLIP embedding'и в CLIP image embedding'и
Теперь понятно, что имея текст, можно получить | P (X_t) —> C(X_i) | варианты визуальных эмбеддингов возможных изображений.
3. Дальше вступает модуль Dt, который готовит 16 RGB фреймов по 64 × 64 на основе CLIP эмбеддинга первого кадра!
И на этот этапе становится понятно, что не нужны пары текст-видео!
4. Модуль ↑F делает интерполяции между кадрами и SR(th) ◦ SR(tl) делают пространственно-временной апскейл из 64pix в 256 и 768
👾 Сайт Проект (тыкать обязательно!)
📄 Paper
🤖 м и ш и н л е р н и н г