一位日本小哥用TensorFlow.js在瀏覽器中構建了一個使用任意圖像進行風格化的demo,只使用了一個單一的模型。demo效果相當不錯,并且也開源了代碼。
用一個模型就能實現所有類型的風格轉換!一個名為Arbitrary Image Stylization in the Browser的項目最近火起來。
作者是日本小哥Reiichiro Nakano,他用TensorFlow.js在瀏覽器中構建了一個使用任意圖像進行風格化的demo。
不像以前的快速風格轉換算法那樣需要每種風格都有一個單獨的網絡,在這個demo中,所有風格圖像只使用一個單一的模型。并且,你可以自由混合不同的風格。
使用也非常簡單,你只需要選擇一張內容圖像(content image)和一張風格圖像(style image),然后點擊“Stylize”,靜候片刻,一張風格化的圖像就處理好了。
如圖所示,我們在“內容圖像”選擇一張芝加哥城市風景圖,“風格圖像”選擇一張港口的版畫風格圖像,風格化后得到一張版畫風格的芝加哥風景圖。
其中,內容圖像和風格圖像都可以自定義,也就是說,你可以上傳任意圖像。風格化的強度也可以調整。
作者還提供了混合兩種風格的效果。
總結而言,這個風格網絡被訓練并用于為任意繪畫風格生成一個100-D的風格向量(style vector)。然后,將該向量與內容圖像一起饋送到一個的轉換網絡,進行實際的風格轉換。
這個100D的向量基本上是一個“style”的潛在空間。我們可以利用這個“潛在空間”做一些有趣的事情。
我們可以通過對風格圖像和內容圖像的風格向量進行加權平均,來控制風格化的強度。作者發現,這對于風格特別鮮明的內容圖像很有用。
我們還可以通過在它們的風格向量之間插值,來組合不同的風格,并讓網絡猜測這兩幅圖像之間的風格是什么樣子的。
將模型移植到瀏覽器上的最大問題是模型大小。風格網絡基于Inception-v3,它的權重> 97MB。作者使用distillation,能夠用9.6MB的MobileNet-v2替換它,尺寸縮小了10倍。所以作者認為distillation這種技術被低估了,它可以為瀏覽器帶來一些很酷的ML功能,因為很多模型由于太大而無法在資源有限的環境中進行部署。
這個demo建立在谷歌大腦和蒙特利爾大學合作的論文Exploring the structure of a real-time, arbitrary neural artistic stylization network之上,這是圖像風格化的經典論文之一。作者開源了代碼。
下面我們簡要介紹一下論文的主要思想。
模型和方法
這篇論文的核心是通過構建一個風格學習網絡來實現快速的風格遷移。
論文提出了一種將藝術風格神經算法的靈活性和快速風格遷移網絡的速度相結合的方法,允許使用任何內容/風格圖像進行實時的風格化。
這個模型成功地用大約80000幅畫作的數據庫進行了訓練,并能夠推廣到以前未見過的畫作。
論文的主要貢獻包括:
1、介紹了一種新的算法,用于快速、任意的藝術風格遷移;在80000幅畫作上訓練,并能對未觀察過的畫作實時運行。
2、在緊湊的嵌入空間中呈現左右繪畫風格,捕捉繪畫的語義特征。
3、證明用大量畫作進行訓練之后,模型能夠預測以前從未觀察過的風格。
4、嵌入空間允許對藝術家的藝術范圍進行新的探索。
圖1:網絡在大量的繪畫和紋理上訓練生成的造型
圖2:模型架構圖示
如圖2所示,整個網絡架構由風格學習網絡P和風格轉換網絡T組成,學習的目的是style loss和content loss。風格學習網絡P預測來自輸入風格圖像的嵌入向量S,為風格轉換網絡提供一組歸一化常數。風格轉換網絡將照片轉換為風格化的表示。Content loss和style loss來源于VGG圖像分類網絡的表征空間距離。風格學習網絡主要遵循Inception-v3架構。
-
圖像
+關注
關注
2文章
1084瀏覽量
40465 -
瀏覽器
+關注
關注
1文章
1025瀏覽量
35358 -
tensorflow
+關注
關注
13文章
329瀏覽量
60536
原文標題:一個模型搞定所有風格轉換,直接在瀏覽器實現(demo+代碼)
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論