Моделі та платформи ШІ

MagicDance: Реалістична генерація танцюальних відео людини

mm
Додайте Unite.AI до бажаних джерел у Google

Комп’ютерне бачення – одна з найбільш обговорюваних галузей у галузі штучного інтелекту, завдяки її потенційним застосуванням у широкому діапазоні завдань в реальному часі. За останні роки комп’ютерні моделі бачення швидко розвивалися, і сучасні моделі тепер можуть аналізувати особливості обличчя, об’єкти та багато іншого в реальних сценаріях. Незважаючи на ці можливості, перенесення руху людини залишається серйозною проблемою для моделей комп’ютерного бачення. Це завдання включає перенесення рухів обличчя та тіла з джерельного зображення або відео на цільове зображення або відео. Перенесення руху людини широко використовується в моделях комп’ютерного бачення для стилю зображень або відео, редагування мультимедійного контенту, цифрової синтези людини та навіть генерації даних для моделей сприйняття.

У цій статті ми фокусуємося на MagicDance, моделі на основі дифузії, розробленої для революціонізування перенесення руху людини. Фреймворк MagicDance конкретно спрямований на перенесення двовимірних рухів обличчя та рухів людини на складних танцюальних відео. Його мета – генерувати нові відео танців, керованих послідовністю поз, для конкретних цільових ідентичностей, зберігаючи при цьому оригінальну ідентичність. Фреймворк MagicDance використовує двоступеневу стратегію навчання, зосереджену на дезентангуляції руху людини та факторах зовнішнього вигляду, таких як тон шкіри, вираження обличчя та одяг. Ми розглянемо фреймворк MagicDance, досліджуючи його архітектуру, функціональність та продуктивність у порівнянні з іншими сучасними фреймворками перенесення руху людини. Давайте почнемо.

MagicDance: Реалістичне перенесення руху людини

Як згадувалося раніше, перенесення руху людини – одна з найбільш складних завдань комп’ютерного бачення через величезну складність, пов’язану з перенесенням рухів людини та виражень з джерельного зображення або відео на цільове зображення або відео. Традиційно моделі комп’ютерного бачення досягали перенесення руху людини шляхом навчання задачеспецифічної генеративної моделі, включаючи GAN або Генеративні суперницькі мережі на цільових наборах даних для виражень обличчя та поз тіла. Хоча навчання та використання генеративних моделей дають задовільні результати в деяких випадках, вони часто страждають від двох великих обмежень.

  1. Вони сильно залежать від компонента викривлення зображення внаслідок чого вони часто мають труднощі з інтерполяцією частин тіла, які є невидимими на джерельному зображенні через зміну перспективи або самооклюжію.
  2. Вони не можуть узагальнюватися до інших зображень, отриманих з зовнішніх джерел, що обмежує їх застосування, особливо в реальних сценаріях.

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

Щоб подолати перешкоди, з якими стикаються моделі дифузії та 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 можна розділити на чотири категорії: попередній етап, попереднє навчання контролю зовнішнього вигляду, дезентангуляція контролю пози та модуль руху.

Попередній етап

Моделі дифузії в латентному просторі представляють унікально розроблені моделі дифузії для роботи в латентному просторі, забезпеченому використанням автоенкодера, а фреймворк Stable Diffusion – це помітний приклад таких моделей, який використовує векторно-квантований варіаційний автоенкодер та архітектуру U-Net. Фреймворк Stable Diffusion використовує трансформер CLIP як текстовий кодувальник для обробки текстових входів шляхом перетворення текстових входів у вкладення. Фаза навчання фреймворку Stable Diffusion піддає модель впливу текстової умови та вхідного зображення, причому процес включає кодування зображення у латентне представлення та піддає його попередньо визначеній послідовності дифузійних кроків, керованих гаусовим методом. Результуюча послідовність дає шумне латентне представлення, яке забезпечує стандартне нормальне розподілення, причому основною навчальною метою фреймворку Stable Diffusion є денойзинг шумних латентних представлень ітеративно у латентні представлення.

Попереднє навчання контролю зовнішнього вигляду

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

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

Дезентангуляція контролю пози

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

Модуль руху

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

MagicDance: попереднє навчання та набори даних

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

Для попереднього навчання модель контролю зовнішнього вигляду попередньо навчається з розміром партії 64 на 8 графічних процесорах NVIDIA A100 протягом 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 намагається перенести двовимірні рухи обличчя та рухи людини на складних танцюальних відео з метою генерації нових відео танців, керованих послідовністю поз, для конкретних цільових ідентичностей, зберігаючи при цьому ідентичність постійною. Фреймворк MagicDance – це двоступенева стратегія навчання для дезентангуляції руху людини та зовнішнього вигляду, такого як тон шкіри, вираження обличчя та одяг.

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

Kunal Kejriwal — бекенд‑інженер, який спеціалізується на Python, PostgreSQL, Redis та хмарній інфраструктурі в GCP і AWS. Має три роки досвіду у створенні та масштабуванні виробничих систем, пише про інфраструктуру ШІ, розподілені системи та архітектуру розгортання навантажень машинного навчання.