Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization

компьютерное зрение

            Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization

Это 3-й день моего участия в ноябрьском испытании обновлений, узнайте подробности события:Вызов последнего обновления 2021 г..

theme: juejin

ICCV 2017

Abstract

Метод Gatys адаптируется ко многим стилям, но он слишком медленный; нейронная сеть с прямой связью работает быстро, но стиль фиксирован. Автор предлагает метод преобразования в реальном времени, который адаптируется к любому стилю, ядром является слой ALADIN (адаптивная нормализация контента), а скорость близка к методу прямой связи.

Related Work

Deep generative image modeling

VAE (автоматический вариационный кодировщик), модель авторегрессии (модель авторегрессии), GAN (генеративно-состязательная сеть), из которых GAN работает лучше всего

Background

Batch Normalization

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

BN(x)=γ(xμ(x)о(x))+βBN(x) = \gamma(\frac{x - \mu(x)}{\sigma(x)}) + \beta

вγ\gammaиβ\beta- аффинные параметры, полученные из данных,μ(x)\mu(x)ио(x)\sigma(x)Каждый канал рассчитывается независимо, а N – это размер пакета. Конкретная формула выглядит следующим образом:

μc(x)=1NHWn=1Nh=1Hw=1Wxnchw\mu_c(x) = \frac{1}{NHW}\sum^N_{n=1}\sum^H_{h=1}\sum^W_{w=1}x_{nchw}
оc(x)=1NHWn=1Nh=1Hw=1W(xnchwμc(x))2+ϵ\sigma_c(x) = \sqrt{\frac{1}{NHW}\sum^N_{n=1}\sum^H_{h=1}\sum^W_{w=1}(x_{nchw} - \mu_c(x))^2+\epsilon}

Instance Normalization

IN — это улучшение BN в передаче стиля, вычисляемое независимо для каждого канала и каждого семпла:

μnc(x)=1HWh=1Hw=1Wxnchw\mu_{nc}(x) = \frac{1}{HW}\sum^H_{h=1}\sum^W_{w=1}x_{nchw}
оnc(x)=1HWh=1Hw=1W(xnchwμnc(x))2+ϵ\sigma_{nc}(x) = \sqrt{\frac{1}{HW}\sum^H_{h=1}\sum^W_{w=1}(x_{nchw} - \mu_{nc}(x))^2+\epsilon}

Conditional Instance Normalization

Улучшенные параметры аффинного преобразованияμ(x)\mu(x)ио(x)\sigma(x), вместо изучения только двух параметров, а двух групп. С помощью различных комбинаций параметров вы можете управлять созданием различных стилей. Но его недостаток в том, что количество дополнительных параметров линейно связано с количеством стилей, поэтому он не подходит для задач моделирования, требующих большого количества стилей.

Adaptive Instance Normalization

x — это ввод контента, y — ввод стиля, и они адаптивно связаны следующей формулой.

AdaIN(x,y)=о(y)(xμ(x)о(x))+μ(y)AdaIN(x,y) = \sigma(y)(\frac{x - \mu(x)}{\sigma(x)}) + \mu(y)

image.png

Experimental Setup

Achitecture

Кодер использует первые несколько слоев предварительно обученного VGG и после кодирования отправляет карты объектов контента и стиля в AdaIN для создания целевой карты объектов. Декодер инициализируется случайным образом и учится отображать карту целевых объектов обратно в пространство изображения во время обучения.

Traning

Функция потерьLstyleL_{style}иLcontentL_{content}Линейная взвешенная сумма ,LcontentL_{content}по-прежнему является евклидовым расстоянием, ноLcontentL_{content}Вместо матрицы Грамма, используемой Gatys, автор решил вычислить послойное среднее значение и разницу дисперсии между исходной картой стиля и сгенерированной картой в кодировщике:

Ls=i=1Lμ(ϕi(g(t)))μ(ϕi(s))2+i=1Lо(ϕi(g(t)))о(ϕi(s))2L_s = \sum^L_{i = 1}\Vert{\mu(\phi_i(g(t)))-\mu(\phi_i(s))}\Vert_2 + \sum^L_{i = 1}\Vert{\sigma(\phi_i(g(t)))-\sigma(\phi_i(s))}\Vert_2