論文筆記:圖像風格轉換(一)

論文筆記:圖像風格轉換(一)

來自專欄程序員的筆記本1 人贊了文章

A Neural Algorithm of Artistic Style

論文地址:[1508.06576] A Neural Algorithm of Artistic Style

tensorflow代碼實現:woodrush/neural-art-tf

本文介紹Leon Gatys在2016年初大熱的Style Transfer演算法,發表於CVPR16

1. 概述

首次提出,使用預訓練好的VGG19網路,提取圖像不同層級的特徵,分別作為圖像的風格特徵和內容特徵,以高斯雜訊為初始輸入圖像,多次執行前向/後向迭代使用L-BFGS方法優化,保持CNN的參數不變,根據風格損失和內容損失,反向傳播更新圖片。

保留內容圖片的內容和全局布局的同時,由風格圖片提供顏色和局部結構信息。

2. VGG19

如圖所示為VGG19的網路結構,16個convolutional和5個pooling layer,本文不使用後面的全連接層。使用average pooling代替max pooling,得到更好的視覺效果。

如圖所示,輸入內容圖片和風格圖片,在abcde五層處分別重構風格圖片和內容圖片。

內容重構:

(a)conv1_1,(b) conv2_1,(c)conv3_1,(d)conv4_1,(e)conv5_1

可以看出,在高層(d,e),細節像素信息丟失,但內容保留,所以內容特徵一般用高層。

風格重構:

(a)conv1_1,(b)conv1_1, conv2_1,(c)conv1_1, conv2_1,conv3_1,(d)conv1_1, conv2_1,conv3_1,conv4_1,(e)conv1_1, conv2_1,conv3_1,conv4_1,conv5_1

感受野大小和特徵複雜程度隨著網路層級增大,當風格表示匹配到網路的更高層時,局部圖像結構在越來越大的範圍內匹配,從而導致更平滑和更連接的視覺效果

所以在最終的實驗里

內容層 - conv4_2

風格層 - conv1_1, conv2_1, conv3_1, conv4_1, conv5_1

3. 內容損失

輸入x,在網路中某一層的輸出為,shape可以表示為 N_{l}	imes H 	imes W ,reshape為 N_{l}	imes M_{l},寫作矩陣F^{l}。其中N_{l} 表示該層卷積核的個數, M_{l} 是該層feature的長度 H 和寬度 W 的乘積。 F_{ij}^{l} 表示 l 層第 i 個filter的位置 j

內容損失就是原始圖像和生成圖片,經過VGG19網路,在這一層的feature的SSE(和方差,誤差平方和)

L_{content} = frac{1}{2} sum_{i,j}({F_{ij}^{l}-P_{ij}^{l}})^{2}

4. 風格損失

先引入Gram matrix G^{l}in R^{ N_{l} 	imes N_{l}},由矩陣F^{l}和他轉置矩陣的相乘得到。 G_{ij}^{l} 是第 l 層的feature i 向量和feature j 向量的內積。可以認為是一個未零均值化的協方差矩陣,捕獲的是哪些feature是趨於一起激活的信息(如果無法理解為什麼內積=協方差,可以看參考里的2和3兩篇博文)。

E_{l} = frac{1}{4N_{l}^{2}m_{l}^{2}}sum_{i,j}{(G_{ij}^{l}-F_{ij}^{l})^{2}}

L_{style} = sum_{l=0}^{L}{w_{l}E_{l}}

5層的損失相加,乘以對應權重,通常為 frac{1}{5}

當風格圖片和內容圖片size不一樣,這個風格損失函數也可以用,因為Gram矩陣shape一樣

5. 總損失

L_{total} = alpha L_{content} + eta L_{style}

alphaeta 表示權重,不可能內容和風格完美匹配,需要調節。文章中使用 frac{alpha}{eta} = 10^{-3} (B,C,D)更加註重原圖,或者10^{-4} (E,F),更加藝術化。

參考

【深度學習】A neural algorithm of artistic style演算法詳解

【統計學習1】方差、協方差、相關係數與向量內積 - CSDN博客

CodingLabs - PCA的數學原理

後記

最近對風格轉換的文章比較感興趣,看了一篇NVIDA最新的,然後有些地方不明白,就循著參考文獻看過來,這片是最經典最早的一篇,後續看完其他幾篇,也會做個筆記,堅持每周至少精讀一篇文章並做個筆記。


推薦閱讀:

ECCV 2018 | IBN-Net:打開域適應的新方式
模型性能估計(計算量篇)
文本檢測之PixelLink
點雲感知 CVPR 2018 論文總結
想訓練動作識別模型?這裡有六個數據源供你參考

TAG:計算機視覺 | 神經網路 | 深度學習DeepLearning |