神經(jīng)風(fēng)格遷移研究概述:從當(dāng)前研究到未來方向
風(fēng)格遷移是近來人工智能領(lǐng)域內(nèi)的一個(gè)熱門研究主題,機(jī)器之心也報(bào)道了很多相關(guān)的研究。近日,來自浙江大學(xué)和亞利桑那州立大學(xué)的幾位研究者在 arXiv 上發(fā)布了一篇「神經(jīng)風(fēng)格遷移(Neural Style Transfer)」的概述論文,對(duì)當(dāng)前神經(jīng)網(wǎng)絡(luò)風(fēng)格遷移技術(shù)的研究、應(yīng)用和難題進(jìn)行了全面的總結(jié)。
一、摘要
Gatys 等人的近期研究證實(shí)了卷積神經(jīng)網(wǎng)絡(luò)(CNN)的力量:通過分離和重新組合圖片內(nèi)容與風(fēng)格,CNN 可以創(chuàng)作出具有藝術(shù)魅力的作品。使用 CNN 將一張圖片的語義內(nèi)容與不同風(fēng)格融合起來的過程被稱為神經(jīng)風(fēng)格遷移(Neural Style Transfer)。從那以后,在學(xué)術(shù)研究和產(chǎn)業(yè)應(yīng)用中,神經(jīng)風(fēng)格遷移已成為一個(gè)很受歡迎的主題,不僅日益受到計(jì)算機(jī)視覺研究者的關(guān)注,研究人員還提出了幾種方法來提升或擴(kuò)展 Gatys et al. 提出的神經(jīng)算法。不過,有關(guān)這方面的全面綜述、總結(jié)性文獻(xiàn)還付之闕如。這篇論文回顧了神經(jīng)網(wǎng)絡(luò)風(fēng)格遷移研究近期取得的進(jìn)展,并討論了這一技術(shù)的不同應(yīng)用以及尚未解決的問題,這也是未來研究的方向。
圖 1:使用了 Gatys 等人的風(fēng)格遷移算法的例子,將中國畫風(fēng)格(b)轉(zhuǎn)移到了一張長城相片(a)上。提供風(fēng)格的那幅作品是黃公望的《富春山居圖》。
1. 引言
本文的余下部分的邏輯結(jié)構(gòu)如下。第 2 節(jié)對(duì)現(xiàn)有的神經(jīng)風(fēng)格遷移方法進(jìn)行分類,并詳細(xì)解釋了這些方法。第 3、4 節(jié)介紹了這些方法的一些改進(jìn)以及擴(kuò)展。文章第 5 節(jié)給出了風(fēng)格化輸出效果的評(píng)估方法。第 6 節(jié)討論了這些神經(jīng)風(fēng)格遷移方法的商業(yè)化應(yīng)用。***,第 7 節(jié)總結(jié)了當(dāng)前面臨的挑戰(zhàn)以及可能的解決方案。第 8 部分總結(jié)全文并拋出了幾個(gè)有前途的研究方向。
文章所涉論文以及相應(yīng)的代碼、預(yù)訓(xùn)練模型請(qǐng)移步至:https://github.com/ ycjing/Neural-Style-Transfer-Papers
2. 神經(jīng)風(fēng)格遷移方法的二分法
在這一部分,我們提出了一種分類方法。當(dāng)前的神經(jīng)風(fēng)格遷移方法符合其中之一:基于圖片迭代的描述性神經(jīng)方法(Descriptive Neural Methods Based On Image Iteration)和基于模型迭代的生成式神經(jīng)方法(Generative Neural Methods Based On Model Iteration)。***類方法通過直接迭代更新圖片像素來實(shí)現(xiàn)圖像風(fēng)格遷移,第二種方法首先會(huì)迭代優(yōu)化生成模型,接著通過一個(gè)單獨(dú)前向通過來生成風(fēng)格化圖像。
(1) 基于圖像迭代的描述性神經(jīng)方法(Descriptive Neural Methods Based On Image Iteration)
***個(gè)用來轉(zhuǎn)移圖片風(fēng)格的神經(jīng)方法就是描述性神經(jīng)方法。這一方法會(huì)從隨機(jī)噪音開始,通過反向傳播迭代更新(尚未知曉的)風(fēng)格化圖像。圖像迭代的目標(biāo)是最小化總損失,這樣風(fēng)格化后的圖像就能同時(shí)將內(nèi)容圖像的內(nèi)容與風(fēng)格圖像的風(fēng)格匹配起來。
神經(jīng)風(fēng)格遷移的關(guān)鍵之一就是風(fēng)格表征(representation of style),即預(yù)定義的風(fēng)格損失函數(shù)。風(fēng)格損失函數(shù)會(huì)被優(yōu)化以匹配風(fēng)格圖像特征統(tǒng)計(jì)。根據(jù)采用的風(fēng)格損失函數(shù)不同,我們可以進(jìn)一步將這一方法分為基于***均值差(MMD)的方法和基于馬爾科夫隨機(jī)場(chǎng)(MRF)的方法。簡(jiǎn)便起見,我們稱之為基于 MMD 和基于 MRF 的方法。
a. 基于 MMD 的描述性神經(jīng)方法
MMD 是一個(gè)很受歡迎的評(píng)估兩個(gè)分布之差的標(biāo)準(zhǔn),以希爾伯特空間特征均值為基礎(chǔ)[20]。最近,Li 等人的研究表明風(fēng)格遷移能夠被視為一個(gè)從內(nèi)容圖像到風(fēng)格圖像的分布對(duì)齊過程 [30]。因此,MMD 能被用于測(cè)量風(fēng)格差異?;?MMD 的描述性神經(jīng)方法是指使用帶有不同核函數(shù)的 MMD 作為優(yōu)化的風(fēng)格損失的神經(jīng)方法。
b. 基于 MRF 的描述性神經(jīng)方法
MRF 是一種用于圖像合成的經(jīng)典框架。假設(shè)局部圖像塊包含了一張圖像中的最相關(guān)統(tǒng)計(jì)依存性。描述性神經(jīng)方法的第二類是以 MRF 為基礎(chǔ)的,還考慮到了局部水平的神經(jīng)風(fēng)格遷移,比如局部圖像塊的風(fēng)格匹配。
(2) 基于模型迭代的生成式神經(jīng)方法
盡管描述性神經(jīng)方法能夠生成出色的風(fēng)格化圖像,但仍有局限性。其中之一就是效率問題。第二類,亦即基于模型迭代的生成式神經(jīng)方法(在某些論文中,也被成為「快速」神經(jīng)風(fēng)格遷移)解決了速度和計(jì)算成本問題,不過犧牲了模型的靈活性。關(guān)鍵思想就是在每個(gè)針對(duì)特定風(fēng)格圖像的大型圖像數(shù)據(jù)集上提前訓(xùn)練一個(gè)前饋網(wǎng)絡(luò)。使用梯度下降,通過迭代式地更新模型來優(yōu)化網(wǎng)絡(luò)模型。
3. 當(dāng)前方法上的輕微修改
有幾項(xiàng)研究提出了基于目前***的神經(jīng)網(wǎng)絡(luò)風(fēng)格遷移算法的改進(jìn)版。這些改進(jìn)版保留了現(xiàn)有算法的架構(gòu)和處理過程,但稍稍改變了損失函數(shù)來獲得更好的性能。
圖 2:控制神經(jīng)風(fēng)格遷移中的畫筆大小可以生成不同風(fēng)格的結(jié)果。風(fēng)格樣式來自梵高的《The Starry Night》
(1) 描述性神經(jīng)方法的衍生
(2) 生成式神經(jīng)方法的衍生
4. 特定類型圖像的擴(kuò)展
上述神經(jīng)風(fēng)格遷移方法都是對(duì)靜態(tài)圖像進(jìn)行處理的。它們可能不適用于其他類型的圖像(如涂鴉、頭像和視頻)。目前已有很多研究正試圖將***進(jìn)的神經(jīng)風(fēng)格遷移算法應(yīng)用到這些特殊類型的圖像,或指定目標(biāo)的圖像風(fēng)格遷移中。
在涂鴉中的神經(jīng)風(fēng)格遷移。Champandard 完成了一些有趣的研究 [7](如 2.1.2 節(jié)所示)。除了將語義映射引入到神經(jīng)風(fēng)格遷移算法中以外,人們也可以通過這種方法在圖像中輸入高級(jí)注釋來把簡(jiǎn)單的草圖轉(zhuǎn)換為精細(xì)的圖畫。
頭像的神經(jīng)風(fēng)格轉(zhuǎn)移。盡管 Gatys 等人的算法已可以進(jìn)行通用圖像的風(fēng)格轉(zhuǎn)移,但它還不適用于頭像的風(fēng)格轉(zhuǎn)移。由于空間約束不強(qiáng),直接應(yīng)用 Gatys 等人的方法可能會(huì)使人物頭部變形。它對(duì)于這種類型的風(fēng)格轉(zhuǎn)移是不可接受的。Selim 等人 [41] 經(jīng)過研究解決了這一問題,他們拓展了 Gatys 等人的算法。他們使用了增益圖(gain maps)的概念來約束空間,從而在風(fēng)格遷移的同時(shí)可以保留人物的面部輪廓。
指定對(duì)象的神經(jīng)風(fēng)格遷移。Castillo 等人 [5] 提出了指定風(fēng)格遷移目標(biāo)的算法。該算法是在圖像中僅對(duì)單個(gè)用戶指定的對(duì)象進(jìn)行風(fēng)格化的過程。這個(gè)想法是使用***進(jìn)的語義分割算法從風(fēng)格化圖像中分割目標(biāo)對(duì)象,然后提取風(fēng)格遷移后的對(duì)象與非風(fēng)格化背景合并。
對(duì)視頻的神經(jīng)風(fēng)格遷移。Ruder 等人 [40] 拓展了 Gatys 等人的研究,用神經(jīng)風(fēng)格前以算法對(duì)視頻圖像序列進(jìn)行了處理,在本文中神經(jīng)視頻風(fēng)格遷移中有提到。給定目標(biāo)風(fēng)格圖片,Ruder 等人的算法引入時(shí)間損失函數(shù)來讓整個(gè)視頻都可以得到風(fēng)格遷移。該算法背后的關(guān)鍵思想是使用時(shí)間約束來保持各幀之間的平滑過渡,即懲罰沿著點(diǎn)軌跡的偏差。Ruder 等人的算法已被證明可以能夠在大多數(shù)情況下消除人工痕跡,并產(chǎn)生平滑的風(fēng)格化視頻。另一個(gè)此方向上的研究由 Anderson 等人 [3] 提出,它能夠利用光流對(duì)風(fēng)格遷移進(jìn)行初始化,為一段影片進(jìn)行渲染。
5. 評(píng)估方法
對(duì)于神經(jīng)風(fēng)格遷移問題,并不存在什么 ground truth。神經(jīng)風(fēng)格遷移是一種藝術(shù)創(chuàng)作。不同的人可能會(huì)對(duì)同一個(gè)遷移后的結(jié)果有不同乃至截然相反的看法。因此,對(duì)神經(jīng)風(fēng)格遷移算法所得到的視覺結(jié)果的評(píng)估仍然還是一個(gè)懸而未決的重要問題。
從我們的角度來看,在神經(jīng)風(fēng)格遷移領(lǐng)域有兩種類型的評(píng)估方法可以使用,即:定性評(píng)估(qualitative evaluation)和定量評(píng)估(quantitative evaluation)。定性評(píng)估要求參與者評(píng)估排序不同算法的結(jié)果,這依賴于參與者的觀察(被稱為「風(fēng)格感知研究(Stylization Perceptual Studies)」)。這種評(píng)估結(jié)果可能會(huì)因參與者屬性(比如年齡、職業(yè))的不同而不同。盡管在定性評(píng)估方法上存在一定程度的不確定性,但該方法至少能夠提供一些有關(guān)人們的神經(jīng)藝術(shù)風(fēng)格偏好的信息。而定量評(píng)估則側(cè)重于在算法上的精確評(píng)估指標(biāo)(比如時(shí)間復(fù)雜度)。
在目前的神經(jīng)風(fēng)格遷移領(lǐng)域,生成式的神經(jīng)方法已經(jīng)成為了一個(gè)熱門的主題,其中速度是工業(yè)應(yīng)用所考慮的主要問題之一。但就我們所知,之前還沒有研究在同樣的實(shí)驗(yàn)設(shè)置下運(yùn)行過所有當(dāng)前***的生成式神經(jīng)方法,并在定性和定量上對(duì)它們進(jìn)行比較。因此,在這一章中,我們的目標(biāo)是比較 5 種當(dāng)前***的生成式神經(jīng)方法,并且使用了 Gatys et al. 的描述式神經(jīng)方法作為參考。
實(shí)驗(yàn)設(shè)置。總體而來,實(shí)驗(yàn)使用了 10 張風(fēng)格圖像和 20 張內(nèi)容圖像。所有風(fēng)格轉(zhuǎn)換結(jié)果都是使用作者提供的代碼 [43, 23, 27, 19, 8] 得到的,但 [14] 是例外。對(duì)于 [14],我們使用了一種有所修改的(見第 3 章)流行的開源代碼 [22]。我們的實(shí)驗(yàn)中使用的所有這些代碼的參數(shù)都是原作者對(duì)應(yīng)論文提供的默認(rèn)參數(shù),但 [12, 9] 是例外。我們?yōu)?[12,9] 使用了作者提供的預(yù)訓(xùn)練的模型。對(duì)于我們實(shí)驗(yàn)中所有的生成式神經(jīng)方法,所有測(cè)試內(nèi)容圖像在訓(xùn)練過程中都沒有被觀察過。
(1) 定性評(píng)估
圖 3:定性評(píng)估的一些結(jié)果示例
表 1:對(duì)于圖 3 中圖像上的六種算法的平均風(fēng)格排名分?jǐn)?shù)(∈ [1, 6])
(2) 定量評(píng)估
表2:在 256×256、512×512、1024×1024 三種像素大小上的神經(jīng)風(fēng)格遷移算法的速度比較(硬件:NVIDIA Quadro M6000)
6. 應(yīng)用
因?yàn)樯窠?jīng)風(fēng)格遷移的結(jié)果驚人,所以也帶來了很多成功的業(yè)界應(yīng)用并且也開始實(shí)現(xiàn)了商業(yè)回報(bào)。同時(shí),也有一些應(yīng)用論文調(diào)查了神經(jīng)風(fēng)格遷移技術(shù)在不同應(yīng)用領(lǐng)域的應(yīng)用方式 [4,25]。本節(jié)對(duì)這些應(yīng)用進(jìn)行了總結(jié),并提出了一些潛在的用途。
(1) 社交
(2) 輔助用戶創(chuàng)作的工具
(3) 用于娛樂應(yīng)用的生產(chǎn)工具
7. 難題與可能的解決方案
神經(jīng)風(fēng)格遷移領(lǐng)域的進(jìn)展驚人,在產(chǎn)業(yè)中也已有所應(yīng)用。盡管目前的算法取得了驚人的結(jié)果,該領(lǐng)域仍有一些挑戰(zhàn)與仍待解決的問題。在此章節(jié)中,我們將總結(jié)神經(jīng)風(fēng)格遷移領(lǐng)域內(nèi)的問題,并討論對(duì)應(yīng)的解決方案。
(1) 難題
- 參數(shù)調(diào)整的問題
- 筆觸方向控制問題
- 神經(jīng)風(fēng)格遷移中「快」與「更快」的問題
圖 4:帶有畫筆大小控制的描述性神經(jīng)方法的高分辨率結(jié)果,以及不帶畫筆大小控制的生成式神經(jīng)方法的高分辨率結(jié)果。
(2) 可能的解決方案
參數(shù)調(diào)整問題的解決方案。在未來自動(dòng)參數(shù)調(diào)整問題的研究中,我們分別討論了對(duì)描述性神經(jīng)方法和生成式方法的解決方案。對(duì)描述性神經(jīng)方法,可能的一個(gè)解決方案是跟隨 Risser 等人的方法,進(jìn)一步的結(jié)合一些無梯度信息,比如損失的量級(jí)以及損失內(nèi)的統(tǒng)計(jì)。另一個(gè)方向是從分類問題中使用的自動(dòng)參數(shù)優(yōu)化策略獲取靈感(例如,Domhan 等人的研究 [11],Luo 的研究 [32])。
對(duì)生成式神經(jīng)方法,一種思路是研究不需要為不同風(fēng)格訓(xùn)練單獨(dú)模型的新方法(就像 [9]),同時(shí)還要保證結(jié)果的高質(zhì)量。(也就是,突破速度、靈活性和質(zhì)量之間的權(quán)衡)。然后參數(shù)調(diào)整的過程就不會(huì)特別耗費(fèi)時(shí)間,而且把參數(shù)調(diào)整交給用戶也可接受。此外,目前自動(dòng)參數(shù)優(yōu)化策略中的一些方法對(duì)生成式神經(jīng)方法中的自動(dòng)參數(shù)調(diào)整也會(huì)有幫助。
對(duì)筆觸方向控制問題的可能解決方案。目前的神經(jīng)風(fēng)格遷移算法不考慮對(duì)筆觸方向的控制。相反,在非真實(shí)感繪制技術(shù)(NPR:Non-photorealistic Rendering)領(lǐng)域,對(duì)筆觸方向控制有很好的研究 [39]。我們相信 NPR 領(lǐng)域中的一些思路可被借鑒來解決神經(jīng)風(fēng)格遷移中的方向問題。例如,Zhang 等人要求用戶明確筆觸方向的位置與方式 [49],因?yàn)椴煌挠脩粲胁煌钠谩M瑯拥乃悸房山梃b到神經(jīng)風(fēng)格遷移算法中,要求用戶提前選擇全局筆觸方向。此外,結(jié)合神經(jīng)風(fēng)格遷移算法和 NPR 領(lǐng)域中指導(dǎo)筆觸方向的策略(例如,[50] 中的向量場(chǎng)方法)是該問題的另一個(gè)潛在的解決方案。
神經(jīng)風(fēng)格遷移中「快」與「更快」問題的解決方案。該研究方向的關(guān)鍵問題是如何突破速度、靈活性、質(zhì)量三者的權(quán)衡??赡艿囊粋€(gè)解決方案是跟隨 Chen 和 Schmidt 的研究 [9]。他們的算法是目前最有效的算法,但圖片質(zhì)量并不高。改進(jìn)他們的方法所產(chǎn)生的風(fēng)格遷移圖像的質(zhì)量是突破速度、靈活性、質(zhì)量三者權(quán)衡的有潛力的方向。目前已有一些相關(guān)工作,比如 [51]。
對(duì)神經(jīng)風(fēng)格遷移算法「快」與「更快」的筆觸大小控制而言,思路類似于之前提到的筆觸方向控制的可能解決方案。在 NPR 領(lǐng)域,有大量的研究人員在做筆觸大小控制。若要進(jìn)行回顧,我們推薦 [39] 中的章節(jié) 1。
8. 結(jié)論和未來工作
過去三年來,神經(jīng)風(fēng)格遷移已經(jīng)持續(xù)成長為了一個(gè)蓬勃發(fā)展的研究領(lǐng)域。這一研究領(lǐng)域內(nèi)越來越多的活動(dòng)受到了科學(xué)挑戰(zhàn)和工業(yè)需求的推動(dòng)。而且在神經(jīng)風(fēng)格遷移領(lǐng)域內(nèi),研究者們也已經(jīng)進(jìn)行了數(shù)量可觀的研究。這一領(lǐng)域內(nèi)的關(guān)鍵進(jìn)展見于表 3??傮w而言,這篇概述提供了對(duì)神經(jīng)風(fēng)格遷移現(xiàn)有研究的廣泛調(diào)研,覆蓋了當(dāng)前方法的類別、它們的改進(jìn)和擴(kuò)展、評(píng)估方法以及現(xiàn)有的挑戰(zhàn)和對(duì)應(yīng)的可能解決方案。此外,我們還概述了神經(jīng)風(fēng)格遷移的三個(gè)應(yīng)用領(lǐng)域,包括社交、輔助用戶創(chuàng)作的工具和用于娛樂應(yīng)用的產(chǎn)品工具。
表 3:總結(jié)神經(jīng)風(fēng)格遷移領(lǐng)域內(nèi)的當(dāng)前進(jìn)展
未來研究神經(jīng)風(fēng)格遷移,有前景的方向主要集中在兩個(gè)方面。一是解決前面提到的當(dāng)前算法所面臨的難題,即參數(shù)微調(diào)問題、筆觸方向控制問題和神經(jīng)風(fēng)格遷移中「快」與「更快」的問題。對(duì)這些難題及其對(duì)應(yīng)的可能解決方案的描述見于第 7 節(jié)。第二個(gè)有前景的方向是關(guān)注神經(jīng)風(fēng)格遷移的新擴(kuò)展(比如,時(shí)尚風(fēng)格遷移和字符風(fēng)格遷移),在這個(gè)方向上已經(jīng)有了一些初步的研究成果,比如最近 Yang et al. [47] 的關(guān)于文本效果遷移(Text Effects Transfer)的研究。這些有趣的擴(kuò)展可能會(huì)變?yōu)槲磥淼难芯恐黝}趨勢(shì),之后又可能會(huì)創(chuàng)造出新的相關(guān)領(lǐng)域。
原文:https://arxiv.org/abs/1705.04058
【本文是51CTO專欄機(jī)構(gòu)機(jī)器之心的原創(chuàng)譯文,微信公眾號(hào)“機(jī)器之心( id: almosthuman2014)”】