Клонирование голоса, замена лиц по одной фотографии, магия удаления объектов из видео и не только в Wunjo AI 1.5

Привет DTF! В этой статье я хочу поделиться с вами новостями о недавнем обновлении, рассказать какие появились новые функции в моем проекте с открытым исходным кодом Wunjo AI для работы с видео. Интерфейс создавался так, чтобы быть максимально простым и интуитивным для пользователей, которые бы могли создавать контент без знания нейронных сетей или каких либо штук из программирования. Все ставится самостоятельно из коробки, а как выглядит интерфейс вы увидите в статье и сами решите для себя, понятен он или нет.

Предыстория. Изначально я начал разрабатывать приложение для собственных нужд — чтобы синтезировать свой голос и создавать подкасты для еще одного моего проекта под названием «Бесконечное нейронное радио». В этом проекте музыка создается с использованием нейронных сетей, и о нем я уже рассказывал на DTF.

Однако сбор собственного датасета для оцифровки моего голоса занял у меня много времени. Поэтому я решил обучить модели на популярных и открытых датасетах, таких, как RusLan, чтобы сразу начать использовать синтез речи для создания контента, тем более Wunjo AI позволял клепать диалоги уже тогда без лимитов, которые бы я заметил. Поэтому я добавил в само приложение возможность обучать нейронную сеть на своем голосе. Как оцифровать свой голос я снял видео на YouTube.

Со временем мои амбиции выросли, и я добавил в приложение возможность оживления фотографий и изображений, созданных с помощью Stable Diffusion. Это удивительно и увлекательно — наблюдать, как изображение начинает оживать, произносить речь, моргать и двигать головой. Это действительно захватывающее зрелище! Как это выглядело, смотрите в первом ролики о приложении.

Первая версия приложения

Таким была первая версия приложения, которым начали пользоваться люди. Благодаря отзывом пользователей, у меня получилось улушчить приложение и исправить баги, которые возникали у пользователей Windows.

Однако, со временем я понял, что анимация лица сама по себе стала скучной, да и работает не идеально. Поэтому я добавил функциональность, которая позволяет брать фрагменты видео с людьми и анимировать движение их губ в соответствии с аудиозаписью. Позднее я также начал экспериментировать с изменением лиц и окружения в Stable Diffusion, чтобы создавать собственные, уникальные эффекты. У меня уже есть планы, включить возможность изменения видео согласно текстовому запросу с использованием Stable Diffusion в Wunjo AI, но об этом чуть позже. А сейчас давайте рассмотрим, что у нас есть на данный момент:

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

Что нового в последней версии?

Клонирование голоса: Теперь вы можете клонировать голоса из предоставленных аудиофайлов или записывать свой голос непосредственно в приложении в реальном времени. В данный момент доступны модели для клонирования голоса на английском и китайском языках, и в скором времени будет доступна модель для клонировании русского языка. Такой подход позволил мне сделать так, чтобы модели обученные работать с русским языком, могли работать и на английском, и китайском. Например, как меняется голос с датасета RusLan, если его клонировать.

Многоязычность: Я добавил поддержку нескольких языков в приложение, с возможностью простого расширения на любой язык, который есть в Google Translate, так мне стали, писать мультиязычные пользователи, в особенности китайцы, и теперь вы можете пользоваться приложением на том языке, на котором вам удобно.

Замена лица на видео по фото: Я добавил возможность заменять лицо на видео на основе одной фотографии. Но используется связка нейронных сетей разумеется, чтобы при смене кадров и ракурса, дипфейк не перекинулся на другое лицо. Я использую распознавание лица для этого. Функция замены лица оказалась весьма полезной, и вы можете прочитать, как я использовал ее для создания дипфейка для участия на конференции. Об этом я писал на Хабре.

Результат выглядит так:

Замена всех лиц
Замена одного лица
Панель замены лица в приложении
Панель замены лица в приложении

В качестве target и source могут быть изображения, gif анимация или видео, вы сами выбираете, если необходимо нужный кадр.

Распознавание речи в реальном времени: Теперь вы можете произносить текст или загружать аудиофайлы с речью, и программа автоматически переведет речь в текст, что позволит вам создавать диалоги без необходимости набирать текст вручную.

Панель настройки для синтеза голоса
Панель настройки для синтеза голоса
После добавления аудио или записи голоса, его можно клонировать или распознать
После добавления аудио или записи голоса, его можно клонировать или распознать

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

Удаление машины с видео
Панель удаления объектов и ретуши
Панель удаления объектов и ретуши

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

Дипфейк эмоций: Я также начал исследовать возможность создания дипфейка для эмоций на основе wav2lip. Я обучил небольшую модель на датасете, в который разметил нейронной сетью распознающей эмоции, а затем применял это к обучению нужной мне модели. Результаты выглядят необычно, многогранно, но больше крипово, и следует продолжить исследования в этой области. Думаю, что интересно было бы работать с дипфейком эмоций в связке со Stable Diffusion. Вы также можете попробовать эту экспериментальную функцию сами и посмотреть, как это работает.

6 эмоций Кристен Стюарт
Панель анимации лица и губ
Панель анимации лица и губ

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

Панель обработки видео
Панель обработки видео

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

Панель отслеживания состояния приложения
Панель отслеживания состояния приложения

И так, обновление Wunjo v1.5 оказалось крупным, и принесло огромное количество полезных нововведений. Проект вы можете найти на GitHub или на его официальном сайте. Следует отметить, если вы захотите ускорить генерацию, вы можете использовать GPU, но для этого нужно будет установить драйвера CUDA, как это сделать я описал в документации. С переключением на GPU вам станет также доступна и фича для тренировки модели нейронной сети на вашем датасете, чтобы в последующем использовать ее в приложении. Там же вы найдете решение самых частых вопросов, которые возникали у пользователей версии 1.4.

Небольшой ролик об обновлении

Проект с открытым исходным кодом, бесплатен, без ограничений и цензур, локальный. И я верю, что Wunjo AI сможет помочь вам в создании вашего контента. До новых встреч на DTF и на GitHub!

1717
3 комментария

Комментарий недоступен

Приложение создавалось для помощи в создании контента не большим компаниям и людям. Помогать продвигать их идеи и продукты. Там не получится сделать то, что вы перечислили))

3