- Регистрация
- 12.04.17
- Сообщения
- 19.095
- Реакции
- 107
- Репутация
- 0
пример работы First Order Motion Model
Можно ли из одной фотографии сделать целый фильм? А записав движения одного человека, заменить его на другого в видео? Безусловно, ответ на эти вопросы, крайне важен для таких сфер как кинематограф, фотография, разработка компьютерных игр. Решением может стать цифровая обработка фотографии с помощью специализированного ПО. Задача, о которой идет речь, среди специалистов в этой области называется задачей автоматического синтеза видео или анимации изображения.
Для получения ожидаемого результата существующие подходы объединяют объекты, извлеченные из исходного изображения, и движения, которые могут поставляться в виде отдельного видео – «донора».
Сейчас, в большинстве сфер, анимация изображений осуществляется с помощью инструментов компьютерной графики. Для этого подхода требуются дополнительные знания об объекте, который мы хотим анимировать — обычно необходима его 3D модель (как сейчас это работает в кино индустрии можно почитать
You must be registered for see links
). Большинство последних решений рассматриваемой задачи основывается на глубоком обучении моделей, в основе которых лежат генеративно-состязательные нейросети (GAN) и вариационные автоэнкодеры (VAE). Данные модели обычно используют предобученные модули для поиска ключевых точек объектов на изображении. Главная проблема такого подхода — данные модули способны распознавать только объекты, на которых они были обучены.Как же решить описанную задачу для произвольных объектов, находящихся в кадре? Один из способов предложен в статье «
You must be registered for see links
». Авторы предлагают свою модель нейросети — First Order Motion Model, которая решает задачу анимации изображения без предобучения на анимируемом объекте. Обучившись на множестве видеороликов, изображающих объекты одной категории (например, лица, человеческие тела), разработанная авторами сеть позволяет анимировать все объекты, относящиеся к данной категории.Подробнее разберемся как это работает…
Особенности решения
Для моделирования сложных движений используется набор энкодеров ключевых элементов объекта, обученных без учителя и локальные аффинные преобразования.
Для исключения из рассмотрения частей объекта, не видных на исходном изображении, применяется маска перекрытия (occlusion map). Так как эти части отсутствуют на изображении они должны быть сгенерированы нейросетью самостоятельно. Авторы также расширяют функцию эквивариантных потерь, используемую для обучения детектора ключевых точек, с целью улучшения оценки афинных преобразований.
Общая схема
Фреймворк состоит из двух основных модулей: модуля оценки движения и модуля генерации изображения. Модуль оценки движения предназначен для предсказания поля движения из кадра
На вход детектору ключевых точек подаётся изображение
Далее рассмотрим особенности данного решения более подробно.
Локальные аффинные преобразования для приближения движения
Модуль оценки движения оценивает обратный оптический поток
Получаем:
Чтобы оценить
Итого:
Предсказатель ключевых точек выдает
You must be registered for see links
, по одной для каждой ключевой точки.Последний слой декодера использует softmax для предсказания тепловых карт, которые могут интерпретироваться как карты достоверности обнаружения ключевых точек.
Авторы используют сверточную нейросеть
Здесь
Генерация изображения
Напомню, что исходное изображение
где
Мы оцениваем маску перекрытия с помощью разреженного представления ключевых точек, добавляя канал к конечному слою сети переноса движения.
Функции потерь
Сеть тренируется непрерывно, комбинируя несколько функций потерь. Используется reconstruction loss, основанная на
You must be registered for see links
. В качестве ключевой функции потерь для движений в кадре применяется пред-обученная сеть VGG-19. Формула reconstruction loss представлена ниже:Наложение ограничения эквивариантности
Предсказатель ключевых точек не требует каких-либо знаний о ключевых точек во время обучения. Это может привести к нестабильным результатам. Ограничение эквивариантности является одним из наиболее важных факторов, определяющих нахождение ключевых точек без учителя. Это заставляет модель прогнозировать ключевые точки, которые не противоречат известным геометрическим преобразованиям. Поскольку модуль оценки движения не только предсказывает ключевые точки, но также и Якобианы, мы расширяем функцию потерь эквивариантности, чтобы дополнительно включить в нее ограничения на Якобианы.
Авторы предполагают, что изображение
You must be registered for see links
. После этой деформации мы получаем новое изображение
После разложения в ряд Тейлора обеих частей уравнения мы получаем следующие ограничения (здесь
Для ограничения положений ключевых точек используется функция
Анимация
Для анимации объекта из исходного кадра
Важно заметить, что в связи с этим возникает ограничение — объекты на кадрах
Модель ставит рекорды!
Модель обучалась и тестировалась на 4 различных наборах данных:
-
You must be registered for see links— датасет лиц из 22496 видео, взятых из YouTube;
-
You must be registered for see links— датасет для анализа лиц, состоящий из 1240 видео;
-
You must be registered for see links— датасет, состоящий из видео, собранных роботизированной рукой Сойера, которая кладет разные предметы на стол. В нем 42880 обучающих и 128 тестовых видео.
- 280
You must be registered for see linksвидео из YouTube.
Результаты работы сравнивались с
You must be registered for see links
и
You must be registered for see links
, так как они являются единственными существующими решениями для анимации изображений без предварительного моделирования.
Как видно из таблицы, First Order Motion модель превосходит другие подходы по всем показателям.
Долгожданные примеры
You must be registered for see links
You must be registered for see links
А теперь попробуйте сами! Это совсем просто, все подготовлено
You must be registered for see links
.



