Какие шаги нужно предпринять для создания фейкового видео?

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

Введение

Дипфейки мне очень интересны. Они использовались для создания мэшапов знаменитостей и поддельных видео Моргана Фримена.

Фильмы RRR или The Hollywood и их невероятные компьютерные эффекты привлекли внимание многих зрителей. Однако мы все видели и плохую компьютерную графику. Контраст между ожиданием и реальностью поразителен; дело не в том, что компьютерная графика плохая, а в том, что вы ожидаете, что она будет хорошей. Глубокие подделки настолько убедительны, потому что видео практически не имеют никакой ценности, но обладают невероятным качеством эффекта.

Фон

Я начал с нуля, когда начал работать над исследованием дипфейков. У меня не было опыта работы с дипфейками, но я был хорошо осведомлен о тренде и новостях о них. Мой опыт связан с машинным обучением, но не связан с этим проектом.

У меня есть совершенно новый игровой ноутбук ASUS Rog с процессором Ryzen 9 и 4 ГБ NVIDIA GeForce RTX 3050. Когда я запустил на нем 6-секундное фальшивое видео, я смог выполнить задачу за 5 часов.

Начало работы: DeepFaceLab против Faceswap

Два проекта по созданию дипфейков с открытым исходным кодом — DeepFaceLab(DFL) @ и Faceswap — доминируют в этой области. Faceswap, на первый взгляд, казался более безопасной ставкой. У него несколько участников и более широкая аудитория, а также больше документации и примеров кода, чем во многих других программах для смены лиц. Но я боролся с графическим интерфейсом программы и процессом ее преобразования, который так и не завершился. Позже я решил обе проблемы, заменив графический интерфейс дистрибутивом Ubuntu и изменив настройки видео FPS». Поэтому мне пришлось посвятить себя DFL, потому что для меня это был самый эффективный способ учиться и добиваться успеха в кратчайшие сроки.

DeepFaceLab

В этом посте мы будем использовать DeepFaceLab для создания дипфейков. Чтобы начать работу над проектом, вы можете загрузить готовые сборки Windows с Google Диска или Mega. Это даст вам зависимости и позволит вам начать работу быстрее.

Шаг 1: Извлечение

Дипфейки — это визуальные эффекты, созданные человеком. Для создания дипфейков сначала извлекаются кадры из видео, а затем с помощью ИИ заменяются лица людей в кадрах на лица других людей. В конце процедуры создается от нескольких сотен до нескольких тысяч высококачественных фотографий. использовал. Каждая фаза DFL представлена ​​в виде исполняемого пакетного файла, который выполняется до тех пор, пока не завершится или не будет остановлен по вашему усмотрению. Хотя для расширенного использования требуется запуск Python напрямую, вы можете шаг за шагом обойтись с помощью поставляемых исполняемых файлов.

Эффективность вашей модели зависит от данных, которые она использует для обучения. Хороший вклад необходим для хорошего результата. Чтобы фотографии были отличного качества и DFL правильно определял лица, нужно будет просеять сотни изображений. DFL включает в себя множество пакетных файлов, которые помогут вам в большей части этого процесса. Можно сортировать по размытости, схожести лиц, гистограмме и другим факторам. Группируя нежелательные кадры и неправильно пойманные лица, это ускоряет процесс, но вы все равно выиграете от личного просеивания оставшегося материала. Поскольку вы потратите много времени на тренировки, стоит приложить дополнительные усилия в этой области.

По завершении этого этапа у вас будут тысячи нарезанных кадров и нормализованных лиц.

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

Шаг 2: Обучение

Модель, которую вы хотите обучить, должна быть выбрана на следующем шаге. DFL предлагает шесть версий, каждая из которых имеет определенный уровень сложности и предназначение. AMP предназначен для видеокарт с меньшей производительностью, Avatar используется для изменения эмоций лица в исходном видео, а SAE объединяет несколько разных моделей. Руководство и веб-руководства рекомендуют SAE, но я выбрал единственный тип, Quick96, который работал с моей первой видеокартой. Здесь есть масса переменных, которые вы можете изменить, но вы не узнаете их влияние, пока не примените их на практике. Вы должны быть терпеливы и ждать результатов, потому что это занимает часы или дни.

Вы можете приостановить обучение в любое время и возобновить его позже, чтобы сохранить «контрольные точки» и резервные модели. После резервного копирования вы можете отклониться, чтобы проверить, дают ли новые настройки многообещающие результаты. Я советую сделать резервную копию примерно после 40 000 итераций, а затем поэкспериментировать с другими настройками оттуда. Перед попыткой агрессивных настроек сначала сделайте резервную копию. Этот тип машинного обучения склонен к краху, что делает модель бесполезной. Восстановиться после этого краха невозможно, поэтому единственный вариант — восстановить из резервной копии.

Шаг 3: конвертировать

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

После преобразования каждого кадра в видео вы можете объединить все преобразованные кадры в один видеофайл. Этот процесс не займет много времени. Насколько я знаю, конвертация 1 минуты видео занимает около 10 минут.

Полученные результаты

Результаты 6-секундного видео, обработанного игровым ноутбуком ASUS Rog с процессором Ryzen 9 и 4 ГБ NVIDIA GeForce RTX 3050, можно увидеть ниже.

В этом видео вы можете наблюдать отрывок из фильма Бахубали, а главный актер - Прабхас, теперь я заменил его лицо на лицо НТР-младшего.

Заключение

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