Исследователи опубликовали нейросеть, которая генерирует изображения игрового персонажа на основе одной фотографии. Задача сводится к поиску наиболее близких черт лица в пространстве всех возможных черт лица. Пользователь может модифицировать сгенерированного персонажа. Подход внедрили в игру, и количество использований превысило 1 миллион.
Чтобы эффективно минимизировать расстояние между сгенерированным лицом и реальным, исследователи вводят две функции ошибки. Первая — “discriminative loss”. Вторая — “facial content loss”. Так как рендеринг игрового движка не дифференцируем, генеративная нейросеть является “имитатором”. Имитатор повторяет работу игрового движка, чтобы параметры можно было оптимизировать с помощью градиентного спуска. Результаты экспериментов показывают, что метод выдает изображения персонажа, схожие с входным изображением. Сохраняются как глобальные детали лица, так и локальные.
Что внутри
Пайплайн обучения состоит из имитатора G(x) и модуля для извлечения свойств из изображения F(y). Цель имитатора — симулировать работу игрового движка. Он принимает на вход параметры лица и генерирует изображение лица y. Модуль извлечения свойств определяет пространство свойств, в котором измеряется схожесть черт лица. В модуле извлечения свойств производится поиск наиболее близких к входному изображению черт лица.
Для обучения имитатора используется сверточная нейросеть. Структура нейросети схожа с DCGAN и состоит из 8 сверточных слоев. После обучения имитатора, используются 2 функции потерь, чтобы оценить схожесть между чертами лица на изображениях.
Сравнение с другими моделями
Метод сравнили с конкурирующими подходами для переноса стиля и восстановления модели лица человека: Global style, Local style и 3DMM-CNN. Ниже видно, что предложенный подход выдает более реалистичные результаты.