НОВОСТИ Дипфейк видео по одному кадру

Bonnie
Оффлайн
Регистрация
12.04.17
Сообщения
19.095
Реакции
107
Репутация
0
ruu1i2f53e-_0vifyiziwyfq8ta.gif

пример работы First Order Motion Model


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



Для получения ожидаемого результата существующие подходы объединяют объекты, извлеченные из исходного изображения, и движения, которые могут поставляться в виде отдельного видео – «донора».


Сейчас, в большинстве сфер, анимация изображений осуществляется с помощью инструментов компьютерной графики. Для этого подхода требуются дополнительные знания об объекте, который мы хотим анимировать — обычно необходима его 3D модель (как сейчас это работает в кино индустрии можно почитать ). Большинство последних решений рассматриваемой задачи основывается на глубоком обучении моделей, в основе которых лежат генеративно-состязательные нейросети (GAN) и вариационные автоэнкодеры (VAE). Данные модели обычно используют предобученные модули для поиска ключевых точек объектов на изображении. Главная проблема такого подхода — данные модули способны распознавать только объекты, на которых они были обучены.


Как же решить описанную задачу для произвольных объектов, находящихся в кадре? Один из способов предложен в статье « ». Авторы предлагают свою модель нейросети — First Order Motion Model, которая решает задачу анимации изображения без предобучения на анимируемом объекте. Обучившись на множестве видеороликов, изображающих объекты одной категории (например, лица, человеческие тела), разработанная авторами сеть позволяет анимировать все объекты, относящиеся к данной категории.


Подробнее разберемся как это работает…

Особенности решения



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


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

Общая схема



Фреймворк состоит из двух основных модулей: модуля оценки движения и модуля генерации изображения. Модуль оценки движения предназначен для предсказания поля движения из кадра
03d59a87b87672a6c8ab89480fffc54b.svg
видео в исходное изображение
581d5bd6e880e3eed422049ee0969478.svg
. Поле движения позже используется для выравнивания ключевых точек объектов из кадра
cb6d45cf916546ae1085088c0c5dcd09.svg
в соответствие с позой этих объектов в кадре
c5e2ea3b63d255f7a483773fe1d664b2.svg
.


0xrecqhwm_d83qfkjpwhyaas8xu.png



На вход детектору ключевых точек подаётся изображение
cb6d45cf916546ae1085088c0c5dcd09.svg
и кадр
c5e2ea3b63d255f7a483773fe1d664b2.svg
из видео. Этот детектор извлекает представление движения первого порядка, состоящего из разреженных ключевых точек и локальных аффинных преобразований относительно абстрактного кадра (системы отсчета)
b81a7c1e9676b36cc02ddeea5d5f6e51.svg
. Сеть переноса движения использует такое представление движения для создания обратного оптического потока
8e3f7e05bf66457c31fede4d1b053798.svg
из
c5e2ea3b63d255f7a483773fe1d664b2.svg
в
cb6d45cf916546ae1085088c0c5dcd09.svg
и карту перекрытия
5f116c2c2818ea112a740e5c15d37752.svg
. Исходное изображение и выходные данные сети переноса движения используются модулем генерации изображения для визуализации целевого изображения.


Далее рассмотрим особенности данного решения более подробно.

Локальные аффинные преобразования для приближения движения



Модуль оценки движения оценивает обратный оптический поток
810a4be668b6d3dbdd6c6f7ff47e7fb2.svg
от движущегося кадра
c5e2ea3b63d255f7a483773fe1d664b2.svg
до исходного кадра
cb6d45cf916546ae1085088c0c5dcd09.svg
. Авторы аппроксимируют
810a4be668b6d3dbdd6c6f7ff47e7fb2.svg
разложением в ряд Тейлора в окрестности ключевых точек. Предполагается, что существует абстрактный кадр
b81a7c1e9676b36cc02ddeea5d5f6e51.svg
(система отсчета), поэтому оценка
810a4be668b6d3dbdd6c6f7ff47e7fb2.svg
выражается через оценки
cc857eb809447ced78efb7ae90082a03.svg
и
f9bde68f829681ee7b96e645700af128.svg
. Более того, учитывая кадр результата
6d6a4f78fbacd6edecc018ce8ad3e364.svg
, мы оцениваем каждое преобразование
503a9a93067d26dfdf7fd18be1e9446f.svg
в окрестности обученных ключевых точек. Рассмотрим разложение в ряд Тейлора в
8b19d849a66473b36d68c78d06462129.svg
ключевых точках
3f327813d310ee7d2088948b04b1fe5c.svg
, где
3f327813d310ee7d2088948b04b1fe5c.svg
обозначают координаты ключевых точек в
b81a7c1e9676b36cc02ddeea5d5f6e51.svg
.


