圖像風格轉換(Style Transfer | 風格遷移綜述)


所謂風格遷移,其實就是提供一幅畫(Reference style image),將任意一張照片轉化成這個風格,並盡量保留原照的內容(Content)。之前比較火的修圖軟件Prisma就提供了這個功能。我覺得這一說法可以改成風格遷移,將一張圖的風格遷移到另一張圖片上,也可以理解為生成問題,根據兩種圖片,生成第三種(風格)圖片,具體看怎么理解怎么做吧(不喜勿噴,純個人觀點)。比如下圖,把一張圖片的風格“遷移”到另一張圖片上:

論文地址:https://arxiv.org/pdf/1508.06576v2.pdf  然而,原始的風格遷移的速度是非常慢的。在GPU上,生成一張圖片都需要10分鍾左右,而如果只使用CPU而不使用GPU運行程序,甚至需要幾個小時。這個時間還會隨着圖片尺寸的增大而迅速增大。這其中的原因在於,在原始的風格遷移過程中,把生成圖片的過程當做一個“訓練”的過程。每生成一張圖片,都相當於要訓練一次模型,這中間可能會迭代幾百幾千次。如果你了解過一點機器學習的知識,就會知道,從頭訓練一個模型要比執行一個已經訓練好的模型要費時太多。而這也正是原始的風格遷移速度緩慢的原因。(出處:https://zhuanlan.zhihu.com/p/24383274)

幾種模型匯總一下:

1、可以理解為生成模型:

簡單來說便是輸入一張隨機噪音構成的底圖,通過計算Style Loss和Content Loss,迭代update底圖,使其風格紋理上與Style Image相似,內容上與原照片相似。正常的訓練過程是通過loss反向傳播更新網絡參數,這里則是用一個已經訓練好的VGG16作為backbone,鎖住參數,更新輸入的底圖。具體的Style Loss和Content Loss計算過程可以參考:https://zhuanlan.zhihu.com/p/57564626,這種模型的缺點就是慢。

2、一次成型的Feedforward-based method

論文地址:https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1603.08155.pdf

也是比較直接的一個想法,增加了一個Autoencoder形狀的Feedforward Net 來擬合風格遷移的過程。仍然是之前的Content Loss+Style loss,用另一個網絡來計算並統一在一起稱之為 Perceptual Loss。

3、One network, multiple styles

論文地址:https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1703.09210.pdf

 

微軟亞研這篇的模型由三部分組成,Encoder E, StyleBank Layer K, Decoder D. 作者希望將content和style的生成分離,即 E+D負責重建Content,不同的K則控制不同style的風格,每個模型可以有多達50個不同的K。

(個人覺得這種方法可能需要很大的網絡結構才能實現,並且如果同時存儲所有風格,模型切換實現起來可能有問題),這種方法已經做到了做到Multi-style single model。

4、接着,設計一種丟進去什么新的style都可以實時進行transfer,而無需重新訓練

論文:Exploring the Structure of a Real-time, Arbitrary Neural Artistic Stylization Network

 

Arbitrary Style Transfer in Real-time with Adaptive Instance Normalization

一文中利用Normalization component來實現不同的style transfer,這篇文章提出了Adaptive Instance Normalization,也就是適應性的IN。

 

 

上圖兩個Encoder均為pre-trained VGG19,訓練過程中參數不再更新。

Training和Inference過程中,Content和Style image同時傳入Encoder,得到兩組feature map, 然后通過AdaIN,對content image進行變換,轉換所用的參數由計算得到,然后再傳給decoder生成最終圖片。需要注意的是 Content loss和之前paper定義的有所不同,如圖所示,用的是經過AdaIN變換過的feature map計算L2 loss,而非encoder的輸出。

自己的想法:

目標還是對之前的Content Loss+Style loss進行優化,但是增加一個offset來對Fx進行二次優化,並且將output styleM輸出單獨存儲在一個張量M中,每次需要什么風格就單獨選取Mi,實現Multi-style single model而且參數也不會隨着其他風格進行更新。具體實現代碼正在進行編寫,正在准備中期,找工作,可能比較慢,有效果再更新。

 

 

 

再次感謝:https://zhuanlan.zhihu.com/p/57564626,https://zhuanlan.zhihu.com/p/24383274


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM