Deep Fakes: взгляд с высоты птичьего полета

Эта статья основана на исследовании Толосаны и др. в этой статье. Моя цель - дать общий обзор текущего состояния дел в мире DeepFakes и, надеюсь, вдохновить вас на продвижение передовых технологий, упомянутых здесь :)

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

В этой области появились четыре основных направления исследований.

  • Синтез лица
  • Обмен удостоверениями
  • Манипуляции с атрибутами
  • Обмен выражениями

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

Хотите прочитать эту историю позже? Сохранить в журнале.

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

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

  • Для праймера по GAN ознакомьтесь с этой статьей Джейсона Браунли.

TL; DR; GAN - это модельная архитектура для обучения генеративной модели. Архитектура модели GAN включает две подмодели: модель генератора для создания новых примеров и модель дискриминатора для классификации того, являются ли сгенерированные примеры реальными, из предметной области или поддельными, созданными моделью генератора. Две модели, генератор и дискриминатор, обучаются вместе. Генератор генерирует пакет выборок, которые вместе с реальными примерами из домена передаются дискриминатору и классифицируются как настоящие или поддельные. Затем дискриминатор обновляется, чтобы лучше различать реальные и поддельные выборки в следующем раунде, и, что важно, генератор обновляется в зависимости от того, насколько хорошо или нет сгенерированные выборки обманули дискриминатор.

  • Прочтите этот пост на Quora, чтобы понять метрику EER, которую мы будем использовать для оценки различных моделей.

TL; DR; EER - это точка, в которой ваша ложная идентификация и уровень ложного отказа минимальны и оптимальны. Чем ниже EER, тем лучше ваша система.

Синтез лица

Это создание синтетических изображений лица в основном с помощью методов GAN. Две самые популярные архитектуры здесь - ProGAN и StyleGAN.

ProGAN (прогрессивное развитие сетей GAN)

Ключевая идея состоит в том, чтобы постепенно наращивать и генератор, и дискриминатор, начиная с низкого разрешения и затем добавляя слои, моделирующие все более мелкие детали по мере обучения.

Были выполнены следующие шаги:

  • Искусственно сжимайте изображения до очень маленького разрешения изображения, скажем, всего 4 на 4 пикселя.
  • Создайте генератор с несколькими слоями для синтеза изображений с таким низким разрешением и соответствующий дискриминатор с зеркальной архитектурой. Обучите эту модель, это должно быть относительно быстро с самого начала, так как изображения имеют очень низкое разрешение.
  • Добавьте еще один слой и удвойте выходное разрешение сгенерированного изображения.
  • Сохраните веса из более ранних слоев, но не замораживайте их и не переобучайте сеть, этот новый слой должен постепенно исчезать, и в конечном итоге GAN выдаст убедительные изображения с новым разрешением 8 на 8.
  • Повторяйте описанные выше шаги до тех пор, пока на выходе не будет желаемого разрешения.

StyleGAN

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

В то время как традиционный генератор передает скрытый код только через входной слой, StyleGAN сначала сопоставляет входные данные с промежуточным скрытым пространством W, которое затем управляет генератором посредством адаптивной нормализации экземпляров (AdaIN) на каждом уровне свертки. Гауссов шум добавляется после каждой свертки перед оценкой нелинейности. Здесь «A» обозначает изученное аффинное преобразование, а «B» применяет изученные коэффициенты масштабирования для каждого канала к входному шуму. Затем выходной сигнал последнего слоя преобразуется в RGB с использованием отдельной свертки 1 × 1.

Наборы данных

Популярные общедоступные базы данных включают

  • 100K-Generated Images - содержит 100 000 синтетических изображений, созданных с использованием архитектуры StyleGAN, обученной с использованием набора данных FFHQ.
  • 100K-Faces - содержит 100 000 синтетических изображений, обученных с использованием 29 000 фотографий 69 различных моделей. Все изображения в обучающей выборке были сняты в контролируемых настройках, то есть с плоским фоном, поэтому полученные синтетические изображения не содержат каких-либо странных артефактов.
  • DFFD (Diverse Fake Face Dataset) - 100 000 и 200 000 поддельных изображений, созданных с помощью ProGAN и StyleGAN соответственно.
  • iFakeFaceDB - 250 000 и 80 000 синтетических изображений, созданных с использованием StyleGAN и ProGAN соответственно.

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

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

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

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

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

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