Получаем:


o8myzmyow_q77egbm6eosnjrsp0.png



Чтобы оценить
2821a73e797e7a2be7f904a1685107cb.svg
, предполагаем, что
503a9a93067d26dfdf7fd18be1e9446f.svg
локально биективен в окрестности каждой ключевой точки.


Итого:



a86fc6e904f400620de1bd4189f96f39.svg



Предсказатель ключевых точек выдает
2bef94fe98dcd29ff9e873b013a6992a.svg
и
2db091539b147dd55451c5b8ed4469a0.svg
. Авторы используют стандартную архитектуру U-Net, которая оценивает
8b19d849a66473b36d68c78d06462129.svg
, по одной для каждой ключевой точки.
Последний слой декодера использует softmax для предсказания тепловых карт, которые могут интерпретироваться как карты достоверности обнаружения ключевых точек.


Авторы используют сверточную нейросеть
c3d2f2c44fc42edea27de7f8f67b4829.svg
для оценки
8e3f7e05bf66457c31fede4d1b053798.svg
с помощью
9463276f17a3c0d07109fbf3027d5715.svg
в ключевых точках (здесь координаты ключевых точек обозначили через
4ec3e23638b6073b649999485c251c94.svg
), и исходный кадр
cb6d45cf916546ae1085088c0c5dcd09.svg
. Важно, что параметры
8e3f7e05bf66457c31fede4d1b053798.svg
, такие как края или текстура, выровнены попиксельно в соответствии с
c5e2ea3b63d255f7a483773fe1d664b2.svg
, а не с
cb6d45cf916546ae1085088c0c5dcd09.svg
. Для того чтобы входные данные были уже выровнены с
8e3f7e05bf66457c31fede4d1b053798.svg
, мы деформируем исходные кадры и получаем
8b19d849a66473b36d68c78d06462129.svg
преобразованных изображений
132c54df3fc999485dd41a2526f2ecc1.svg
(
3a800c5ae1265e8bd4af014a6553ff52.svg
), каждое из которых выровнено относительно
8e3f7e05bf66457c31fede4d1b053798.svg
в окрестности ключевой точки. Тепловые карты и преобразованные изображения
a296613a261aa90f4526358be541a2b2.svg
объединяются и обрабатываются в U-Net.
dbc7cbfc9152808b812119648b85fd1e.svg
выражается формулой:


jpf5rzgzijfa4fgmtpvzuxpg5gg.png



Здесь
6fc627fc762c7c324c1ece9231449576.svg
— маска для выделения окрестности контрольной точки для которой происходит это преобразование (
fb4edfe9cc6d4246b04e63c93b1c347b.svg
— для добавления фона) и
328196090ce14d0159bf610d2da8f72a.svg
выражается формулой:


6d9yfsloxcec9hjgjhv_tg-avqo.png


Генерация изображения



Напомню, что исходное изображение
cb6d45cf916546ae1085088c0c5dcd09.svg
не выровнено попиксельно с создаваемым изображением
c3a48880444f2e36250007c5b0cb46b9.svg
. Чтобы справиться с этим, авторы используют стратегию деформации объекта. После двух down-sampling блоков мы получаем карту объектов
784fcdf9cdcfa57c6427fcf9a0c97a2c.svg
. Затем мы деформируем
9e02966d0ded8959b0f9032fbc3dc9be.svg
в соответствии c
8e3f7e05bf66457c31fede4d1b053798.svg
. При наличии перекрытий в
cb6d45cf916546ae1085088c0c5dcd09.svg
, оптического потока может быть недостаточно для генерации
c3a48880444f2e36250007c5b0cb46b9.svg
. Здесь вводится понятие — карта перекрытий
27c0b80e9dd34d918f05ba833cb496bb.svg
, чтобы пометить области карты объектов, которые должны быть дорисованы, потому что они отсутствуют на изображении
cb6d45cf916546ae1085088c0c5dcd09.svg
. Новая карта объектов выглядит так:



43d3f6d3a76e300428156eff1b809eeb.svg



где
bf0d779ea5f9e03a5ebc27351e6c0e52.svg
означает операцию обратной деформации, а
67146935cf5aba0e5a807a03b1a373cb.svg
— произведение Адамара (поразрядное логическое умножение соответствующих членов двух последовательностей равной длины).


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

Функции потерь



Сеть тренируется непрерывно, комбинируя несколько функций потерь. Используется reconstruction loss, основанная на . В качестве ключевой функции потерь для движений в кадре применяется пред-обученная сеть VGG-19. Формула reconstruction loss представлена ниже:



eecc74e17cfd21a7c8f42858a0ffe369.svg



c3a48880444f2e36250007c5b0cb46b9.svg
— восстановленный кадр,
c5e2ea3b63d255f7a483773fe1d664b2.svg
— кадр с исходным движением,
2d7c7989bcb0bf00ae6ca69c573c98a0.svg
— i-ый элемент канала, извлеченный из конкретного слоя VGG-19,
64beb737a23fb5cb0a455f0e9213f2a4.svg
— количество каналов элементов в этом слое.

Наложение ограничения эквивариантности



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


Авторы предполагают, что изображение
6d6a4f78fbacd6edecc018ce8ad3e364.svg
претерпевает пространственную деформацию
9bb64bd19907b1e28595ac6ac6d6c2c3.svg
, которая может быть как аффинным преобразованием, так и . После этой деформации мы получаем новое изображение
c62ff25ef4caeaeaef7122a489ef9d07.svg
. Применяя расширенную оценку движения к обоим изображениям, получаем набор локальных аппроксимаций для
503a9a93067d26dfdf7fd18be1e9446f.svg
и
14019f4fa352bbd410a23804fdda6c27.svg
. Cтандартное ограничение эквивариантности записывается так:



cb407334a3faa61168d295ea20d8ebe5.svg



После разложения в ряд Тейлора обеих частей уравнения мы получаем следующие ограничения (здесь
fdb20608aec167aa5f7df96ae7b72507.svg
— единичная квадратная матрица):

xd0t4ngjbhihf67gf_da9xlhhny.png


Для ограничения положений ключевых точек используется функция
3f771243c6e4e2826f3071100c3a50fc.svg
. Авторы используют равные веса при объединении функций потерь во всех экспериментах, так как модель не чувствительна к относительным весам reconstruction loss и 2х эквивариантных функций потерь.

Анимация



Для анимации объекта из исходного кадра
e29fc17ca42a00ef869e26fad569759e.svg
с помощью кадров видео
83fb12d418b0d0d4025280283d0d5c37.svg
каждый кадр
c5bc504029a3ef4ca69da7af886443b5.svg
самостоятельно обрабатывается, чтобы получить
c898f591dc91feb8540db1dbe8fb50f0.svg
. Для этого в кадр
e29fc17ca42a00ef869e26fad569759e.svg
передается относительное движение между
362ec51330ace4e2e80ebc1fb90dfe3b.svg
и
c5bc504029a3ef4ca69da7af886443b5.svg
. То есть, мы применяем преобразование
4cba022d9a53ae5c86fd545597b6bc42.svg
в окрестности каждой точки
4da63089577b5a75c69c28893ef35132.svg
:


fevyzeqwuqjlkx6udhfihvhhzhu.png



Важно заметить, что в связи с этим возникает ограничение — объекты на кадрах
e29fc17ca42a00ef869e26fad569759e.svg
и
362ec51330ace4e2e80ebc1fb90dfe3b.svg
должны иметь похожие позы.

Модель ставит рекорды!



Модель обучалась и тестировалась на 4 различных наборах данных:

  1. — датасет лиц из 22496 видео, взятых из YouTube;
  2. — датасет для анализа лиц, состоящий из 1240 видео;
  3. — датасет, состоящий из видео, собранных роботизированной рукой Сойера, которая кладет разные предметы на стол. В нем 42880 обучающих и 128 тестовых видео.
  4. 280 видео из YouTube.


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


g1i1wibydixredtdjjf6ozoji8q.png



Как видно из таблицы, First Order Motion модель превосходит другие подходы по всем показателям.

Долгожданные примеры



aokls5vqm99ouvx0l3ubv2xh-xs.gif




pbfk34ek4nydx_2-6mbwsarwomy.gif




А теперь попробуйте сами! Это совсем просто, все подготовлено .
 
Сверху Снизу