2021-05-01 18:20:20
Данная статья представлена исключительно в ознакомительных целях и не несет призыва к действию. Вся информация направлена на то, чтобы уберечь читателей от противозаконных действий.
Вступление
Что такое 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 и грузим ее на наш гугл диск.
73 viewsˣᵃᵐᶦᵈツ, edited 15:20