Модели и платформы ИИ

MagicDance: Реалистичная передача человеческого движения в видео

mm
Добавьте Unite.AI в избранные источники в Google

Компьютерное зрение – одна из наиболее обсуждаемых областей в индустрии ИИ, благодаря ее потенциальным применением в широком диапазоне задач в реальном времени. В последние годы компьютерные зрительные модели быстро продвинулись вперед, и современные модели теперь способны анализировать черты лица, объекты и многое другое в реальных сценариях. Несмотря на эти возможности, передача человеческого движения остается сложной задачей для компьютерных зрительных моделей. Эта задача включает в себя перенос движений лица и тела из исходного изображения или видео в целевое изображение или видео. Передача человеческого движения широко используется в компьютерных зрительных моделях для стилизации изображений или видео, редактирования мультимедийного контента, цифрового синтеза человека и даже генерации данных для восприятия-ориентированных моделей.

В этой статье мы сосредоточимся на MagicDance, диффузионной модели, предназначенной для революционизации передачи человеческого движения. Фреймворк MagicDance специально направлен на передачу 2D человеческих выражений лица и движений на сложных видео танцев. Его цель – генерировать новые последовательности движений для конкретных целевых идентификаторов, сохраняя при этом исходную идентичность. Фреймворк MagicDance использует двухэтапную стратегию обучения, ориентированную на дезентанглирование человеческого движения и факторы внешности, такие как тон кожи, выражения лица и одежда. Мы углубимся в фреймворк MagicDance, исследуя его архитектуру, функциональность и производительность по сравнению с другими передовыми фреймворками передачи человеческого движения. Давайте начнем.

MagicDance: Реалистичная передача человеческого движения

Как упоминалось ранее, передача человеческого движения – одна из самых сложных задач компьютерного зрения из-за огромной сложности, связанной с передачей человеческих движений и выражений от исходного изображения или видео к целевому изображению или видео. Традиционно компьютерные зрительные фреймворки достигали передачи человеческого движения, обучая специфичную для задачи генеративную модель, включая GAN или Генеративные противостоящие сети на целевых наборах данных для выражений лица и поз тела. Хотя обучение и использование генеративных моделей дают удовлетворительные результаты в некоторых случаях, они обычно страдают от двух основных ограничений.

  1. Они сильно полагаются на компонент искажения изображения, в результате чего они часто испытывают трудности с интерполяцией частей тела, невидимых в исходном изображении, либо из-за изменения перспективы, либо из-за самоокрытия.
  2. Они не могут обобщаться на другие изображения, полученные из внешних источников, что ограничивает их применение, особенно в реальных сценариях.

Современные диффузионные модели продемонстрировали исключительные возможности генерации изображений в различных условиях, и диффузионные модели теперь способны представлять мощные визуальные эффекты в различных задачах, таких как генерация видео и заполнение изображений, обучаясь на веб-наборах изображений. Благодаря своим возможностям, диффузионные модели могут быть идеальным выбором для задач передачи человеческого движения. Хотя диффузионные модели могут быть реализованы для передачи человеческого движения, они имеют некоторые ограничения, либо в отношении качества сгенерированного контента, либо в отношении сохранения идентичности или страдают от временных несоответствий в результате ограничений конструкции и стратегии обучения модели. Кроме того, диффузионные модели не демонстрируют значительного преимущества над фреймворками GAN в отношении обобщаемости.

Чтобы преодолеть препятствия, с которыми сталкиваются диффузионные и GAN-основанные фреймворки при передаче человеческого движения, разработчики представили MagicDance, новый фреймворк, целью которого является использовать потенциал диффузионных фреймворков для передачи человеческого движения, демонстрируя беспрецедентный уровень сохранения идентичности, превосходного визуального качества и доменной обобщаемости. В своей основе фундаментальная концепция фреймворка MagicDance заключается в разделении проблемы на два этапа: контроль внешности и контроль движения, два способности, необходимые диффузионным фреймворкам для обеспечения точной передачи движения.

Вышеуказанная фигура дает краткий обзор фреймворка MagicDance, и как можно увидеть, фреймворк использует Стабильную диффузионную модель, и также развертывает два дополнительных компонента: Модель контроля внешности и Сеть контроля позы, где первый обеспечивает руководство по внешности модели SD из справочного изображения через внимание, а второй обеспечивает руководство по выражению/позе диффузионной модели из условного изображения или видео. Фреймворк также использует многоэтапную стратегию обучения для эффективного обучения этих подмодулей для дезентанглирования контроля позы и внешности.

