Введение

Близится конец 2019 года, и вот я изучаю Deepfakes. Впервые появившись в конце 2017 года на Reddit под ником deepfakes, я знаю, что опаздываю на вечеринку. Тем не менее, Deepfakes по-прежнему остается горячей темой для исследований в сообществе глубокого обучения. Всего 2 месяца назад Facebook объявил о конкурсе Deepfake Detection Challenge, при этом был выпущен первоначальный набор данных. (См. https://deepfakedetectionchallenge.ai/) Заинтересовавшись созданием собственного набора данных Deepfake и размещением знаменитостей в случайных фильмах, я начал свое приключение.

Установка

Я погуглил о создании Deepfakes и наткнулся на несколько репозиториев, самые популярные из которых (27,2 тысячи звезд) — это deepfakes/faceswap. Процесс установки был относительно простым, следуя инструкциям на веб-сайте, и он даже поставляется с графическим интерфейсом.

Данные

Изображения двух разных людей были удалены из Интернета. Я решил пойти с Обамой и Трампом, поскольку они являются двумя очень популярными примерами дипфейков, и я хотел проверить, как программное обеспечение будет работать с разными цветами кожи. В качестве альтернативы изображениям также есть возможность извлекать кадры из видео, чтобы получить лица. Из того, что я нашел, лучше всего было бы собрать четкие изображения объектов с разным положением, углом освещения и выражением лица. Изображения с окклюзией лица отсеивались. Вы можете найти наборы данных, которые я использовал, на https://hungryai.com/home.

Обучение

Я пошел с тренером Dfl-Sae после того, как попробовал несколько настроек. Обучение проводилось на Nvidia RTX 2080Ti в течение 2 дней, количество итераций превысило 200 000.

Результаты

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

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

Вот два примера видео полученной замены лица.

Больше результатов

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

Вывод

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

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

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