Для любой магистральной сети, такой как XceptionNet или VGG16, в сеть может быть добавлен уровень внимания. Он принимает в качестве входных данных многомерный признак F, оценивает карту внимания M_att и по каналам умножает его на многомерные признаки из сверточной нейронной сети, которые передаются обратно в магистраль. Помимо потери контроля двоичной классификации L_classifier, для оценки карты внимания могут применяться контролируемые или слабо контролируемые потери, L_map, в зависимости от того, доступна ли наземная карта обработки истинности M_gt.

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

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

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

Обмен удостоверениями

Это, наверное, самая популярная область исследований глубоких подделок. Это замена лица одного человека на видео лицом другого человека. Самые популярные алгоритмы - FakeApp и FaceSwap-GAN.

Алгоритм FakeApp не является общедоступным, но алгоритм FaceSwap-GAN был смоделирован после CycleGAN.

CycleGAN

Идея высокого уровня в CycleGANs состоит в том, чтобы научиться переводить изображение из исходного домена X в целевой домен Y в отсутствие парных примеров и, следовательно, изучать отображение G: X → Y, так что распределение изображений из G (X) неотличимо от распределения Да, используя состязательный проигрыш. Эта проблема затем сочетается с потерей согласованности цикла из-за обратного преобразования F: Y → X, такого что F (G (X)) ≈ X и наоборот. Это дает полную цель CycleGAN для преобразования непарного изображения в изображение.

Модель, как показано выше, содержит две функции сопоставления G: X → Y и F: Y → X, и связанные состязательные дискриминаторы D_Y и D_X. D_Y побуждает G переводить X в выходные данные, неотличимые от домена Y, и наоборот для D_X и F. Чтобы еще больше упорядочить сопоставления, они ввели двухцикловый потери согласованности, улавливающие интуицию, что если мы переводим из одного домена в другой и обратно, мы должны прийти к тому, с чего начали: (b) потеря согласованности прямого цикла: xG (x) → F (G (x)) ≈ x и © обратная потеря согласованности цикла: y → F (y) → G (F ( y)) ≈ y

Faceswap-GAN

Архитектура FaceSwap-GAN основана на этой идее со следующей архитектурой.

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

Наборы данных

Наборы данных разделены на базы данных 1-го и 2-го поколения, причем последние имеют значительно более высокий реализм и несколько видимых артефактов.

Популярные базы данных по замене лиц первого поколения включают в себя:

  • DeepFake - 620 фейковых видеороликов (сделанных с помощью CycleGAN) 32 тематик из базы данных VidTIMIT. Многозадачные каскадные сети свертки использовались для более стабильного обнаружения лиц и надежного выравнивания лиц, а фильтры Калмана также использовались для сглаживания положения счетного поля по кадрам и устранения дрожания на замененном лице.
  • FaceForensics ++ - 1000 поддельных видеороликов, созданных из реальных видеороликов YouTube. Сделано с использованием комбинации алгоритма FaceSwap и техник DeepFake.

Популярные базы данных по замене лиц второго поколения включают:

  • DeepFakeDetection - сделано с помощью DeepFaceLab
  • DFDC - частный набор данных, созданный в результате сотрудничества Facebook, Microsoft, и Amazon.

Разницу между базами данных 1-го и 2-го поколений можно увидеть ниже.

Что касается обнаружения манипуляций, Толосана и др. (2020) разработали одну из самых современных моделей обнаружения смены лиц в базах данных 2-го поколения (уже существует множество хороших алгоритмов, которые позволяют -Современное по базам данных 1-го поколения). Изюминкой их подхода было то, что вместо того, чтобы выбирать все лицо в качестве входных данных для алгоритма обнаружения, они передавались в определенные области лица, такие как глаза, нос, рот и т. Д. Эти области лица затем сегментируются на 68 ориентиров, инвариантных по позе, с использованием OpenFace2. , набор инструментов с открытым исходным кодом. Остальные части лица отбрасываются. Затем каждая из этих областей лица отображается на детекторах лиц в качестве входных данных. Детекторы лиц в основном относятся к моделям Xception или Capsule Network.

Есть еще много возможностей для улучшения, особенно в базах данных 2-го поколения, которые, по всей видимости, постоянно имеют высокие значения EER даже для сложных алгоритмов, таких как приведенный выше Tolosana et al.

Манипуляции с атрибутами

Это изменение в изображении некоторых атрибутов лица, таких как цвет волос, кожа, пол, возраст и т. Д.