Вкратце, фреймворк MagicDance – это

  1. Новый и эффективный фреймворк, состоящий из контроля позы, дезентанглированного от внешности, и предварительного обучения контроля внешности.
  2. Фреймворк MagicDance способен генерировать реалистичные человеческие выражения лица и движения под контролем условных входных данных и справочных изображений или видео.
  3. Фреймворк MagicDance направлен на генерирование контента, сохраняющего внешность, вводя Модуль внимания с несколькими источниками, который обеспечивает точное руководство для фреймворка Stable Diffusion UNet.
  4. Фреймворк MagicDance также может быть использован как удобное расширение или плагин для фреймворка Stable Diffusion, и также обеспечивает совместимость с существующими весами моделей, поскольку не требует дополнительной настройки параметров.

Кроме того, фреймворк MagicDance демонстрирует исключительные возможности обобщаемости как для внешности, так и для движения.

  1. Обобщаемость внешности: Фреймворк MagicDance демонстрирует превосходные возможности при генерировании различных внешностей.
  2. Обобщаемость движения: Фреймворк MagicDance также имеет возможность генерировать широкий диапазон движений.

MagicDance: Цели и архитектура

Для данного справочного изображения, либо реального человека, либо стилизованного изображения, основной целью фреймворка MagicDance является генерирование выходного изображения или видео, условного на входных данных и входных данных позы {P, F}, где P представляет скелет человеческой позы, а F представляет черты лица. Сгенерированное выходное изображение или видео должно сохранять внешность и идентичность человека, участвующего в нем, а также сохранять фон, присутствующий в справочном изображении, сохраняя при этом позу и выражения, определяемые входными данными позы.

Архитектура

Во время обучения фреймворк MagicDance обучается как задача реконструкции кадра для реконструкции фактического кадра с справочного изображения и входных данных позы, полученных из одного и того же справочного видео. Во время тестирования для достижения передачи движения входные данные позы и справочное изображение получаются из разных источников.

Общая архитектура фреймворка MagicDance может быть разделена на четыре категории: Предварительный этап, Предварительное обучение контроля внешности, Контроль позы, дезентанглированный от внешности, и Модуль движения.

Предварительный этап

Диффузионные модели с задержкой или LDM представляют собой уникально разработанные диффузионные модели, работающие в пространстве, облегченном использованием автоэнкодера, и фреймворк Stable Diffusion является заметным примером LDM, который использует Векторно-квантованный-Вариационный автоэнкодер и временную архитектуру U-Net. Фреймворк Stable Diffusion использует трансформер на основе CLIP в качестве текстового кодировщика для обработки текстовых входных данных, преобразуя текстовые входные данные в вложения. Фаза обучения фреймворка Stable Diffusion подвергает модель текстовому условию и входному изображению, процесс которого включает в себя кодирование изображения в латентное представление и подвергает его предопределенной последовательности диффузионных шагов, управляемых гауссовским методом. Результатная последовательность дает шумное латентное представление, которое обеспечивает стандартное нормальное распределение, и основной целью обучения фреймворка Stable Diffusion является денойзинг шумных латентных представлений итеративно в латентные представления.

Предварительное обучение контроля внешности

Одной из основных проблем оригинального фреймворка ControlNet является его неспособность контролировать внешность среди пространственно-вариативных движений последовательно, хотя он склонен генерировать изображения с позами, близкими к тем, что в входном изображении, при этом общая внешность влияется в основном текстовыми входными данными. Хотя этот метод работает, он не подходит для задач передачи движения, в которых не текстовые входные данные, а справочное изображение служит основным источником информации о внешности.

Модуль предварительного обучения контроля внешности в фреймворке MagicDance разработан как вспомогательная ветвь для обеспечения руководства по контролю внешности в подходе слоя за слоем. Вместо того, чтобы полагаться на текстовые входные данные, общий модуль фокусируется на использовании атрибутов внешности из справочного изображения с целью улучшить способность фреймворка генерировать характеристики внешности точно, особенно в сценариях, включающих сложную динамику движения. Кроме того, только модель контроля внешности является обучаемой во время предварительного обучения контроля внешности.

Контроль позы, дезентанглированный от внешности

Наивное решение для контроля позы в выходном изображении заключается в интеграции предварительно обученной модели ControlNet с предварительно обученной моделью контроля внешности напрямую без настройки. Однако интеграция может привести к тому, что фреймворк будет испытывать трудности с контролем позы, независимым от внешности, что может привести к несоответствию между входными данными позы и сгенерированными позами. Чтобы решить это несоответствие, фреймворк MagicDance настраивает модель ControlNet совместно с предварительно обученной моделью контроля внешности.

Модуль движения

Когда они работают вместе, модель контроля позы, дезентанглированная от внешности, и модель контроля внешности могут достичь точной и эффективной передачи изображения в движение, хотя это может привести к временной несоответствии. Чтобы обеспечить временную последовательность, фреймворк интегрирует дополнительный модуль движения в основную архитектуру Stable Diffusion UNet.

