瞬間變樣!看TensorFlow如何實現深度「圖片風格遷移」
GIF/1.7M
原文來源:https://arxiv.org/、https://github.com/
作者:Fujun Luan、Sylvain Paris、Eli Shechtman、Kavita Bala、LouieYang
「機器人圈」編譯:嗯~阿童木呀、多啦A亮
今年四月,Adobe公司和康奈爾大學聯合發布了一篇論文,名為《深度照片風格遷移》(Deep Photo Style Transfer),可以逼真地將一張照片的風格遷移到另外一張。近日,GitHub上開源了這篇論文基於TensorFlow的實現。本文分為兩部分,前面我們先簡要回顧一下這篇論文的原理,後面是具體的TensorFlow實現操作。
本文介紹了一種用於逼真圖片風格遷移的深度學習方法,在遷移參考風格的同時處理大量的圖像情境。該論文通過研究神經網路的不同層,將風格從圖像內容中抽離出來。然而,這種方法並不適用於逼真風格(photorealistic style)遷移。即使輸入和參考圖像都是照片,輸出所展示的結果仍然會令人聯想到一幅失真的畫。這篇論文的主要貢獻是限制從輸入到輸出的轉換,在色彩空間中局部仿射,並將這個約束表示為一個自定義完全可微的能量項。該論文的研究結果表明,這種方法成功地抑制了失真,並在各種各樣的場景中產生了令人滿意的逼真風格的遷移,包括時間、天氣、季節以及藝術編輯的風格的遷移。
逼真圖片風格遷移是一個長期存在的問題,它試圖將參考風格照片中的風格遷移到另一個輸入圖片上。例如,通過適當地選擇參考風格照片,你就可以使輸入圖片看起來像是在不同的照明、時間或天氣下拍攝的,或者像是用另一種完全不同的意圖進行了藝術風格的暈染。到目前為止,現有的技術在場景的多樣性、它們能夠處理的遷移,以及它們所達到的風格匹配的忠實性程度上面還存在著諸多局限性。在本文中,我們介紹了一種用於逼真圖片風格遷移的深度學習方法,即它在處理各種各樣的圖像情境的同時,還可以準確地遷移參考風格。最近Gatys等人在《使用卷積神經網路的圖像風格遷移》(Image style transfer using convolutional neural networks.)中所提及的神經風格遷移研究中有了最新成果,而我們的方法就是基於此的。但是,正如下圖所示,即使輸入和參考風格圖像都是照片,輸出仍然看起來像一幅畫,例如,直線的邊緣變成了彎曲的、有規律的紋理波狀。而我們所要做的一個工作就是防止空間失真,以及將遷移操作限制在僅在色彩空間中進行,從而消除這些類似於油漆的效果。
(a)
(b)
(c)
(d)
(e)
a
b
c
d
e
給定參考樣式圖像(a)和輸入圖像(b),我們試圖創建一個與輸入場景相同的輸出圖像,但是要使用參考圖像的風格。《使用卷積神經網路的圖像風格遷移》中所提及的神經風格演算法(c)成功地遷移了顏色,而且還引起了使輸出看起來像一幅畫的失真,這在照片風格轉移的情境中是不可取的。相比之下,我們的結果(d)在保留輸出的逼真感的同時良好地遷移了參考風格圖像的顏色。在(e)中,我們顯示了(b),(c)和(d)(按照這個順序)的3個插圖。放大以比較結果。
我們可通過能夠在色彩空間中進行局部仿射的轉換模型來實現這個目標,我們可將其表示為一個自定義完全可微的能量項,而這一靈感主要啟發於A. Levin等人所著的《自然圖像摳圖的封閉式解決方法》(A closed-form solution to natural image matting)中所提及的拉普拉斯摳圖技術(Matting Laplacian)。我們的研究結果表明,這種方法成功地抑制了失真,同時將對遷移忠實性影響降低到最小。而我們的其他關鍵性貢獻是解決了輸入和引用圖像之間的情境差異所帶來的挑戰,這可能導致不相關的情境之間產生不可取的遷移。例如,考慮在輸入圖像中具有較少天空可見的圖像,忽略風格和輸入之間情境差異的遷移可能會導致天空風格「溢出」到其餘的圖片中。我們展示了如何使用L.-C. Chen等人所著的《Deeplab:具有深卷積網路、動態卷積和完全連接crfs的語義圖像分割》(Deeplab: Semantic image segmentation with deep
convolutional nets, atrous convolution, and fully connected
crfs.)中所提及的語義分割來解決輸入和參考圖像中的這個問題。同時,我們的研究結果表明此方法具有非常好的有效性,它滿足了各種各樣的場景,包括時間、天氣、季節和藝術編輯的遷移,從而產生令人滿意的逼真效果。
了解論文更多詳情,歡迎下載原文:https://arxiv.org/pdf/1703.07511.pdf
實現
接下來介紹《深度圖片風格遷移》(Deep Photo Styletransfer)在Tensorflow上的實現,torch上的實現請點擊此處鏈接參閱更多詳情。
這個實現支持L-BFGS-B(這是原作者所使用的)和Adam,以防當Tensorflow升級到更高版本時,ScipyOptimizerInterface不兼容。
由於Tensorflow的自動微分,這種實現可能會更簡單一點。
此外,由於另一個repo計算拉普拉斯稀疏矩陣,所以對MATLAB沒有依賴性。以下是將照片風格遷移到另一張照片的示例。
免責聲明
本軟體僅用於學術和非商業用途。
設置
相關性
?Tensorflow
?Numpy
?Pillow
?Scipy
?PyCUDA (用於平滑局部仿射,在CUDA 8.0上測試)
建議使用Anaconda Python,因為你只需要手動安裝Tensorflow和PyCUDA即可。CUDA是可選項,但是推薦大家使用。
下載VGG-19模型的權重
VGG Tensorflow採用Tensorflow的VGG-19模型,對類介面進行了少量修改。VGG-19模型的權重存儲為.npy文件,可以點擊此處下載。下載後,將權重文件複製到./project/vgg19目錄。
用法
基本用法:
你需要指定內容圖像的路徑,樣式圖像,內容圖像分割,樣式圖像分割,然後運行命令
python deep_photostyle.py
--content_image_path
--style_image_path
--content_seg_path
--style_seg_path
--style_option 2
例如:
python deep_photostyle.py
--content_image_path ./examples/input/in11.png
--style_image_path ./examples/style/tar11.png
--content_seg_path ./examples/segmentation/in11.png
--style_seg_path ./examples/segmentation/tar11.png
--style_option 2
其他選項
--style_option指定了三種不同的風格遷移方式。--style_option 0是在torch中產生分段的中間結果,如torch文件neuralstyle_seg.lua。--style_option 1使用此中間結果生成最終結果,如torch文件deepmatting_seg.lua。--style_option 2將這兩個步驟組合為一行命令直接生成最終結果。
運行
python deep_photostyle.py --help
to see a list of all options查看所有選項的列表
圖像分割
該repo不提供圖像分割腳本,並且僅使用來自torch版本的分割圖像。使用的濾鏡顏色也與它們相同。你可以指定自己的分割模型和掩碼顏色來自定義自己的樣式遷移。
示例
這裡有更多的結果來自tensorflow演算法(從左到右是輸入,樣式,torch結果和tensorflow結果)
致謝
這項工作是在Liu Yang作為阿里巴巴—浙江大學前沿技術聯合研究中心研究實習生的時,由Song Mingli 教授和 Jing Yongcheng教授指導下完成。
我們的tensorflow的實現基本上效仿torch代碼。
我們使用martinbenson的python代碼來計算Matting Laplacian矩陣。
引文
如果你發現此代碼對你的研究有用,請援引:
@misc, title = , publisher = , organization=, year = , howpublished = {url} }
源代碼:https://github.com/LouieYang/deep-photo-styletransfer-tf
※TensorFlow和PyTorch相繼發布最新版,有何變化
※如何用CoreML和Swift在蘋果上開發「實時對象識別器」
※你離識別這些AI謊言有多遠?科普綜藝來補位
※LR-GAN如何生成圖像?這裡有篇Pytorch教程
※實時風格遷移原來這麼酷!用PyTorch分分鐘搞定
TAG:機器人圈 |
※Nvidia 圖片風格轉換工具——FastPhotoStyle
※硬派科幻風格!adidas Futurepacer Boost 上腳效果如何?
※大Logo再現江湖!定製風格 Air Jordan 1 「Olive」 釋出!
※風格遷移原理及tensorflow實現-附代碼
※風格清新!Reebok Question 「Mint Glow」 下周發售!
※Illustrator繪製MEB風格的人像插圖
※除了現在大火的Balenciaga姥爺鞋,Gucci小白鞋,yeezy。最能hold住各種風格的還是converse
※Converse,逆潮而上,演繹復古風格
※Illustrator設計邪惡主題風格的圖標
※Virgil Abloh設計風格再出現!這雙Nike Air VaporMax制勝細節怎麼能錯過?!
※新風格 Adidas Falcon W "Light Granite"復古拼色老爹鞋
※Virgil Abloh設計風格再出現!這雙Nike Air VaporMax制勝細節怎麼能錯過!
※Google可能會將iPhone X風格的導航添加到Android P
※Illustrator繪製卡通風格的糖果怪物
※極簡風格 現代Le Fil Rouge概念車發布
※關注度極高!解構風格的 Vans Vault 「Inside Out」 系列即將發售
※才不是cos呢!Lolita各風格介紹
※Isabel Marant依舊玩起了百變的混搭風格,瀟洒利落
※東瀛風格加持!Air Jordan 12 「International Flight」 正式登場!
※極簡解構風格!adidas Y-3 Ayero White 現已發售