·其實這是一個選修課的present,整理一下作為一篇博客,希望對你有用。講解風格遷移的博客蠻多的,我就不過多的贅述了。講一點幾個關鍵的地方吧,當然最后的代碼和ppt也希望對你有用。
1.引入:
風格遷移四個字直觀理解很簡單,就是將一張圖像在保存原圖大致的紋理結構的同時,具有別的圖像的風格。說白了,就是對圖像加了一個風格濾鏡。就像下面這幾幅圖。
下面是對一個動態圖,進行畢加索風格處理后的結果。
2.過程介紹:
現在我們來看看具體的實現過程。這是論文[3]給出的實現框架。首先我們來理解一下這個框架,懂了這個框架你就懂了風格遷移的實現過程了。我們可以看到有三個框架和三個輸入圖片。論文中使用的框架是VGG19,也有用VGG16的,我們在實驗中使用的是VGG16。a是風格圖,p是內容圖,x是隨機生成的噪聲圖。該過程的總體思想就是通過對噪聲圖像進行約束,使其不斷的同時趨近於內容圖也趨近於風格圖。這個約束怎么實現的呢?本論文中使用的是兩種(風格和內容)損失來進行約束。首先看內容損失Lcontent,是由內容圖和隨機噪聲圖經過卷積濾波后,在第四層分別的feature map的距離的平方和。這里存在一個問題,為什么是第四層?后面有講,先不糾結。再看風格損失Lstyle求取過程。先對風格圖和噪聲圖的每一層濾波feature map分別求gram矩陣,再求其距離的平方和,再將5層的結果加權求和。此時我們獲得了風格損失。最后將兩種損失加權求和求得總的損失Ltotal。在這里又存在兩個問題:1.什么是gram矩陣,為啥要用gram矩陣?2.為啥風格損失要將前幾層的損失求和,而內容損失確只是第四層?先不糾結,后面有講。現在對x噪聲圖的約束產生了,也就是總的損失。利用反向傳播算法,迭代更新權重和偏置參數,從而更新輸入圖像。由於現存的框架比如TensorFlow內含優化函數,所以迭代過程我們就不關心了。好了,整個過程大致就是這樣。
現在讓我們來回答上面三個問題:
1.什么是gram矩陣,為啥要用gram矩陣?
Gram矩陣就是每一層濾波后的feature map, 后將其轉置並相乘得到的矩陣,如下圖所示。其實就是不同濾波器濾波結果feature map兩兩之間的相關性。譬如說,(如下圖)某一層中有一個濾波器專門檢測尖尖的塔頂這樣的東西,另一個濾波器專門檢測黑色。又有一個濾波器負責檢測圓圓的東西,又有一個濾波器用來檢測金黃色。對梵高的原圖做Gram矩陣,誰的相關性會比較大呢?如上圖所示,“尖尖的”和“黑色”總是一起出現的,它們的相關性比較高。而“圓圓的”和“金黃色”都是一起出現的,他們的相關性比較高。因此在風格轉移的時候,其實也在風景圖里去尋找這種“匹配”,將尖尖的渲染為黑色,將圓圓的渲染為金黃色。如果我們承認“圖像的藝術風格就是其基本形狀與色彩的組合方式” ,這樣一個假設,那么Gram矩陣能夠表征藝術風格就是理所當然的事情了。(這段對gram矩陣的理解參考:https://zhuanlan.zhihu.com/p/23479658)。
2.為什么風格損失要用多層的損失加權求和,而內容損失只用第四層的損失?
我們都知道,隨着卷積網絡層數增加,獲得的特征映射更加抽象。論文[3]中做了這樣的實驗,可以看出,層數增高的時候,內容重構圖可變化性增加,具有更大的風格變化能力。而風格隨着使用的層數越多,風格遷移的穩定性越強。我們也做了實驗來證明。
下面的兩行圖是我們自己,對不同層的風格和內容的重構圖。上面一行是不同層內容作為損失的內容重構。下面一行是多層組合風格損失的重構圖。具體的層數,在每一幅圖的下面有注明。結果表明確實層數增高的時候,內容重構圖可變化性增加,具有更大的風格變化能力。而風格隨着使用的層數越多,風格遷移的穩定性越強。所以,前面論文[3]做出了這樣的選擇。同樣,這個過程中,還有很多權重參數的設置,都是實驗驗證出來的。所以沒有什么為什么,就是這樣實驗出來的效果好罷了。到這里,整個過程也就講完了。
Conv1_2 Conv2_2 Conv3_3 Conv4_3
Conv1_2,Conv2_2 Conv1_2,Conv2_2,Conv3_3 Conv1_2,Conv2_2,Conv3_3,Conv4_3
3. 結果展示
下面是對台北101圖像不同風格的遷移結果。
當然我們也做了一些改進,比如,兩種風格遷移到一副圖像會是什么樣的結果呢?
參考文獻:
1. Gatys L, Ecker A S, Bethge M. Texture synthesis using convolutional neural networks[C]//Advances in Neural Information Processing Systems. 2015: 262-270.
2. Gatys L A, Ecker A S, Bethge M. A neural algorithm of artistic style[J]. arXiv preprint arXiv:1508.06576, 2015.
3. Gatys L A, Ecker A S, Bethge M. Image style transfer using convolutional neural networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 2414-2423.
4. https://zhuanlan.zhihu.com/p/23479658