參考 http://blog.csdn.net/u011534057/article/details/55052304
代碼 https://github.com/yusuketomoto/chainer-fast-neuralstyle
出處
2016 · european conference on computer vision
Motivation
研究Image transfomation的方法。有別於現有的typically train feed-forward convolutional neural networks using a per-pixel loss between the output and ground-truth images,本文使用基於perceptual loss的方式來提取特征,生成風格轉換圖片和高分辨率圖片
Introduction
章節開始介紹了Image transformation的定義和一些work,簡單地說喂一張圖片,吐一張不同的圖片即是。舉例說明perceptual loss相對於per-pixel loss的優勢,兩張幾乎一樣的圖片會因為一個像素點的偏差導致per-pixel loss完全不同,但在感官層面,是沒有區別的,這顯然使得像素級的損失函數不太科學了。現有的工作已經開始用perceptual loss 來抽取視覺特征生成高質量圖片,但速度非常緩慢。該文的模型在Image transformation方面能生成和[1]效果大致相仿的高質量圖片,並在速度上快了3個數量級,在重建分辨率方面,能有4倍到8倍的分辨率提升。
Related work
1.各種基於per-pixel的Feed-forward image transformation work
2.Perceptual optimization.
3.Style Transfer.
4.Image super-resolution.
Method
整個模型系統框架如下所示:

模型分為兩個部分
Image transformation networks $f_w$ 和 loss network(vgg-16 pretrained on Imagenet) $\phi$
- Image Transformation
a deep residual convolutional neural network parameterized by weights $W$,使用映射
將輸入的Image $X$映射成
。Image Transformation的網絡架構基本上基於DCGAN模型並使用了5個殘差網絡層。因 為整個網絡是全卷積網絡,所以在test-time輸入可以是任意大小的圖片。
對Transform network來說,優化目標為

- Loss network
經過預訓練的Loss network在整個訓練過程中保持超參數不變。 在$\phi$中定義了一堆loss 函數$l_1,l_2...$,每一個loss function計算了
,即映射輸出的圖片
和target image $y_i$的loss

同時,作者定義了兩種Perceptual Loss Functions,Feature Reconstruction Loss 和Style Reconstruction Loss
perceptual loss:
保證了在feature層面上生成圖片和原圖片保持一致

Style Loss:在feature層面保證了生成圖片和風格圖片的一直

構建了一個Gram矩陣,即$i$通道的feature map與$j$通道的feature map進行內積,用以衡量兩個feature map之間的差異度,從而可以從兩張圖的Gam矩陣入手,構建loss函數:

兩張圖的size即使完全不一致也可以計算出該style loss,因為Gram矩陣計算時基於的是卷積層的feature map的總差異。
[1]Gatys, L.A., Ecker, A.S., Bethge, M.: A neural algorithm of artistic style. arXiv preprint arXiv:1508.06576 (2015)
[2]Gatys, L.A., Ecker, A.S., Bethge, M.: Texture synthesis using convolutional neuralnetworks. In: NIPS. (2015)
