Игра на доверие. Как создать собственный DeepFake за 5 минут

В этой статье поговорим о том, как сделать профессиональный DeepFake без написания нескольких сотен строк кода.

Если вы читаете эту статью, то, скорее всего, вы уже слышали об алгоритме искусственного интеллекта, под названием DeepFake. Сегодня дипфеки применяются практически везде: от кинематографа до порно-роликов. Недавнее исследование показало, что 96% дипфейков в интернете – это именно порно-ролики. В большинстве случает пользователи создают фальшивые порнографические видео со знаменитостями или используют технологию для порно-мести.

Помимо порнографии, технология применяется и в политике, создании фейковых новостей и различного рода обманов. В сети есть множество подобных роликов с различными политическими деятелями, в одном из них, например, Обама назвал Трампа complete dipshit (засранцем). В апреле 2018 года BuzzFeed показал, как далеко зашли технологии глубокой подделки видео, объединив лицо Барака Обамы и убедительный голос Джордана Пила.

Пример Deepfake от BuzzFeed

Однако, технология применяется не только во вред, но и на благо обществу. Например, в Музее Сальвадора Дали во Флориде в честь 115-летия известного художника была организована специальная выставка Dalí Lives («Дали жив»). Кураторы проекта использовали сгенерированный искусственным интеллектом прототип художника, который общался с посетителями музея, рассказывал им истории о своих картинах и жизни.

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

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

Как это работает?

В основе дипфейков лежат генеративно-состязательные нейросети (GAN). Это алгоритмы на базе машинного обучения, способные генерировать новый контент из заданного набора. Например, GAN может изучить тысячу фотографий Барака Обамы и создать свою, сохраняя все черты и мимику экс-президента.

Мы будем использовать модель, представленную в «First Order Motion Model for Image Animation», которая является новым подходом к замене объекта в видео другим изображением без указания какой-либо дополнительной информации и написания дополнительного кода.

Прежде чем выстроить видеопоследовательность, очень важно понимать, как именно нужно это делать.

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

Процесс создания DeepFake

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

Во время тестирования модель восстанавливает видеопоследовательность, добавляя объект с исходного изображения в каждый кадр видео, и, следовательно, анимирует его.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/9cb227d3-b5d8-4bdd-a05a-7c0812974130/Untitled.png

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

Цель модуля оценки движений заключается в том, чтобы понять, как именно они выполняются («латентное представление о движениях»). Проще говоря, он пытается отслеживать движения в их последовательности и кодировать их для перемещения ключевых точек и записи локальных аффинных преобразований. В результате мы получаем плотное поле движений и окклюзионную маску, которые работают вместе. Маска определяет, какие части объекта, двигающиеся в определенной последовательности, должны быть заменены исходным изображением (например, нижняя часть лица).

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/01b58602-fd00-4bfc-a33e-8b8702952ea8/Untitled.png
Например, в данном GIF-файле спина дамы не анимирована.

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

Создание DeepFakes

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

  1. Перейдите по ссылке: https://colab.research.google.com/github/AwaleSajil/DeepFake_1/blob/master/first_order_model_demo(Youtube)_new_audioV5_a.ipynb
  2. Создайте копию файла ipynb у себя на Google-диске.

3. Запустите первый процесс, чтобы скачать все необходимые ресурсы и настроить параметры модели.

4. Затем вы можете протестировать алгоритм используя заранее заготовленную коллекцию видео и фото. Просто выберите исходное изображение из коллекции и видео, которое вы хотите спроецировать на это изображение. Спустя пару минут у вас на руках будет готовый дипфейк.

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

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f64c4549-b451-4ab7-9a3d-fbbecea20772/Untitled.png

В итоге, совместив видео с Ивангаем и фотографию Илона Маска, нам удалось получить следующий дипфейк


Подписывайся на Эксплойт в Telegram, чтобы не пропустить новые компьютерные трюки, хитрости смартфонов и секреты безопасности в интернете.




Join the conversation.

Great! Check your inbox and click the link
Great! Next, complete checkout for full access to Эксплойт
Welcome back! You've successfully signed in
You've successfully subscribed to Эксплойт
Success! Your account is fully activated, you now have access to all content
Success! Your billing info has been updated
Your billing was not updated