A Neural Algorithm of Artistic Style 論文了解
卷積網絡的每個卷積層重構圖像:越高層重構出的圖像布局一緻,但具體像素值不準确,越低層的卷積層重構出來的圖像的像素值越準确。在風格化這塊需要大的布局一緻,但是不需要精準像素,是以用高層的feature map表示content資訊。
輸入圖像的style資訊表示是在卷積神經網絡表示的上面重新建構了一個特征空間(gram)。在這個空間中對不同層都進行計算不同feature map的相關性。
如下圖所示:
輸入風格圖檔的風格資訊重構:
在普通的CNN的feature maps上面重新建構了一個feature space,用來表示圖檔的風格。論文采用的網絡(vgg19)中,低層的style representations size 小,每個大層進行了縮放,style representation的feature map的寬高由CNN網絡中對應層的filter是個數決定。從重構的結果可以看到,e的結果最好,‘conv1_1’ (a), ‘conv1_1’ and ‘conv2_1’ (b), ‘conv1_1’, ‘conv2_1’ and ‘conv3_1’ (c), ‘conv1_1’, ‘conv2_1’, ‘conv3_1’ and ‘conv4_1’ (d), ‘conv1_1’, ‘conv2_1’, ‘conv3_1’, ‘conv4_1’ and ‘conv5_1’ (e) 。style 的紋理越大,那麼需要用來重構的style representation的大層就越多,且層數也要越高。
風格視覺上效果更好:比對風格表示一直到網絡的最高層,獲得的風格局部特征會不斷增大,閱聽人區域不斷變大。
代碼
torch:https://github.com/jcjohnson/neural-style
tensorflow:https://github.com/jing-neural/neural-style-1