1. 程式人生 > >生成模型--GAN用於影象風格遷移(Neural Style)

生成模型--GAN用於影象風格遷移(Neural Style)

影象風格遷移(Neural Style)

  關於紋理生成與風格遷移領域,在 2015 年前所有的關於影象紋理的論文都是手動建模的。   其中,紋理可以用影象區域性特徵的統計模型來描述。   而影象風格遷移比紋理生成還慘。因為紋理生成至少不管生成什麼樣子的紋理都叫紋理生成,然而影象風格遷移這個領域當時連個合適的名字都沒有,因為每個風格的演算法都是各管各的,互相之間並沒有太多的共同之處。比如油畫風格遷移,裡面用到了 7 種不同的步驟來描述和遷移油畫的特徵。又比如頭像風格遷移裡用到了三個步驟來把一種頭像攝影風格遷移到另一種上。以上十個步驟裡沒一個重樣的,可以看出影象風格處理的研究在 2015 年之前基本都是各自為戰,搗鼓出來的演算法也沒引起什麼注意。   嚴格來說文理只是圖片風格的一部分,但是不仔細研究紋理和風格之間的區別的話,乍一看給人感覺還真差不多。

deepdream的狗

  雖然我們不知道神經元是怎麼工作的,但是如果我們知道了它的啟用條件,會不會能對理解神經網路更有幫助呢?於是他們編了一個程式,(用的方法叫 back propagation,和訓練神經網路的方法一樣,只是倒過來生成圖片。)把每個神經元所對應的能啟用它的圖片找了出來,之前的那幅特徵提取示意圖就是這麼生成的。   有人在這之上又進一步,覺得,誒既然我們能找到一個神經元的啟用條件,那能不能把所有關於 “狗’的神經元找出來,讓他們全部被啟用,然後看看對於神經網路來說” 狗 “長什麼樣子的?   長得其實是這樣的: 在這裡插入圖片描述   這是神經網路想象中最完美的狗的樣子,非常迷幻,感覺都可以自成一派搞個藝術風格出來了。而能把任何圖片稍作修改讓神經網路產生那就是狗的幻覺的程式被稱作 deep dream。

訓練和一些trick

  通過梯度上升演算法來啟用特定的卷積網路。   1)用 Instance Normalization來代替通常的Batch Normalization,可以改善風格遷移的質量。   2)改進轉置卷積的兩個Trick:a.原先我們需要使用網路生成影象的時候,一般都是採用轉置卷積直接對影象進行上取樣。b.這篇文章指出了轉置卷積的一些問題,認為轉置卷積由於不合理的重合,使得生成的圖片總是有“棋盤狀的噪聲點”,它提出使用先將圖片放大,再做卷積的方式來代替轉置卷積做上取樣,可以提高生成圖片的質量。