Недавно в сети появилась новость о том, что художница хочет выйти замуж за голограмму, созданную из идеального для нее мужчины и подходящих для него качеств. Все это больше похоже на фейк или правильнее сказать перформанс, с не очень качественным монтажом. Однако давайте разберемся, насколько сегодня технологии близки к тому, чтобы воплотить этот фейк в жизнь. В этой статье мы поговорим о том, как клонировать себя или своего соседа с помощью проектов с открытым исходным кодом Audio to Photoreal Embodiment и Wunjo AI. Ведь применений для такого продукта просто огромное количество.
Из чего состоит Audio to Photoreal Embodiment?
Если вам интересно узнать ответ на вопрос без подробностей о том, как это работает, просто пролистайте к концу статьи.
Подготовка данных. Изначально всё начинается с подготовки данных для обучения. Для этих целей был собран новый, богатый набор данных диадических разговоров (оба собеседника по очереди находятся в ролях говорящего и слушающего), который доолжен позволить детально и реалистично реконструировать людей во время диалога. Набор данных для обучения. В нем вы найдете отрывки разговоров, движение лица и всего тела. Хороший набор данных играет решающую роль для точного обучения моделей.
Модель движения. Модель движения состоит из трех частей: модели выражений лица, предиктора для управления позой тела и модели общего движения тела. Модели помогают понять и уловить движения и выражения лица человека во время разговора.
Генерация движений лица. Используя звук и результаты предварительно обученной модели, предсказывающей движения губ, они обучили модель создавать реалистичные выражения лица. Цель состоит в том, чтобы синхронизировать движения лица с произносимыми словами для достижения более естественного результата.
Генерация движений тела. Для тела они используют звук в качестве входных данных и генерируют направляющие позы (Vector Quantization) один кадр в секунду. Такой подход помогает создать базовую структуру движений тела на основе звука. Векторное квантование - это метод сжатия данных, при котором векторы данных заменяются на ближайший вектор из заранее определенного набора кодов (так называемый кодовый словарь). В данном случае, VQ направляющие позы означает, что направляющие позы (guide poses) проходят процесс векторного квантования.
Добавление высокочастотных движений тела в цифровую модель. Высокочастотные движения, имеется в виду изменения поз и движений, происходящие с большей частотой, то есть более мелкие и быстрые движения. Как аудио, так и направляющие позы используются для детальной передачи движений тела с более высокой частотой кадров (30 кадров в секунду) с использованием диффузионной модели. Именно этот шаг добавляет более реалистичные и детальные движения тела в соответствии с аудиовходом.
Генерация фотореалистичного аватара. Сгенерированные движения лица и тела объединяются и передаются в обученную модель, которая создает фотореалистичный аватар в виде файла numpy файла, набора числовых векторов, который можно визуализировать. Таким образом, аватар готов и его нужно только отобразить. А подход можно охарактеризовать как применение VQ и моделей диффузии.
Подробнее о том, как это работает, можно узнать из свежой научной статьи от 2024 года, и самого репозитория. Однако, есть и более ранние работы, которые могут быть применимы, например LDA (Alexanderson от 2023) основанного на моделях диффузия, Show (Yi от 2023) основан на VQ методе и KNN. Хотя рандом с анимацией губ через Wav2Lip, тоже никто не отменял.
Так, как выполнить цифровое клонирование человека с Audio to Photoreal Embodiment, не вдаваясь во все сложности обучения? Я думаю о таком рецепте, которым хочу с вами поделиться...
Запись голоса. На первом этапе нам нужно записать свой голос, синтезировать его или клонировать нужный голос оффлайн в Wunjo AI с открытым исходным кодом и статья как технически клонирование там работает или качественные онлайн решения HeyGen, OpenVoice или RunwayML.
Генерация модели. На втором этапе нам нужно при помощи Audio to Photoreal Embodiment (демо на потыкать в Google Colab) и одного из доступных четырех моделей (видео ниже) сгенерировать модель говорящего человека. Так как сбор данных и обучение — сложный технический процесс и, главное, долгий, мы возьмем готовую модель. Скачаем получившийся файл results.npy после генерации.
Визуализация аватара. На третьем этапе, используя файл results.npy и репозиторий, мы можем отобразить аватара с любого ракурса.
Замена лица и сцена. На четвертом этапе мы помещаем объект в сцену используя софт для монтажа и заменяем лицо нашего аватара по нашей фотографии в Wunjo AI, используя модуль Face Swap (статья как он работает) или roop. Например всем мужским персонажам в видео я заменил лица на свое лицо. Я уже писал на Хабр, как сделал свой дипфейк для выступления на конференции, обязательно прочитайте если вас заинтересовала эта тема.
Сглаживание и корректировки. На пятом этапе производится сглаживание объекта и корректировки. Если у вас мощная видеокарта, вы можете изменить одежду, прическу, добавить очки на аватар и сделать 3D модель более реалистичной через Wunjo AI, используя модуль Video2Video (и статья как это работает технически) или EbSynth, либо воспользоваться онлайн-решением Pika Labs для изменения деталей и EbSynth с генерированными кадрами в Stable Diffusion и ControlNet, чтобы 3D модель сделать реалистичнее.
Таким образом, мы можем воссоздать любой диалог между двумя или более человеками и поместить их в необходимый ролик, а дальше дело монтажа. И это только сейчас, в начале 2024 года...
Философские рассуждения
Получается, технологии развиваются таким образом, что в будущем, можно создать не просто реалистичный и умный аватар, но и цифрового двойника, способного воспроизвести наши слова и движения со всей базой знаний интернета. Уже сейчас можно создать, что-то такое простое, как я описал выше и это лишь первые шаги в мире, где границы между виртуальным и реальным становятся все более размытыми.
Теперь, представьте, что в будущем мы сможем не только реконструировать движения и выражения, но и создавать цифровые и реальные копии наделенным характером и стилем общения. Способны ли мы оживить цифрового «себя» настолько, что он станет неразличим от настоящего и стоит ли этим вообще заниматься?
Напоминает отрывок из сериала Кибердеревня.
Современные технологии уже предоставляют простые средства для цифрового клонирования человека, дипфейки, клонирование речи, изменение видео с помощью текста, и уже создание 3D моделей человека. Но за этим стоит не только удивительная техническая возможность, но и глубокие философские вопросы о природе человеческой сущности. Может ли она быть скопирована? Можно ли ее копировать?
И вот мы движемся по пути развития возможностей создать цифровую версию себя. Как это повлияет на нашу идентичность, взаимодействие и общество в целом? Например социальные сети и приложения для знакомств уже внесли свой вклад в то, как люди изменили свой способ общения. Время покажет, на что способны эти технологии, и как они изменят наш взгляд на себя и других. Цифровое клонирование открывает дверь в неизведанный мир возможностей и вопросов, исследование которых будет продолжаться вплоть до тех пор, пока мы сами не решим, кто или что мы на самом деле.