Deepfake. Реализация технологии замены лиц в видео. Часть 1

Автор: sergeim52b20. Я работаю с генеративными моделями, одним из моих проектов является разработка DeepFake. Планирую создать несколько статей про этот проект. Данная статья является первой, в ней я рассмотрю архитектуры которые можно использовать, их достоинства и недостатки.

Из существующих подходов к созданию DeepFake можно выделить следующие:

  • Архитектура основанная на схеме кодер-декодер
  • Генеративно-состязательные сети(GAN)

Энкодер-декодер архитектура

К данной подходу можно отнести методы генерации основанные на автоэнкодерах. Их объединяет использование пиксельных(изображение на входе попиксельно сравнивается с изображением на выходе, оптимизируется MSE,MAE и т.п. функции потерь) потерь, что определяет достоинства и недостатки и данной схемы.

Плюс в том, что автоэнкодеры относительно просто (в сравнении с GAN) обучать. Минус – оптимизация по пиксельным метрикам не позволяет добиться фотореалистичности, сравнимой с другими методами (опять же в сравнении GAN). Первым вариантом, который я рассмотрел, была схема с двумя декодерами. Подробнее можно ознакомиться здесь. Архитектура представлена на рисунке ниже.

dipfeyk1.png

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

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

К достоинствам можно отнести относительную компактность – в отличие от других подходов, не нужно создавать и обучать (или искать готовые и адаптировать) дополнительные сетки для кодирования внешности. Но ограничение «каждому человеку – отдельный декодер» ограничивает применение данной архитектуры, поэтому рассмотрим следующую.

Подробнее
Пожалуйста, оцените статью:
Ваша оценка: None Средняя: 5 (1 vote)
Источник(и):

Хабр