Быстрый двухслойный нейросетевой синтез реалистичных изображений нейронного аватара по одному снимку
RAPID TWO-LAYER NEURAL NETWORK SYNTHESIS OF REALISTIC IMAGES OF A NEURAL AVATAR BASED ON A SINGLE IMAGE

Область техники, к которой относится изобретение
Изобретение относится к областям компьютерной графики, глубокого обучения, состязательного обучения, к синтезу говорящей головы, нейронным аватарам, нейронному рендерингу, синтезу лица, анимации лица.
Описание известного уровня техники
Персонализированные нейронные аватары (головы) на основе ключевых точек или других представлений мимики/позы представляют собой технологию, которая имеет множество применений в системах телеприсутствия, играх, приложениях AR/VR (дополненной или виртуальной реальности) и создании спецэффектов. Моделирование внешнего вида головы субъекта представляет сложную задачу, в которой еще много нерешенных проблем. В течение как минимум двух десятилетий нейронные аватары (модели говорящих голов) создавались с помощью инструментов компьютерной графики с использованием поверхностных моделей на основе сетки и текстурных карт. разработанные системы делятся на две группы. Одни из них способны моделировать конкретных людей с очень высокой реалистичностью после приложения значительных усилий по захвату и проектированию, затраченных на этих людей. Другие системы способны создавать модели говорящих голов всего по одной фотографии, но им не хватает фотореализма.
В последние годы, из-за стремления достичь как высокой реалистичности, так и простоты создания, альтернативой классическому конвейеру компьютерной графики стали нейронные говорящие головы. В первых работах требовалось видео или даже несколько видео для создания нейронной сети, которая могла бы синтезировать вид говорящей головы субъекта. Совсем недавно в нескольких работах были представлены системы, позволяющие создавать нейронные аватары по нескольким фотографиям (установка по нескольким снимкам) или всего одной фотографии (установка по одному снимку), что вызывает как энтузиазм, так и опасения, что такая технология может использоваться не по назначению.
Методы нейронного синтеза реалистичных последовательностей говорящих голов можно разделить на методы, основанные на множестве снимков (т.е. требующие видео или несколько видео целевого субъекта для обучения модели) [11, 16, 18, 27], и на более современную группу методов, основанных на нескольких или одном снимке, которые позволяют получить модель субъекта по одной или нескольким фотографиям [24, 28, 29]. Предлагаемый метод относится ко второй категории, так как он сфокусирован на сценарии с одним снимком (моделирование по одной фотографии).
Согласно другому аспекту эти методы можно разделить в соответствии с архитектурой сети генератора. При этом в нескольких методах [16, 24, 27, 29] используются генераторы на основе прямого синтеза, когда изображение создается с использованием последовательности сверточных операторов, чередующихся с поэлементными нелинейностями и нормализациями. Информацию идентичности можно вводить в такую архитектуру либо с продолжительным обучением (в сценарии с множеством снимков) [16,27], либо используя адаптивные нормализации, зависящие от вложений [4,24,29] для конкретного субъекта. Оба этих подхода эффективно объединены в методе [29], в котором идентичность вводится через адаптивные нормализации, а затем осуществляется тонкая настройка полученного генератора на обучающем наборе на основе нескольких снимков. Метод прямого синтеза головы субъекта берет начало от работы [23], в которой были сгенерированы губы субъекта (Обамы) в последовательности говорящей головы, и затем он получил развитие до первых работ по условному сверточному нейронному синтезу общих объектов, таких как [2].
Альтернативой прямому синтезу изображения является использование дифференцируемой деформации [12] внутри архитектуры. Эту деформацию можно применить к одному из кадров. В подходе X2Face [28] деформация применяется дважды, сначала от исходного изображения к стандартизированному изображению (текстуре), а затем к целевому изображению. Система аватара кодека [18] синтезирует зависящую от позы текстуру для упрощенной геометрии сетки. Система MareoNETte [8] применяет деформацию к представлениям промежуточных признаков. Система из видео в видео по небольшому количеству снимков объединяет прямой синтез с деформацией предыдущего кадра для получения непрерывности во времени. Система моделей движения первого порядка [21] обучается деформировать представление промежуточного признака генератора на основе "неконтролируемых" ключевых точек, которые обучаются на данных. Помимо голов, дифференцируемое деформирование было недавно использовано для поворота лица, нормализации лица, рендеринга всего тела. Ранее в системе Deep Warp [5] использовалась нейронная деформация для изменения вида глаз с целью перенаправления взгляда, вместе с тем, что в ней использовалась нейронная деформация для повторного синтеза базовых сцен. В предлагаемом методе прямой синтез изображения объединяется с деформацией по-новому, так как в нем используется независимая от позы текстура RGB, содержащая мелкие детали, а также крупнозернистый зависимый от позы компонент RGB, который синтезируется нейронной сетью.
Существующие системы нейронных аватаров на основе нескольких снимков позволяют достичь замечательных результатов, но они все еще имеют ограничения в двух аспектах. Во-первых, они имеют ограниченное разрешение (до 256×256 пикселей). Это ограничение обусловлено необходимостью сбора большого и разнообразного набора данных видео в естественных условиях, что возможно при таком низком разрешении и намного сложнее при более высоком. Во-вторых, несмотря на низкое разрешение и в отличие от некоторых аватаров на основе графики, нейронные системы слишком медленны для их развертывания на мобильных устройствах и требуют высокопроизводительного графического процессора для работы в режиме реального времени. Следует отметить, что большинство сценариев применения нейронных аватаров, особенно связанных с телеприсутствием, существенно бы выиграли от возможности работать на мобильном устройстве в реальном времени.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
В настоящем изобретении решаются две проблемы систем нейронных аватаров по одному снимку и разработан подход, который позволяет работать с более высоким разрешением и гораздо быстрее, чем известные системы. Для достижения этого результата применяется двухслойное представление, при котором изображение аватара в новой позе генерируется путем суммирования двух компонентов: грубого изображения, непосредственно предсказываемого сетью рендеринга, и деформированного текстурного изображения. Хотя деформация текстуры также прогнозируется сетью рендеринга, сама текстура оценивается во время создания аватара и фиксируется во время выполнения. Для обеспечения возможности создания аватара по нескольким снимкам используется этап метаобучения на наборе данных видео, на котором осуществляется (мета)-обучение сети рендеринга, сети генератора вложений, а также сети генератора текстуры.
Разделение целевых кадров на два слоя позволяет повысить как эффективное разрешение, так и скорость нейронного рендеринга. Это достигается благодаря возможности использования автономной стадии создания аватара для синтеза текстуры с высоким разрешением, а при тестировании первый компонент (грубое изображение) и деформация текстуры не требуют наличия высокочастотных деталей и поэтому могут прогнозироваться относительно небольшой сетью рендеринга. Эти преимущества предлагаемой системы подтверждаются всесторонними сравнениями с ранее предложенными системами нейронных аватаров. Авторы также сообщают о реализации предлагаемой системы на базе смартфона в режиме реального времени, что было невозможно для ранее предложенных систем.
Предложено аппаратное обеспечение, содержащее программные продукты, выполняющие способ создания фотореалистичных изображений нейронного аватара по одному снимку, содержащий следующие этапы:
этап инициализации для создания нейронного аватара, заключающийся в том, что:
кодируют конкатенацию исходного изображения  и исходной позы , закодированной как изображение ориентиров, в стек спрогнозированных вложений  с помощью сети генератора вложений ;
инициализируют адаптивные параметры из спрогнозированных вложений  и декодируют врисованную высокочастотную текстуру исходного изображения  с помощью сети генератора текстуры ;
создают нейронный аватар путем инициализации адаптивных параметров сети генератора текстуры , используя вложения , и прогнозируют текстуру  с помощью сети генератора текстуры ;
этап предсказания для создания изображений нейронного аватара, заключающийся в том, что:
инициализируют адаптивные параметры сети генератора предсказания , используя вложения , и используют целевую позу  для прогнозирования низкочастотной составляющей  изображения аватара и деформирующего поля  с помощью сети генератора предсказания , которая генерирует высокочастотную составляющую  изображения аватара  путем применения  к текстуре  деформирующего поля , а именно
, применение обозначено знаком «०»,
при этом изображение аватара  вычисляют как сумму высокочастотной составляющей  и низкочастотной составляющей , а именно
.
При этом позу  определяют вектором координат ключевой точки лица. Этап инициализации выполняется всего один раз для каждого аватара. При этом текстура может быть высокочастотной текстурой. На этапе инициализации дополнительно обновляют высокочастотную текстуру, используя сеть обновителя текстуры, обученную добавлять индивидуальные детали субъекта к текстуре, соблюдая несоответствие между исходным изображением  и изображением аватара для исходной позы  , полученным перед обновлением текстуры. При этом деформирующее поле  представляет собой отображение между текстурными координатными пространствами и изображением аватара. Сеть генератора вложений , сеть генератора текстуры  , сеть генератора предсказания  обучаются в сквозном режиме. При этом в способе создания фотореалистичных изображений нейронного аватара дополнительно отображают реальное или синтезированное целевое изображения, конкатенированное с целевой позой, в оценки реалистичности сетью дискриминатора . Целевую позу  получают с помощью внешнего процесса отслеживания ориентиров. Процесс отслеживания можно применить к другой видеопоследовательности для того же самого или другого субъекта на основании голосового сигнала этого субъекта или создать каким-либо другим способом.
Краткое описание чертежей
Представленные выше и/или другие аспекты станут более понятными из описания примерных вариантов осуществления со ссылкой на прилагаемые чертежи.
Фиг. 1 иллюстрирует создание выходного изображения.
Фиг. 2 иллюстрирует общий конвейер выполнения метода.
Подробное описание
Разработанную модель можно использовать для синтеза искусственных изображений людей на основе представления позы. Эта модель может работать на облачных платформах, в настольных системах и мобильных устройствах.
Предложенное изобретение можно реализовать на сервере для инициализации и в смартфоне для предсказания, т.е. компонент инициализации может быть передан смартфону.
Модель создает реалистичное изображение субъекта при наличии одного исходного изображения (так называемое "обучение по одному снимку") и набора ключевых точек субъекта, которые кодируют выражение лица и повороты головы ("синтез говорящей головы"). Принципиальным отличием от других моделей является возможность ее реализации мобильными устройствами в режиме реального времени. Основная новизна предлагаемого способа заключается в том, что выходное изображение раскладывается на низкочастотные и высокочастотные составляющие. Поэтому низкочастотную составляющую можно синтезировать в режиме реального времени с использованием традиционных подходов, но гораздо более "быстрой" моделью, чем в предыдущей работе. Высокочастотная составляющая прогнозируется посредством деформации текстуры, причем она фиксируется во время предсказания.
Это позволяет "сбросить" некоторые вычисления, обычно выполняемые во время предсказания, на этап инициализации для конкретного субъекта. На этом этапе получают одно исходное изображение субъекта и инициализируют внутренние параметры модели, специфичные для этого субъекта. Еще одно новшество состоит в применении известного метода "обучения градиентным спуском" для текстуры, который позволяет дополнительно адаптировать ее к конкретному субъекту на этапе инициализации и уменьшить расхождение идентичности в создаваемом аватаре.
Методы
i
i
i
Для обучения используются видеопоследовательности, аннотированные ключевыми точками и, при необходимости, маски сегментации. t-й кадр i-й видеопоследовательности обозначается как x(t), соответствующие ключевые точки как y(t), а маски сегментации как m(t). Индекс t используется для обозначения целевого кадра, а s - исходного кадра. Кроме того, все тензоры, связанные с генерируемыми изображениями, помечены символом крышечки, например, . Предлагается принять пространственный размер всех кадров постоянным и обозначить его как HxW. В некоторых модулях введенные ключевые точки кодируются как RGB-изображение, что является стандартным подходом в большом количестве предыдущих работ [8,25,29]. В данном решении это называется изображением ориентиров. Однако в отличие от известных подходов ключевые точки вводятся непосредственно в генератор предсказания в качестве вектора. Это позволяет значительно сократить время предсказания для данного метода.
Архитектура
Как показано на фиг. 1, выходное изображение создается в два этапа: инициализация и пресказание. Во время инициализации прогнозируются вложения с использованием исходного кадра, инициализируются адаптивные параметры как генератора предсказания, так и генератора текстуры, а также прогнозируется высокочастотная текстура. Этап инициализации выполняется всего один раз для каждого аватара. Во время предсказания используются целевые ключевые точки (целевая поза) для прогнозирования низкочастотной составляющей выходного изображения и деформирующего поля, которые при приложении к текстуре дают высокочастотную составляющую. Эти составляющие, а именно изображение спрогнозированной низкочастотной составляющей и деформированное текстурное изображение, складываются вместе, образуя выходные данные.
В предлагаемом методе следующие сети обучаются в сквозном режиме:
- Сеть генератора вложений  кодирует конкатенацию исходного изображения и изображения ориентиров в стек вложений , которые используются для инициализации адаптивных параметров внутри генераторов.
- Сеть генератора текстуры  инициализирует свои адаптивные параметры из вложений и декодирует врисованную высокочастотную составляющую исходного изображения, называемую текстурой .
Сеть генератора предсказания  отображает целевые позы в изображение аватара  . Эта сеть состоит из трех частей. Часть генератора вложений позы отображает вектор позы в пространственный тензор, который используется в качестве ввода для сверточной части. Сверточная часть выполняет повышающую дискретизацию на основе адаптивных параметров, спрогнозированных из вложений. Выход сверточной части делится на  (низкочастотный слой выходного изображения), который кодирует основные черты лица, цвет кожи и источники света, и  (отображение между текстурными координатными пространствами и выходным изображением). Эти выходы объединяются в составляющей части. Высокочастотный слой выходного изображения получается путем деформации спрогнозированной текстуры: , и добавляется к низкочастотной компоненте, чтобы образовать изображение аватара:
В завершение, сеть дискриминатора , которая является условным [19] релятивистским [14] PatchGAN [11], отображает реальное или синтезированное целевое изображение, конкатенированное с целевым изображением ориентиров, в оценки реалистичности  .
Во время обучения выходное изображение создается за два этапа: специфичная для субъекта инициализация и предсказание (см. фиг. 1). На этапе инициализации сначала вводят в генератор вложений исходное изображение  и исходную позу , кодированную как изображение ориентиров. На выходе генератора вложений получают К тензоров , которые используются для прогнозирования адаптивных параметров генератора текстуры и генератора предсказания. Затем генератор текстуры синтезирует высокочастотную текстуру  исходного изображения, и на этом инициализация завершается. На этапе предсказания вводят только соответствующую целевую позу  в генератор предсказания. Он прогнозирует низкочастотную составляющую выходного изображения  непосредственно, а высокочастотную составляющую  путем деформации текстуры с помощью спрогнозированного поля . Изображение аватара  представляет собой сумму этих двух составляющих.
Важно отметить, что хотя генератор текстуры вручную побуждают генерировать только высокочастотную составляющую изображения через программную структуру функций потери, он не ограничивается конкретно выполнением врисовки. Это поведение вытекает из того факта, что для инициализации и для расчета потерь используются два различных изображения с различными позами.
На фиг.2 показан общий конвейер выполнения метода. Модуль инициализации получает изображение пользователя. Затем графическому процессору NVIDIA требуется 100 мс для инициализации аватара, т.е. для предварительного вычисления весов сети генератора предсказания и текстуры, а также для корректировки текстуры. После такой инициализации модуль предсказания может получить новое изображение аватара для новой позы, определенной положениями ключевых точек лица за гораздо меньшее время (например, 42 мс на мобильном графическом процессоре Snapdragon 855).
Процесс обучения
Для обучения используется множество функций потерь. Основная функция потерь, отвечающая за реалистичность выводов, обучается состязательным путем [7]. Также используются попиксельные потери, чтобы сохранить условия источника освещения, и перцептивные потери [13] для соответствия источнику идентичности на выходах. В заключение, выполняется регуляризация отображения текстуры для повышения устойчивости к случайной инициализации модели.
Состязательная потеря
n
n
Состязательная потеря оптимизируется как сетью генератора, так и сетью дискриминатора. Обычно она напоминает функцию потери двоичной классификации между реальными и ложными изображениями, когда дискриминатор оптимизирован для минимизации, а генератор - для максимизации [7]. Авторы руководствуются большим объемом предыдущих работ [1,8,25,29] и используют кусочно-линейную функцию потерь вместо первоначальной потери двоичной кросс-энтропии. Также вычисляются оценки релятивистского реализма [14], руководствуясь его недавним успехом в таких задачах, как суперразрешение [27] и шумоподавление [15]. Предполагается, что это дополнение сделает состязательное обучение более стабильным [14]. Поэтому используются уравнения 2 и 3 для вычисления оценок реалистичности для реальных и ложных изображений, соответственно, в которых i и t обозначают индексы элементов минипакета, N - размер минипакета и :
s
Кроме того, используется формулировка PatchGAN [11] для состязательного обучения. В ней вместо одного прогноза дискриминатор выдает на выходе матрицу оценок реалистичности, и каждый элемент этой матрицы рассматривается как оценка реалистичности для соответствующего патча во входном изображении. Эта формулировка также используется в большом количестве релевантных работ [8, 25, 26] и улучшает стабильность состязательного обучения. Если обозначать размер матрицы оценок  как H , то полученные цели можно записать следующим образом:
Уравнение 4 является единственным термином, который используется для обучения дискриминатора. Для генератора также рассчитывается потеря соответствия признаков [26], которая теперь стала стандартным компонентом моделей преобразования изображения в изображение с привлечением учителя. С этой целью авторы стремятся минимизировать расстояние между отображениями промежуточных признаков дискриминатора, вычисленными с использованием соответствующих целевого и сгенерированного изображений. Если обозначить как  признаки при различных пространственных разрешениях  , то цель соответствия признаков можно вычислить следующим образом:
Попиксельные и перцептивные потери обеспечивают соответствие спрогнозированных изображений истине, и они соответственно применяются к низко и высокочастотным составляющим выходных изображений. Поскольку использование попиксельных потерь предполагает, что все пиксели в изображении статистически независимы, эмпирически данный процесс оптимизации приводит к размытым изображениям [11], что оптимально для низкочастотной составляющей вывода. Что же касается оптимизации перцептивных потерь, она приводит к получению более четких и реалистичных изображений [13], которые используются для обучения высокочастотной составляющей. Если устранить это разделение между составляющими и обучать их совместно с помощью одной цели, то метод станет нестабильным в отношении выбора архитектуры и даже качества изображений в наборе данных, и весь обучающий сигнал получит либо низкочастотная, либо высокочастотная составляющая, в то время как другая не получит почти ничего, что приводит к неоптимальной производительности после достижения сходимости.
1
Попиксельные потери вычисляются простым измерением среднего расстояния L между целевым изображением и низкочастотной составляющей:
Для вычисления перцептивной потери необходимо использовать оператор стоп-градиента SG, который позволяет предотвратить градиентный поток в низкочастотную составляющую. Поэтому введенное сгенерированное изображение вычисляется следующим образом:
Руководствуясь работами [8] и [29], предлагаемый вариант перцептивных потерь состоит из двух компонентов: признаков, оцененных с помощью предобученной сети VGG19 ILSVRC (ImageNet) [22] и сети VGGFace [20], обученной распознаванию лиц. Если обозначить промежуточные признаки этих сетей как  и  и их пространственный размер как  , то цели можно записать следующим образом:
Важно отметить, что в отличие от этих парных потерь состязательные потери распространяются обратно как на низкочастотную, так и на высокочастотную составляющую, что приводит к более высокой реалистичности и сохранению поз на спрогнозированных изображениях.
tex
Для повышения стабильности обучения предлагается применять регуляризацию отображения текстуры. Обучающий сигнал, который получает генератор текстуры G, сначала деформируется деформирующим полем , спрогнозированным генератором предсказания. В результате этого произвольные инициализации сетей обычно приводят к неоптимальным текстурам, в которых лицо исходного субъекта занимает небольшую часть общей площади текстуры. По мере обучения это приводит к менее эффективному разрешению выходного изображения, поскольку процесс оптимизации не способен избежать этих плохих локальных оптимальных решений. Для решения этой проблемы выход сети рассматривается как дельта для отображения идентичности, а также применяется штрафная величина к этой дельте на ранних итерациях. Вес этого штрафа мультипликативно снижается до нуля во время обучения, поэтому он не влияет на итоговую производительность модели. Более конкретно, выходное деформирующее поле разлагается на сумму двух слагаемых: , где  обозначает отображение идентичности, и применяется штраф  , усредненный по количеству пространственных положений в отображении, ко второму члену:
Сети генераторов, то есть генератора вложений изображений, генератора текстуры и генератора предсказания, обучаются совместно на одной цели , которая представляет собой взвешенную сумму целей 5-7, 9-11, и, необязательно, .
Тонкая настройка
Обучение на индивидуальных исходных данных субъекта приводит к значительному улучшению реалистичности и сохранению идентичности синтезированных изображений [29], но требует больших вычислительных затрат, если оно включает в себя оптимизацию параметров модели или использование "тяжелых" целей типа состязательных или перцептивных потерь. Более того, если исходных данных недостаточно, как в сценарии с одним снимком, тонкая настройка может привести к переобучению и ухудшению производительности, что наблюдается в [29].
Для решения обеих этих проблем используется метод обученного градиентного спуска (LGD), чтобы оптимизировать только синтезированную текстуру . Оптимизация в отношении тензора текстуры предотвращает переобучение модели, в то время как LGD позволяет выполнять оптимизацию в отношении вычислительно затратных целей путем выполнения прямых проходов по предобученной сети.
В частности, вводится легковесная функция потерь  (используется сумма квадратов ошибок), которая измеряет расстояние между сгенерированным изображением и истиной в пиксельном пространстве, и сеть обновления текстуры , которая использует текущее состояние текстуры и градиент этой функции относительно текстуры для создания обновления . Во время тонкой настройки рекурсивно выполняется М шагов обновления, на каждом из которых измеряются градиенты  относительно обновленной текстуры. Более конкретно:
где  обозначает номер итерации, при  . Во время тестирования выполняются те же самые М обновлений текстуры, и полученная  используется для предсказания.
Сеть  обучают обратному распространению в течение всех М шагов. Для обучения используется та же самая цель , которая использовалась при обучении базовой модели. Она оценивается с использованием целевого кадра  и сгенерированного кадра
Важно подчеркнуть, что  использовалась для обучения , но она просто руководит обновлениями текстуры. Кроме того, градиенты относительно этой потери оцениваются на исходном изображении, в то время как цель рассчитывается на целевом изображении, что подразумевает, что сеть должна создавать обновления для всей текстуры, а не только для области, "видимой" на исходном изображении. И наконец, хотя на часть генератора базовой модели не распространяются какие-либо градиенты, обучение дискриминатора продолжается с использованием той же самой цели  . Несмотря на то, что обучение сети обновлений совместно с базовым генератором возможно и может привести к повышению качества (руководствуясь успехом метода метаобучения, независимого от модели [3]), однако из-за ограничений памяти применяется двухэтапное обучение.
Сегментация
Было обнаружено опытным путем, что средняя площадь, занимаемая лицом на целевых изображениях, влияет на производительность предлагаемого метода. Обучение деформации из текстурного координатного пространства в пространство изображения осуществляется без привлечения учителя и сильно зависит от набора данных. Например, если существует сильная корреляция между кадрами в обучающих видео, у генератора текстуры нет стимула создавать правильную текстуру с ошибочными признаками, учитывая цель соответствовать целевому изображению. В этом случае модель может просто декодировать исходное изображение из вложения и давать хорошие результаты. Этот случай неудачи приводит к плохой экстраполяции на новые точки наблюдения и может быть достигнут, если, например, значительно увеличить площадь заднего плана, поскольку она сильно коррелирована между исходным и целевым кадрами.
Следовательно, для увеличения размера обрезки в целях размещения в нем полностью головы необходимо выполнить сегментацию переднего плана, чтобы отфильтровать обучающий сигнал, связанный с задним планом. Для этого используется современная модель сегментации лица и тела [6] для получения масок истины. Затем прогнозируется маска  через генератор предсказания вместе с другими его выходами, и обучение осуществляется через потерю  двоичной кросс-энтропии, чтобы соответствовать истине . Чтобы отфильтровать обучающий сигнал, связанный с задним планом, изучалось несколько вариантов. Невозможно просто маскировать градиенты, которые подаются в генератор, так как это приведет к переобучению дискриминатора. Также невозможно применять маски истины ко всем изображениям в наборе данных, поскольку модель [6] работает настолько хорошо, что создает четкую границу между передним и задним планом, вызывая появление краевых артефактов во время обучения.
Вместо этого было обнаружено, что намного лучше работает использование прогнозов . Они гладкие и предотвращают переобучение дискриминатора на отсутствие фона или на резкость границы.  используется для маскирования всех синтезированных изображений и истинного изображения до применения потерь на основе изображений. Оператор стоп-градиента гарантирует, что обучение не сойдется к вырожденному состоянию.
Детали реализации
Предлагаемые сети состоят из остаточных блоков предварительной активации [9] с протекающими активациями ReLU. Минимальное количество признаков в этих блоках установлено на 64, а максимальное на 512. В конфигурации по умолчанию используется половина количества признаков в генераторе предсказания, но авторы также оценивают предложенную модель с полной и четвертной производительностью предсказания с результатами, представленными в экспериментах.
Во всех сетях, кроме генератора вложений и обновителя текстуры используется пакетная нормализация [10]. Внутри генератора текстуры пакетная нормализация связана с адаптивными слоями SPADE [25]. Эти слои модифицируются для прогнозирования пиксельного масштаба и коэффициентов смещения с использованием карт признаков, которые рассматриваются в качестве параметров модели вместо их введения из другой сети. Это позволяет экономить память за счет удаления дополнительных сетей и отображений промежуточных признаков из процесса оптимизации и увеличивать размер пакета. Кроме того, руководствуясь [25], прогнозируются веса для всех сверток 1×1 в сети из вложений , что включает в себя отображения масштаба и смещения в слоях AdaSPADE и замыкающие соединения в остаточных блоках повышенной дискретизации. В генераторе предсказания используются стандартные слои адаптивной пакетной нормализации [1], но также прогнозируются веса для замыкающих соединений из вложений. Для вложения векторной позы используется многослойный персептрон, выход которого преобразуется во ввод сверточной части.
Одновременный градиентный спуск реализуется на параметрах сетей генератора и дискриминатора с использованием Adam [17] со скоростью обучения . Для состязательных потерь используется вес 0.5 (уравнение 4-5) а для всех других потерь, кроме перцептивной потери VGGFace, установленной на 0.01, вес 10 (уравнение 10). Затем вес регуляризатора (уравнение 11) мультипликативно уменьшается на 0.9 через каждые 50 итераций. Предложенные модели обучаются на 8 графических процессорах NVIDIA P40 с размером пакета 48 для базовой модели и размером пакета 32 для модели обновителя. Глубина М развертывания обновителя установлена на 4, и в качестве облегченной цели используется сумма квадратов элементов. Во время обучения статистика нормализации пакетов синхронизируется во всех графических процессорах. Во время предсказания они заменяются "постоянной" статистикой, аналогично [1], что значительно улучшает качество выводов по сравнению с использованием текущей статистики. Во всех линейных и сверточных слоях всех сетей также применяется спектральная нормализация.
Подробное описание архитектуры предлагаемой модели, а также обсуждение признаков обучения и архитектуры, принятых авторами, можно найти в дополнительных материалах.
Приведенные выше примерные варианты осуществления являются примерами и не должны рассматриваться как ограничивающие. Кроме того, описание примерных вариантов осуществления предназначено для иллюстрации и не ограничивает объем формулы изобретения, и для специалистов в данной области техники будут очевидны многие альтернативы, модификации и варианты.
Литература:
1. Brock, A., Donahue, J., Simonyan, K.: Large scale GAN training for high fidelity natural image synthesis. In: 7th International Conference on Learning Representations, ICLR 2019 (2019)
2. Dosovitskiy, A., Tobias Springenberg, J., Brox, Т.: Learning to generate chairs with convolutional neural networks. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1538-1546 (2015)
3. Finn, C., Abbeel, P., Levine, S.: Model-agnostic meta-learning for fast adaptation of deep networks. In: Proceedings of the 34th International Conference on Machine Learning, ICML 2017 (2017)
4. Fu, C., Hu, Y., Wu, X., Wang, G., Zhang, Q., He, R.: High fidelity face manipulation with extreme pose and expression. arXiv preprint arXiv: 1903.12003 (2019)
5. Ganin, Y., Kononenko, D., Sungatullina, D., Lempitsky, V.: Deepwarp: Photorealistic image resynthesis for gaze manipulation. In: European Conference on Computer Vision, pp. 311-326. Springer (2016)
6. Gong, K., Gao, Y., Liang, X., Shen, X., Wang, M., Lin, L.: Graphonomy: Universal human parsing via graph transfer learning. In: IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2019 (2019)
7. Goodfellow, I.J., Pouget-Abadie, J., Mirza, M., Xu, В., Warde-Farley, D., Ozair, S., Courville, A.C., Bengio, Y.: Generative adversarial nets. In: Advances in Neural Information Processing Systems 27: Annual Conference on Neural Information Processing Systems 2014 (2014)
8. Ha, S., Kersner, M., Kim, В., Seo, S., Kim, D.: Marionette: Few-shot face reenactment preserving identity of unseen targets. CoRR abs/1911.08139 (2019)
9. He, K., Zhang, X., Ren, S., Sun, J.: Identity mappings in deep residual networks. In: Computer Vision - ECCV 2016-14th European Conference (2016)
10. Ioffe, S., Szegedy, C.: Batch normalization: Accelerating deep network training by reducing internal covariate shift. In: Proceedings of the 32nd International Conference on Machine Learning, ICML 2015 (2015)
11. Isola, P., Zhu, J., Zhou, Т., Efros, A.A.: Image-to-image translation with conditional adversarial networks. In: 2017 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2017 (2017)
12. Jaderberg, M., Simonyan, K., Zisserman, A., Kavukcuoglu, K.: Spatial transformer networks, pp. 2017-2025 (2015)
13. Johnson, J., Alahi, A., Fei-Fei, L.: Perceptual losses for real-time style transfer and super-resolution. In: Computer Vision - ECCV 2016-14th European Conference (2016)
14. Jolicoeur-Martineau, A.: The relativistic discriminator: a key element missing from standard GAN. In: 7th International Conference on Learning Representations, ICLR 2019 (2019)
15. Kim, D., Chung, J.R., Jung, S.: GRDN: grouped residual dense network for real image denoising and gan-based real-world noise modeling. In: IEEE Conference on Computer Vision and Pattern Recognition Workshops, CVPR Workshops 2019 (2019)
16. Kim, H., Garrido, P., Tewari, A., Xu, W., Thies, J., Niefiner, M., Perez, P., Richardt, C., Zollhofer, M., Theobalt, C.: Deep video portraits. arXiv preprint arXiv: 1805.11714 (2018)
17. Kingma, D.P., Ba, J.: Adam: A method for stochastic optimization. CoRR abs/1412.6980 (2014)
18. Lombardi, S., Saragih, J., Simon, Т., Sheikh, Y.: Deep appearance models for face rendering. ACM Transactions on Graphics (TOG) 37(4), 68 (2018)
19. Mirza, M., Osindero, S.: Conditional generative adversarial nets. CoRR abs/1411.1784 (2014)
20. Parkhi, O.M., Vedaldi, A., Zisserman, A.: Deep face recognition. In: Proceedings of the British Machine Vision Conference 2015, BMVC 2015 (2015)
21. Siarohin, A., Lathuiliere, S., Tulyakov, S., Ricci, E., Sebe, N.: First order motion model for image animation. In: Advances in Neural Information Processing Systems 32: Annual Conference on Neural Information Processing Systems 2019, NeurlPS 2019 (2019)
22. Simonyan, K., Zisserman, A.: Very deep convolutional networks for large-scale image recognition. CoRR abs/1409.1556 (2014), http://arxiv.org/abs/1409.1556
23. Suwajanakorn, S., Seitz, S.M., Kemelmacher-Shlizerman, I.: Synthesizing Obama: learning lip sync from audio. ACM Transactions on Graphics (TOG) 36(4), 95 (2017)
24. Tripathy, S., Kannala, J., Rahtu, E.: Icface: Interpretable and controllable face reenactment using gans. CoRR abs/1904.01909 (2019), http://arxiv.org/abs/1904.01909
25. Wang, Т., Liu, M., Tao, A., Liu, G., Catanzaro, В., Kautz, J.: Few-shot video-to-video synthesis. In: Advances in Neural Information Processing Systems 32: Annual Conference on Neural Information Processing Systems 2019, NeurlPS 2019 (2019)
26. Wang, Т., Liu, M., Zhu, J., Tao, A., Kautz, J., Catanzaro, В.: High-resolution image synthesis and semantic manipulation with conditional gans. In: 2018 IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2018 (2018)
27. Wang, X, Yu, K, Wu, S., Gu, J., Liu, Y., Dong, C., Qiao, Y, Loy, C.C.: ESRGAN: enhanced super-resolution generative adversarial networks. In: Computer Vision - ECCV 2018 Workshops (2018)
28. Wiles, О., Sophia Koepke, A., Zisserman, A.: X2face: A network for controlling face generation using images, audio, and pose codes. In: The European Conference on Computer Vision (ECCV) (September 2018)
29. Zakharov, E., Shysheya, A., Burkov, E., Lempitsky, V.S.: Few-shot adversarial learning of realistic neural talking head models. In: IEEE International Conference on Computer Vision, ICCV 2019 (2019)