(STGAN) GAN с селективной передачей в настоящее время являются последними достижениями в области управления атрибутами лица, как это видно из приведенных выше примеров.

СТГАН

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

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

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

Таким образом, общая структура СТГАНа представлена ​​выше. Слева - генератор. На верхнем правом рисунке показана подробная структура STU, и все переменные, отмеченные на этом рисунке, имеют одно и то же измерение. Вектор атрибутов разницы для добавления очков и удаления атрибутов «Открытый рот» показан в правом нижнем углу.

Наборы данных

DFFD - золотой стандарт для манипуляций с атрибутами. Он содержит 18 416 и 79 960 изображений, созданных с помощью подходов FaceApp и StarGAN.

Модель, разработанная Данг и др. (упомянутая в разделе Синтез лиц выше), объединила механизм внимания с магистралью ConvNet для достижения современного уровня обнаружения, как показано ниже.

Обмен выражениями

Это изменение выражения лица человека на видео. Популярные подходы - Face2Face и NeuralTexture. Мы изучим NeuralTexture.

Нейронные текстуры

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

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

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

Подходы GAN в этой области включают InterFaceGAN, UGAN, AttGAN и STGAN.

Наборы данных

Единственной доступной базой данных для исследований в этой области является База данных FaceForensics. Изначально база данных FaceForensics была ориентирована на подход Face2Face. Это подход компьютерной графики, который передает выражение исходного видео на целевое видео, сохраняя при этом личность целевого человека. Это было выполнено путем ручного выбора ключевых кадров. Конкретно, первые кадры каждого видео использовались для получения временной идентичности лица (то есть 3D-модели) и отслеживания выражения на оставшихся кадрах. Затем были созданы поддельные видеоролики путем передачи исходных параметров выражения каждого кадра (то есть 76 коэффициентов Blendshape) в целевое видео.

Позже те же авторы представили в FaceForensics ++ новый подход к обучению, основанный на обсужденных выше NeuralTexture.

Rössler et al реализовали современное обнаружение обмена выражениями в наборе данных FF +, указанном выше.

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

Действительно, этот подход превосходит почти все наивные подходы, как видно из таблицы ниже.

В дополнение к четырем областям, которые мы подробно рассмотрели, появляются новые области исследований методов DeepFake, которые не так широко обсуждаются, но имеют потенциал для развития. Мы кратко рассмотрим две такие области:

  • Морфинг лица
  • Аудио в видео и текст в видео

Морфинг лица

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

Общедоступных наборов данных не так много, поэтому нет эталона для честного сравнения моделей. Частный набор данных FVC содержит 1800 фотографий 150 субъектов, которые были созданы с использованием 6 различных алгоритмов.

Аудио в видео и текст в видео

Это глубокие подделки с синхронизацией губ, где ввод может быть звуком или текстом, а также многочасовым видео с предметом. Затем LSTM используется для изучения сопоставления необработанных звуковых или текстовых функций с формами рта. Затем на основе формы рта в каждом кадре можно синтезировать высококачественную текстуру рта, которую затем можно комбинировать с 3D Pose Matching для создания нового видео, которое соответствует входной звуковой дорожке.

Одна такая реализация публично доступна здесь.

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

Пусть A ≡ {A_1, A_2, · · ·, A_t, · · ·, A_K} будет аудиопоследовательностью, в которой каждый элемент A_t представляет аудиоклип в этой аудиопоследовательности.

Пусть I ≡ {I_1, I_2, · · ·, I_t, · · ·, I_K} будет соответствующей последовательностью реальных говорящих лиц. И I ∗ ∈ I - изображение идентичности, которое может быть любым отдельным изображением, выбранным из реальной последовательности изображений.

С учетом аудиопоследовательности A и одного индивидуального изображения I ∗ в качестве условия задача создания говорящего лица направлена ​​на создание последовательности кадров ˜I = {˜I1, ˜I_2, · · ·, ˜I_t, · · ·, ˜I_K}, так что условное распределение вероятностей ˜I задано A и I ∗ близок к таковому для I, когда даны A и I ∗, т. Е. , p (˜I | A, I ∗) ≈ p (I | A, I ∗) .

Одна такая реализация дала следующие результаты.

Заключение

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

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

Я считаю, что этого мема будет достаточно, чтобы направить ваше исследование DeepFakes.

Удачного взлома :)

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