![](https://habrastorage.org/webt/p_/g7/l3/p_g7l3mtfzvklor0nhgnsdugkxs.jpeg)
Иллюстрация: Hyperconnect
Исследователи из сеульской компании Hyperconnect создали алгоритм, который позволяет перенести мимику человека на лицо политика или другой знаменитости. Оригинальная статья была доступна на сайте Hyperconnect, но сейчас ссылка не работает. А препринт исследования опубликован на arxiv.org.
Hyperconnect — корейская компания, которая занимается видеоаналитикой, машинным обучением и дополненной реальностью для мобильных устройств. Компания создала нейросеть MarioNETte, которая может перенести лицо политика на лицо актера. Создатели утверждают, что их алгоритму для эффективной работы нужна только веб-камера.
Многие схожие алгоритмы для создания дипфейков используют генеративно-состязательные сети (GAN). По словам авторов MarioNETte, алгоритмам с GAN для симуляции нужно некоторое время на обучение и заранее подготовленное изображение. С этим ограничением пытаются справиться с помощью адаптивной нормализацией экземпляров слоев (AdaIN) и warping module. У существующих сетей остается проблема, которую авторы назвали «проблемой сохранения идентичности». Чем сильнее отличаются актер (драйвер) и человек, лицо которого пытаются скопировать (цель), тем больше будет дефектов и нестыковок на итоговой симуляции.
Авторы выделяют три главных типа дефектов. Во-первых, сети могут смешивать между собой черты лица драйвера и цели. Во-вторых, недостаточная емкость слоя AdaIN может привести к тому, что итоговому изображению будет не хватать деталей. В-третьих, сверточные сети искажают изображение если между драйвером и целью есть значительная разница в чертах лица и его положении. Все три примера иллюстрирует таблица.
![](https://habrastorage.org/webt/o8/h0/as/o8h0assgxpkonntcbvidcrv219k.jpeg)
По заявлениям специалистов Hyperconnect, MarioNETte может эффективно симулировать мимику драйвера на лице цели при малом количестве исходных изображений, даже если два лица сильно отличаются. Для этого в модель добавили три блока:
- image attention block,
- target feature alignment — позволяет переносить черты цели прямо в процессе генерации,
- landmark transformer — размывает различия и несоответствия между целью и драйвером.
Hyperconnect показали и архитектуру MarioNETte. Сначала препроцессор выделяет ключевые детали изображения у драйвера и цели. В препроцессор включен landmark transformer, который адаптирует изображения друг к другу и смягчает различия. Кодировщики драйвера и цели считывают положение и выражение лиц. Полученная информация поступает в «блендер» со встроенным image attention block. В декодере соединяется результат работы блендера и карта черт (warped feature map), которую параллельно генерирует кодировщик цели. Декодер выдает готовую симуляцию.
![](https://habrastorage.org/webt/ra/cw/ow/racwowywet2sqzm3tgjnunkfutq.jpeg)
Получившуюся сеть специалисты Hyperconnect тестировали и тренировали на VoxCeleb1 и CelebV — открытых базах с видео и фото знаменитостей. Для тренировки использовали 1251 знаменитость. А натренированные сети протестировали на 2083 наборах, которые сформировали из ста случайных видео, размещенных на VoxCeleb1 и 2000 фото с CelebV.
В итоге MarioNETte превзошла все прочие сети для генерации дипфейков. Venturbeat приводит данные стороннего исследования: контрольной группе из 100 человек показали дипфейки MarioNETte и результаты работы прочих сетей. Участники эксперимента должны были выбрать одно из двух изображений — в подавляющем большинстве случаев люди выбирали MarioNETte. Свои собственные результаты, которые говорят о превосходстве MarioNETte, опубликовали и исследователи из Hyperconnect.
![](https://habrastorage.org/webt/p_/g7/l3/p_g7l3mtfzvklor0nhgnsdugkxs.jpeg)
Hyperconnect сравнил MarioNETte с X2Face, MonkeyNet и NeuralHead-FF. X2Face — нейросеть для создания дипфейков, которую разработали исследователи из Оксфорда. Модель учится разделять проблему на две подзадачи, охватываемые двумя подсетями. Встраиваемая сеть изучает фронтальное изображение лица, а управляющая — наделяет это лицо позой и выражением драйвера.
MonkeyNet — опенсорсная нейросеть итальянских исследователей, которая состоит из трех модулей. Первый — детектор, который считывает ключевые черты лица или фигуры. Модуль Dense Motion создает тепловые карты и кодирует информацию о движении. Сеть передачи движения (Motion Transfer Generator) генерирует дипфейки из тепловых карт движения и обработанного изображения.
Отличия результатов MonkeyNet, X2Face и MarioNETte видны сразу — у первых двух сетей изображения на выходе получаются с искажениями (для демонстрации специально были подобраны люди с разными чертами лица. К примеру, Дональд Трамп — Джек Ма, Тереза Мэй — Джек Ма). Чуть лучше ситуация у NeuralHead-FF — нейросети, использующей AdaIN. На ее дипфейках не видно отчетливых неровностей, но в итоговом изображении смешиваются черты драйвера и цели.
Появление дипфейков, которые позволяют не только сделать видео с политиком или бизнесменом, но и сгенерировать порно, вызвало реакцию законодателей. В Китае с 1 января 2020 года уголовно наказуемой становится публикация любой заведомо ложной информации, в том числе дипфейков. Все подобные видео нужно будет специально пометить.
Кроме законодательной борьбы с дипфейками началась и технологическая борьба. Facebook совместно с Microsoft объявили конкурс на разработку технологии по распознаванию таких видео. Призовой фонд проекта — $10 млн.