Как создать Deepfake?
Что такое DeepFake? Для тех кто в танке — это технология, позволяющая с помощью машинного обучения буквально подделывать людей. К примеру есть у нас новогоднее видео обращение Путина. А мы такие берем, используем дипфейк и с помощью нейросети накладываем на президента лицо и голос Навального. При этом вся картинка выглядит максимально натурально и естественно. Круто же? Короче, технология очень мощная и ей можно найти множество применений как в сфере мошенничества, так и в контентмейкинге. Меня, очевидно, интересует второе, так что не будем затягивать и пойдем разбираться, как все устроенно. Работать сегодня будем только с видео, но если вам зайдет, разберемся и с голосовым дипфейком.
DeepFaceLAb
Очевидно, что для создания DeepFake видео нам понадобится специальный софт. На рынке есть несколько решений, но использовать мы будем основное и самое популярное — программу DeepFaceLab, которую кстати создал наш соотечественник. К сожалению, «лаба» это не обычная программа с удобным интеейсом, как Photoshop. Это набор довольно сложных консольных скриптов, поэтому понадобится немного времени, чтобы привыкнуть к продакшену.
О способе
Я использую гибридный способ создания дипфейков, который предполагает использования облачных вычислительных мощностей. Процесс создания таких видео жрет очень много видео памяти, да и сам по себе довольно продолжительный. Использование облака сокращает время производства, а так же дает лучшее качество видео на выходе. Этот способ довольно популярен, работает на всех платформах, а самое главное — бесплатен.
Первым делом нам нужно скачать DeepFaceLab на Windows из официального источника https://github.com/iperov/DeepFaceLab. Это торрент, который весит +- 7 гигов. Качаем его и распаковываем.
Подготовка
Перед тем, как работать в облаке нам нужно предварительно подготовить рабочее пространство для нашего видео. Возможно, эти процессы можно выполнить и в самом облаке, но у меня как то не особо получалось. Так что вначале заготавливаем все необходимое прямиком на ПК. Кто знает ответ на вопрос выше, отпишитесь.
Открываем Папку DeepFaceLab. Видим еще несколько папок и целую кучу пронумерованных терминальных команд. Это и есть весь интеейс софта) Первым делом нам нужно подготовить наши видео, между которыми и будет происходить слияние. Заходим в папку Worskpace, там видим два видео и еще 3 папки. Data_ src — это исходник из которого нейросеть будет извлекать лицо. Data_dst — это то видео на которое и будет накладываться маска. По дефолту нас всегда будут встречать дядя Илон и Железный человек, которые нам конечно же не интересны. Поэтому мы просто заменяем их на нужные видео, оставляя идентичные названия. Это очень важно.
Переходим к командам
Сейчас нам нужно, чтобы нейросеть определила лица на видео, извлекла их в Workspace, после чего мы со спокойной душой можем отправиться на облако. Поочередно кликаем на каждую их указанных команд —
Каждый раз будет открываться терминал и спрашивать у вас что-то. Просто жмите Enter и программа будет работать по дефолтным настройкам.
Выполняем команды по очереди:
2) extract images from video data_src.bat
3) extract images from video data_dst FULL FPS.bat
4)data_src facesetextract
5)data_dst facesetextract
После этого в папке workspace в разделах data_dst и data_src должны появится сотни файлов с лицами. Проверьте.
Можем переходить к работе с облаком. Создаем архив папки workspace и грузим ее на наш гугл диск.
Google Colab
- Для дальнейшего создания дипфейка мы будем использовать платформу Google Colab. Это бесплатный сервис, который поможет нам произвести все вычисления на мощнейших видеокартах. Единственный нюанс — в «колабе» есть ограничения во времени работы (12 часов — один сеанс), поэтому если задумали делать дипфейк, выделите на это достаточно времени и не отвлекайтесь. Все работает в браузере, так что его ни в коем случае не закрывать.
Переходим по ссылке: Link
- Логинимся в свой Гугл Аккаунт и вот мы уже в облачной DeepFaceLab. Функционал тут примерно такой же как и на ПК. Возможно интеейс будет даже по приятнее. Все что вам нужно знать о Colab — нажимаем на Play и команда выполняется. Все.
- Первым делом нужно запустить всю движуху. Для это выполняем команды. Check GPU и Clone Github repository and install requirements. Это нужно делать каждый раз как вы используете сервис иначе не сработает.
- Затем импортируем наш worspace с диска. Просто выполняем команду Import. Сайт попросит у вас определенный код доступа. Копируйте и вставляйте.
- После того как все Done тупо исполняем все команды по очередности то и дело скипая каждый вопрос «энтером».
- По идее, если сделать все настройки то качество видео будет лучше. Самое главное — это раздел Train Model, который и сожрет львиную долю времени. Чем дольше выполняется эта команда — тем высшего качества видео. Я впервые получил сносный результат лишь спустя 6 часов тренировок. Запускаем эту команду и идем чилить. Главное иногда поглядывать на браузер, дабы ничего не слетело. Как только вам показалось, что модель достаточно натренирована, выполняем две оставшиеся команды. Затем выбираем Export to Drive и режим result video. Спустя несколько минут готовый дипфейк уже будет у вас на диске.
Заключение
Надеюсь вам понравился данный гайд и вы сможете найти ему достойное применение.