Style Transfer 這個方向火起來是從2015年Gatys發表的Paper A Neural Algorithm of Artistic Style(神經風格遷移) , 這裏就簡單提一下論文的主要思想。
論文概述
Gatys這篇論文的核心思想就是 —— 圖片的內容和風格是可以分離的,可以通過神經網絡的方式,將圖片的風格進行自由交換。
如果內容和風格是可以分離的,那麼風格的遷移即可轉化成這樣一個問題:讓生成圖片的內容與內容來源圖片儘可能相似,讓圖片的風格與風格來源圖片儘可能相似。
那麼如何才能將圖片的風格提取出來呢?Gatys發現紋理能夠描述一個圖像的風格,也就是說只要提取出圖片的紋理就可以了。那麼如何又提取出圖像的紋理呢,Gatys發現VGG19網絡其實就相當於一堆局部特徵識別器,他在VGG19的基礎上套了一個格拉姆矩陣(Gram matrix)用來計算不同局部特徵的相關性,把它變成裏一個統計模型,這樣圖像紋理提取已經完成了。剩下的就比較輕鬆了,前文提到VGG19 相當於一堆局部特徵識別器,於是Gatys直接把局部特徵看作近似的圖像內容,這樣就得到了一個將圖像內容與紋理分開的系統。而將內容與紋理合成的方法就是Google 由2015年夏天首次發佈的 DeepDream 方法,找到能讓合適的特徵提取神經元被激活的圖片即可。
至此, A Neural Algorithm of Artistic Style 的主要思想已經解釋完了。
實現
神經風格遷移的一般步驟:
- 創建一個網絡,它能夠同時計算風格參考圖像、目標圖像和生成圖像的 VGG19 層激活。
- 使用這三張圖像上計算的層激活來定義之前所述的損失函數,爲了實現風格遷移,需要將這個損失函數最小化。
- 設置梯度下降過程來將這個損失函數最小化。