天天看點

一個模型搞定所有風格轉換,直接在浏覽器實作(demo+代碼)

用一個模型就能實作所有類型的風格轉換!一個名為Arbitrary Image Stylization in the Browser的項目最近火起來。

作者是日本小哥Reiichiro Nakano,他用TensorFlow.js在浏覽器中建構了一個使用任意圖像進行風格化的demo。

不像以前的快速風格轉換算法那樣需要每種風格都有一個單獨的網絡,在這個demo中,所有風格圖像隻使用一個單一的模型。并且,你可以自由混合不同的風格。

使用也非常簡單,你隻需要選擇一張内容圖像(content image)和一張風格圖像(style image),然後點選“Stylize”,靜候片刻,一張風格化的圖像就處理好了。

一個模型搞定所有風格轉換,直接在浏覽器實作(demo+代碼)

如圖所示,我們在“内容圖像”選擇一張芝加哥城市風景圖,“風格圖像”選擇一張港口的版畫風格圖像,風格化後得到一張版畫風格的芝加哥風景圖。

其中,内容圖像和風格圖像都可以自定義,也就是說,你可以上傳任意圖像。風格化的強度也可以調整。

作者還提供了混合兩種風格的效果。

一個模型搞定所有風格轉換,直接在浏覽器實作(demo+代碼)

總結而言,這個風格網絡被訓練并用于為任意繪畫風格生成一個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、嵌入空間允許對藝術家的藝術範圍進行新的探索。

一個模型搞定所有風格轉換,直接在浏覽器實作(demo+代碼)

如圖2所示,整個網絡架構由風格學習網絡P和風格轉換網絡T組成,學習的目的是style loss和content loss。風格學習網絡P預測來自輸入風格圖像的嵌入向量S,為風格轉換網絡提供一組歸一化常數。風格轉換網絡将照片轉換為風格化的表示。Content loss和style loss來源于VGG圖像分類網絡的表征空間距離。風格學習網絡主要遵循Inception-v3架構。

原文釋出時間為:2018-11-21

本文作者:Reiichiro Nakano

本文來自雲栖社群合作夥伴新智元,了解相關資訊可以關注“AI_era”。

原文連結:

一個模型搞定所有風格轉換,直接在浏覽器實作(demo+代碼)

繼續閱讀