這是2015年的一篇論文,做者首次提出使用卷積神經網絡生成具備人工藝術風格的做品。做者認爲,卷積神經網絡中的卷積層能夠理解爲收集圖像特定特徵的濾波器集(filters),即生成了輸入圖像各類版本濾波結果,把普通影像重構成具備藝術風格的做品,既須要保持普通圖像內容佈局上保持不變,又要使其具備與參考藝術做品具備相同的風格,此分別爲文中所述的content reconstructions 和 style reconstructions.git
做者發現,較深層的卷積特徵能獲取圖像高級(high-level)的、目標級的內容信息以及在原圖像上的位置信息,可是卻不能約束準確的像素重構,也就是詳細的像素信息丟失(如圖 1,content reconstructions 的 d,e);相反地,淺層的卷積特徵卻能很容易的生成準確的像素值(如圖 1,content reconstructions 的 a,b,c),所以,做者使用較深層的卷積進行內容重構,實驗中是在relu4_2
上進行content representation.github
在風格化的問題上,爲了表示參考藝術做品的風格,做者使用特徵空間獲取紋理信息。這一特徵空間基於卷積神經網絡的各個卷積階段獲得的特徵,它由不一樣卷積特徵圖之間的相關性構成。經過引入卷積層之間的相關性,做者得到了對原圖穩定的,多尺度的表示,可以獲得參考藝術做品的紋理信息(不包含全局的排布信息)。算法
所以,做者的思路很是簡單,經過輸入原圖,在較深層的卷積層中獲得的特徵進行圖像內容約束,使用參考藝術做品,在卷積不一樣階段的卷積特徵學習獲得圖像紋理,進行紋理約束,從而優化獲得最終結果。markdown
圖 2展現了算法的約束簡圖,其中包含兩個主要約束:content constrain 和 style constrain。網絡
做者使用的是VGG-19 network, 包含16個卷積層(分爲5個卷積階段),每一個階段末尾都有 pooling 層,全鏈接層被拋棄掉,另外Pooling階段使用average pooling。佈局
content loss:
學習
style loss:
計算不一樣濾波響應之間的相關性,表示在 Gram 矩陣中:
所以,風格的損失代價爲:
即,使用多層的卷積特徵,進行總體約束,(其中conv1_1
, conv2_1
, conv3_1
, conv4_1
和 conv5_1
中
測試
total loss:
其中
1e−3
或 1e−4
.優化
論文以及開源代碼中具備實驗結果,可自行查看或測試,這裏不貼出。atom