MUNIT: Multimodal Unsupervised Image-to-Image Translation
🔗 Ссылки
https://arxiv.org/abs/1804.04732
https://github.com/NVlabs/imaginaire/tree/master/projects/munit
💎 Контрибьюшн
В конце статьи UNIT (разбор) авторы сказали, что одним из ограничений их модели является унимодальность — то есть по входной картинке можно синтезировать только очень похожие друг на друга изображения. В общем же случае домен может быть мультимодальным, как например породы собак или снимки со спутника. Поэтому здесь предложен подход для unsupervised-обучения мультимодальной модели image-to-image translation.
В этой работе предполагается более слабое условие о существовании partially shared-latent space. Общее латентное пространство может быть декомпозировано на 2 подпространства — C (content) и S (style):
Мультимодальность обеспечивается сэмплированием эмбеддинга стиля из S_i при генерации изображения из i-го домена.
В работе есть несколько теоретических результатов, наиболее важным из которых является доказательство, что
Использование cycle-consistency приводит к унимодальной функции условного распределения, и как следствие — к унимодальности синтезируемых картинок.
🛠 Задача
Задача формулируется аналогично UNIT: имея 2 частных распределения p(x) и p(y) нужно выучить совместное распределение p(x, y).
Пояснение: вообще говоря, для image translation нам нужно выучить условное распределение p(y|x) и/или p(x|y) (обычно "и"). Но вспомнив формулу Байеса можно понять, что имея частное и условное распределения мы на самом деле имеем совместное:
p(x, y) = p(x)p(y|x) = p(y)p(x|y)
Задача некорректно поставлена, т.к. имеет бесконечно много решений. Поэтому предполагается дополнительное условие — partially shared-latent space:
Также предполагается существование всех функций, которые позволяют переводить картинки в латентные вектора и наоборот:
Тогда для image translation 1->2 нужно смоделировать E_1, G_2 и распределения p(c), p(s_2):
🔎 Детали
Главная идея работы — это разделение контента и стиля изображений, но при этом нет чётких определений, что есть что. Авторы говорят, что контент — это структура изображения, а стиль — это рендеринг.
Архитектура
Content-энкодер состоит из residual-блоков 3x3; после свёрточных слоёв стоит IN.
Style-энкодер, наоборот, не содержит IN, т.к. убиваются исходные (μ, σ), несущие информацию о стиле. Используются свёртки 4x4, как в PatchGAN-дискриминаторе.
Для прокидывания стиля в генератор используется AdaIN:
Интересно, что из контентного пространства C вектора не сэмплируются, а просто берутся полученные из энкодера. Это логично, т.к. мультимодальность теперь кроется в style-пространствах.
Для S_i энкодер оценивает вектор мат. ожиданий нормального распределения, из которого потом сэмплируются style-эмбеддинги. Prior — стандартное нормальное распределение.
Размерности: dim(C) = 256, dim(S_i) = 8
В отличие от UNIT в этом фреймворке сэмплирование происходит только из S_i, а для обучения content-эмбеддингов архитектура представляет собой обычный автоэнкодер.
Лоссы
1. Bidirectional Reconstruction Loss:
Дискриминатор — Multiscale PatchGAN (как в pix2pixHD), лосс — LSGAN
3. Style-augmented Cycle Consistency:
Поскольку cycle-consistency для мультимодального синтеза не работает, предложена его ослабленная версия: условие затрагивает только часть латентного пространства, а именно {C, S_1}. Для генерации во домене №2 используется style-эмбеддинг, сэмплированный напрямую из S_2.
Логично не накладывать ограничение на стиль картинки во втором домене, иначе получится, что он однозначно определяется картинкой из первого домена. Это подтверждается теор. доказательством.
4. Domain-invariant Perceptual Loss:
Чтобы избавиться от domain-specific информации в обычном Perceptual Loss'е вставили IN-слои без денормализации — μ = 0, σ = I. Это помогает для обучения на больших картинках ≥512x512.
Теоретический анализ
Утв. 1: E* и G* минимизируют лосс (*).
Утв. 2: в точке оптимума (*) распределения латентных векторов равны их prior'ам.
Утв. 3: в точке оптимума (*) совместные распределения равны:
Утв. 4: в точке оптимума (*) выполняется style-augmented cycle consistency.
Утв. 5: cycle-consistency приводит к унимодальным дельта-функциям распределений, что означает слабое отличие результатов генерации.
🔬 Эксперименты
Метрики
- Human Preference Score
- LPIPS — оценка того, насколько реалистично выглядит картинка, с помощью дистанции между активациями предобученной сети (в данном случае, AlexNet)
- Conditional Inception Score (CIS) — замеряет реалистичность каждой отдельной картинки и разнообразия картинок в целом, основываясь на уверенности классификатора (в данном случае, Inception-v3). Усреднение по 100 входных картинок и 100 картинок на каждую входную (итого 10 000 синтезированных).