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