Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization

Arbitrary Style Transfer in Real-time with Adaptive Instance Normalizationgit

2019-10-10 10:50:19github

 

Paperhttp://openaccess.thecvf.com/content_ICCV_2017/papers/Huang_Arbitrary_Style_Transfer_ICCV_2017_paper.pdf 網絡

Officical Torch Codehttps://github.com/xunhuang1995/AdaIN-style 性能

Unofficial PyTorch Codehttps://github.com/naoto0804/pytorch-AdaIN  學習

Unofficial PyTorch Codehttps://github.com/irasin/Pytorch_Adain_from_scratch spa

 

1. Background and Motivation:orm

本文提出一種快速的能夠適應任何一種 style 的圖像轉換技術。首先先來回歸一下常見的幾種 Normalization 技術:blog

 

1). Batch Normalizationci

給定輸入的一個 batch x,BN 對每個特徵通道進行歸一化操做:get

 

其中,gamma 和 beta 是從數據中學習的仿射參數,mu 和 delta 是均值和方差,是分別沿着 batch size 和 spatial dimension 方向對每個特徵通道進行的操做:

 

BN 在訓練的時候利用 mini-batch 統計來學習,在 inference 的階段就用流行的統計來替換他們,這樣就致使了 training 和 inference 的不一致。後續也有不少對該問題的改進。

 

2). Instance Normalization

後來出現的 IN layers 能夠顯著的改善 style transfer 的性能,即:

 

與 BN layer 不一樣的是,此處的均值和方差是分別對 channel 和 each sample 沿着空間維度計算獲得的:

  

另外的一個與 BN 的不一樣之處是:training 和 inference 是一致的。

 

3). Conditional Instance Normalization: 

該方法對每一種 style 都學習一種參數,即:

驚奇的是,該方法能夠產生徹底不一樣 style 的圖像,可是用的是同一組網絡參數,僅僅是 IN layer 的 affine parameters 不一樣。

 

2. Interpreting Instance Normalization

 

3. Adaptive Instance Normalization: 

既然 IN 能夠根據 affine parameters 將輸入歸一化爲 single style,那麼,有沒有可能,咱們給定多種自適應的 affine transformations 來生成任意給定類型的圖像呢?基於該動機,做者對 IN 的技術進行了拓展,提出了 Adaptive Instance Normalization (AdaIN)。AdaIN 接收一張 content input X 和 一張 style input Y,而且簡單地對 X 進行 channel wise mean and variance 使其能夠匹配 Y。與 BN, IN, CIN 不一樣,AdaIN 沒有可學習的 affine parameters。其根據輸入的 style image,自適應的生成 affine parameters:

 

本文將 normalized content input 進行 scale 處理,而後用 \mu(y) 進行 shift。這些統計都是沿着 spatial locations 進行的。

 

 

 

4. Experimental Results

相關文章
相關標籤/搜索