MagicDance: Предварительное обучение и наборы данных

Для предварительного обучения фреймворк MagicDance использует набор данных TikTok, который состоит из более 350 танцевальных видео различной длины между 10 и 15 секундами, захватывающими одного человека, танцующего, с большинством этих видео, содержащих лицо и верхнюю часть тела человека. Фреймворк MagicDance извлекает каждое отдельное видео с частотой 30 кадров в секунду и запускает OpenPose на каждом кадре отдельно для вывода скелета позы, позы рук и черт лица.

Для предварительного обучения модель контроля внешности предварительно обучается с размером партии 64 на 8 NVIDIA A100 GPU за 10 тысяч шагов с размером изображения 512 x 512, за которым следует совместная настройка моделей контроля позы и контроля внешности с размером партии 16 за 20 тысяч шагов. Во время обучения фреймворк MagicDance случайным образом выбирает два кадра в качестве целевого и справочного соответственно, с изображениями, обрезанными в одном и том же положении и по одной и той же высоте. Во время оценки модель обрезает изображение по центру вместо случайной обрезки.

MagicDance: Результаты

Экспериментальные результаты, проведенные на фреймворке MagicDance, демонстрируются на следующем изображении, и как можно увидеть, фреймворк MagicDance превосходит существующие фреймворки, такие как Disco и DreamPose, для передачи человеческого движения по всем метрикам. Фреймворки, состоящие из “*” перед названием, используют целевое изображение напрямую в качестве входных данных и включают больше информации по сравнению с другими фреймворками.

Интересно отметить, что фреймворк MagicDance достигает балла Face-Cos 0,426, что на 156,62% лучше, чем фреймворк Disco, и почти на 400% больше, чем фреймворк DreamPose. Результаты указывают на прочную способность фреймворка MagicDance сохранять информацию об идентичности и видимое улучшение производительности, указывающее на превосходство фреймворка MagicDance над существующими передовыми методами.

Следующие фигуры сравнивают качество генерации человеческого видео между фреймворками MagicDance, Disco и TPS. Как можно увидеть, результаты, сгенерированные фреймворками GT, Disco и TPS, страдают от несоответствий в идентичности человеческой позы и выражений лица.

Кроме того, следующее изображение демонстрирует визуализацию передачи выражений лица и человеческого движения на наборе данных TikTok, и фреймворк MagicDance способен генерировать реалистичные и яркие выражения и движения под различными ориентирами лица и входными данными позы, точно сохраняя информацию об идентичности из справочного входного изображения.

Стоит отметить, что фреймворк MagicDance обладает исключительными возможностями обобщаемости для изображений, не входящих в область видимости, с впечатляющей контролем внешности, даже без дополнительной настройки на целевом домене, и результаты демонстрируются на следующем изображении.

Следующие изображения демонстрируют возможности визуализации фреймворка MagicDance в отношении передачи выражений лица и нулевой передачи человеческого движения. Как можно увидеть, фреймворк MagicDance обобщается на реальные человеческие движения.

MagicDance: Ограничения

OpenPose является важным компонентом фреймворка MagicDance, поскольку он играет решающую роль в контроле позы, влияя на качество и временную последовательность сгенерированных изображений. Однако фреймворк MagicDance все еще испытывает трудности с обнаружением ориентиров лица и скелета позы, особенно когда объекты на изображениях частично видны или демонстрируют быстрое движение. Эти проблемы могут привести к артефактам в сгенерированном изображении.

Вывод

В этой статье мы говорили о MagicDance, диффузионной модели, целью которой является революционизация передачи человеческого движения. Фреймворк MagicDance пытается передать 2D человеческие выражения лица и движения на сложных видео танцев, с конкретной целью генерирования новых последовательностей движений для конкретных целевых идентификаторов, сохраняя при этом идентичность постоянной. Фреймворк MagicDance является двухэтапной стратегией обучения для дезентанглирования человеческого движения и внешности, такой как тон кожи, выражения лица и одежда.

MagicDance – это новый подход к генерированию реалистичного человеческого видео, включающий передачу выражений лица и движения, и позволяющий последовательной анимации в реальных условиях без необходимости дополнительной настройки, демонстрирующий значительный прогресс над существующими методами. Кроме того, фреймворк MagicDance демонстрирует исключительные возможности обобщаемости над сложными последовательностями движения и разнообразными человеческими идентификаторами, устанавливая фреймворк MagicDance в качестве лидера в области передачи движения и генерации видео с помощью ИИ.

Kunal Kejriwal — backend‑инженер, специализирующийся на Python, PostgreSQL, Redis и облачной инфраструктуре в GCP и AWS. Имея три года опыта в построении и масштабировании производственных систем, он пишет об инфраструктуре ИИ, распределённых системах и архитектуре развертывания нагрузок машинного обучения.