劉冰
(閩南師范大學(xué) 教育科學(xué)學(xué)院,福建 漳州 363000)
在悠久的歷史中,曾誕生過無數(shù)造詣精深的畫家,他們留下的美妙畫作已經(jīng)成為人類文明歷史中不可或缺的瑰寶。當(dāng)然,任何一位畫家都具有自己獨(dú)特的風(fēng)格,想要仿照其風(fēng)格作畫十分困難。20世紀(jì)90年代,計(jì)算機(jī)科學(xué)家們開始思考利用強(qiáng)大的算力按照某一畫家的風(fēng)格對(duì)其畫作進(jìn)行仿制。
這類算法被稱為圖像風(fēng)格遷移(Image Style Transfer)算法。具體而言,圖像風(fēng)格遷移算法能夠?qū)W習(xí)某張畫作的風(fēng)格,并將這種風(fēng)格遷移到另一張圖片,且很大程度上保留該圖片原有的內(nèi)容信息。即經(jīng)算法處理過的圖片能夠兼具所期望擁有的內(nèi)容與所期望呈現(xiàn)的畫家風(fēng)格。
這類方法具有很強(qiáng)的擴(kuò)展性。它不僅可以仿照某個(gè)特定畫家的風(fēng)格設(shè)計(jì)濾鏡,生成精美絕倫的圖片;也可以依照特定環(huán)境,如冬季、黃昏等風(fēng)格圖片將圖片轉(zhuǎn)化為在對(duì)應(yīng)情境下的形態(tài);人們還根據(jù)算法原理提出了新的圖像超分辨方法,即從低分辨的模糊圖像中恢復(fù)出高分辨的清晰圖像。另外,該算法也具有很強(qiáng)的可應(yīng)用性。2016年,Alexey Moiseenkoy基于該算法原理開發(fā)了手機(jī)軟件Prisma,為普通照片加入藝術(shù)效果,并被評(píng)為2016年IOS年度最佳應(yīng)用程序。
圖像風(fēng)格遷移最早可以追溯到20世紀(jì)90年代中期誕生的非真實(shí)性渲染算法(Non Photorealistic Rendering,NPR)[1]。作為計(jì)算機(jī)圖形學(xué)最早誕生的兩大主要問題之一,與真實(shí)性渲染(Photorealistic Rendering)相對(duì),非真實(shí)性渲染的目的主要在于模擬藝術(shù)化的繪制風(fēng)格,呈現(xiàn)出手繪的效果。常見的非真實(shí)渲染技術(shù)包括卡通渲染、油畫渲染、像素感渲染、鉛筆畫、素描畫、蠟筆畫和水墨畫等類型。這類算法注重對(duì)特殊筆觸紋理的模擬,并沒有上升到對(duì)整體繪畫風(fēng)格的遷移。代表性的工作,如Salisbury與Anderson等人提出的參數(shù)化方法的筆觸模擬,能夠較好地根據(jù)用戶繪制的線稿加以完善產(chǎn)生所需筆觸風(fēng)格的圖片[2]。當(dāng)然,這類方法極大受到單一風(fēng)格的影響,很難擴(kuò)展到其他風(fēng)格或者更高層次的語(yǔ)義風(fēng)格。
到20世紀(jì)初期,人們將NPR算法的主旨加以提煉,在更抽象的層面提出紋理遷移算法(Texture Transfer)。紋理遷移算法不再拘泥于繪畫的筆觸,轉(zhuǎn)而抽取圖像更抽象層面的紋理特征。所謂紋理特征即通過卷積、降采樣、Harris算子等方式從原圖像中提取出的能代表圖像某種特征信息的因子。提取到紋理特征后,不同的學(xué)者采用不同方式將特征融合進(jìn)目標(biāo)圖像中。具有代表性的工作,如Efros與Freeman等人引入了包含對(duì)應(yīng)目標(biāo)圖像紋理特征的對(duì)應(yīng)表以約束紋理遷移過程[3];Hertzmann等人提出了圖像類比方法來實(shí)現(xiàn)遷移過程[4]。
然而,這些算法大都是采用非參數(shù)化的方法來實(shí)現(xiàn)風(fēng)格遷移,雖然相比簡(jiǎn)單的NPR算法有所提高,但仍然局限于較為潛層的特征遷移。因此,更具普適性的風(fēng)格遷移算法呼之欲出。
2015年前后,隨著卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)的迅速崛起以及其在諸如圖像識(shí)別、自然語(yǔ)言處理等方向達(dá)成的巨大成就,圖像風(fēng)格遷移領(lǐng)域也開始跟進(jìn)時(shí)代技術(shù)的步伐。2016年,Gatys等人在前人工作的基礎(chǔ)上,提出了基于CNN的圖像遷移算法[5],開創(chuàng)了巨大的技術(shù)革新。該算法采用了著名的VGG卷積神經(jīng)網(wǎng)絡(luò)模型來提取圖像的風(fēng)格特征,基于梯度下降方式來調(diào)整生成圖像。
具體而言,Gatys等人使用VGG模型分別提取出風(fēng)格圖像與目標(biāo)(內(nèi)容)圖像不同層級(jí)特征,其中越高的層級(jí)代表越抽象的語(yǔ)義特征。根據(jù)兩類特征,可以分別定義風(fēng)格圖像與內(nèi)容圖像的損失函數(shù),進(jìn)而定義結(jié)果圖片的總損失函數(shù):
其中,系數(shù)α與β的大小決定了結(jié)果圖片更傾向于風(fēng)格化還是更傾向于保留原有結(jié)構(gòu)。訓(xùn)練開始時(shí),初始化結(jié)果圖片,將結(jié)果圖片中的每個(gè)像素值作為參數(shù),通過VGG提取出圖像的特征后依照上面的方法計(jì)算出損失函數(shù)值,再由梯度下降與反向傳播算法進(jìn)行前向與反向的神經(jīng)網(wǎng)絡(luò)迭代。在一定次數(shù)的迭代過后結(jié)果圖像便逐漸收斂,得到所需要的效果。Gatys等人工作的結(jié)果可以從圖1中概覽(圖1中,A為目標(biāo)圖像,B-F為由左下角作為風(fēng)格圖像時(shí)對(duì)A圖像進(jìn)行遷移的結(jié)果)。
Gatys等人發(fā)現(xiàn),一幅圖像中內(nèi)容與風(fēng)格的特征是可以良好分離并表達(dá)的??梢元?dú)立地操縱這兩種表示,以生成新的、具有感知意義的圖像。而調(diào)整損失函數(shù)中的比例或者選擇CNN中的不同特征層,也可以產(chǎn)生不同效果的圖片。
該算法一經(jīng)發(fā)表便引起了巨大轟動(dòng),他們突破了以往非參數(shù)化的特征提取方法,將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到圖像風(fēng)格遷移中,并且達(dá)到了非常好的效果。然而,由于該模型需要對(duì)結(jié)果圖片的每個(gè)像素進(jìn)行參數(shù)化迭代,在圖片分辨率較高的情況下,每次迭代所花費(fèi)的代價(jià)較高,再加上該模型需要數(shù)百次的迭代才能成形,可見其還是存在較大的局限性。
1.3.1 風(fēng)格遷移效率的優(yōu)化
為了解決Gatys模型效率低下的問題,Johnson與Ulyanov分別提出兩種不同解決方法。
相比于Gatys等人選擇對(duì)結(jié)果圖像進(jìn)行參數(shù)優(yōu)化的方式,Johnson等人提出了前向傳播(Feed-forward)的方法,轉(zhuǎn)而變?yōu)閷?duì)模型進(jìn)行優(yōu)化[6]。具體而言,在實(shí)際開展遷移算法之前,先對(duì)風(fēng)格圖像訓(xùn)練出一個(gè)前向傳播的神經(jīng)網(wǎng)絡(luò),每次需要完成風(fēng)格遷移任務(wù)時(shí)只需將目標(biāo)圖像作為輸入在已訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)上前向傳播計(jì)算一遍,即可以達(dá)到所需要的效果。此外,還創(chuàng)造性地提出了語(yǔ)義損失(Perceptual Losses)函數(shù)的概念,改進(jìn)了包括Gatys等先前主要使用的逐像素?fù)p失方法,改為綜合語(yǔ)義信息計(jì)算圖片損失。
Ulyanov等人提出了另一種網(wǎng)絡(luò)結(jié)構(gòu)[7],它采取多尺度架構(gòu)作為生成網(wǎng)絡(luò)的輸入,生成網(wǎng)絡(luò)產(chǎn)生的目標(biāo)圖像紋理信息將被輸入到已經(jīng)訓(xùn)練好的解釋網(wǎng)絡(luò)中進(jìn)行風(fēng)格融合,最終得到目標(biāo)圖像。此外他們還發(fā)現(xiàn)對(duì)單個(gè)圖片進(jìn)行正規(guī)化而非對(duì)批量圖片進(jìn)行正規(guī)化能夠顯著地提高風(fēng)格化的質(zhì)量。
Johnson與Ulyanov的模型均極大地提升了Gatys模型的效率,其中Johnson模型能夠比Gatys快約3個(gè)數(shù)量級(jí),Ulyanov模型能夠加速約500倍。這樣的優(yōu)化是顯著的,每張圖片的風(fēng)格化可以在極短的時(shí)間內(nèi)實(shí)現(xiàn),因此可以將其應(yīng)用到在線平臺(tái)或者視頻中。不過,由于這兩個(gè)模型都需要預(yù)先針對(duì)某個(gè)風(fēng)格圖像提前訓(xùn)練好前向網(wǎng)絡(luò)與解釋網(wǎng)絡(luò),因此每次要對(duì)新的風(fēng)格進(jìn)行遷移時(shí)需要提前訓(xùn)練一輪,故有其局限性。
圖1 Gatys等人基于CNN的圖像遷移算法的相關(guān)圖像[5]
1.3.2 多風(fēng)格遷移模型
在Johnson與Ulyanov等人研究的基礎(chǔ)上,學(xué)者們又提出了可以適用多風(fēng)格遷移的單個(gè)模型。具有代表性的有Dumoulin等人的工作與Chen等人提出的Style Bank方法。
Dumoulin等人發(fā)現(xiàn),在Johnson等人所提出模型的基礎(chǔ)上,保持卷積參數(shù)不變,只對(duì)其進(jìn)行放縮與移位,能夠通過不同的適配方式對(duì)不同風(fēng)格圖像進(jìn)行遷移[8]。具體而言,他們提出了條件實(shí)例歸一化方法,通過具有不同仿射參數(shù)的特征統(tǒng)計(jì)歸一化,將輸入圖像歸一化到不同的遷移風(fēng)格。當(dāng)然,Dumoulin等人的模型還可以實(shí)現(xiàn)不同風(fēng)格的平滑過渡,即可以設(shè)置不同風(fēng)格所占比重,對(duì)內(nèi)容圖像進(jìn)行混合風(fēng)格遷移。
Chen等人的思路則是通過不同的網(wǎng)絡(luò)分量學(xué)習(xí)對(duì)應(yīng)的內(nèi)容與風(fēng)格信息,從而精準(zhǔn)地將一幅圖像的內(nèi)容與風(fēng)格特征分離開來[9]。他們提出了風(fēng)格庫(kù)(Style Bank)的概念,即CNN的一個(gè)中間層。每種風(fēng)格都由風(fēng)格庫(kù)中的一系列參數(shù)所確定,網(wǎng)絡(luò)中的其余部分則用于學(xué)習(xí)內(nèi)容信息,這部分信息將被所有風(fēng)格共享。此外,Chen等人的工作還可以支持圖像的不同區(qū)域?qū)Σ煌娘L(fēng)格進(jìn)行遷移操作,也是相比于原先風(fēng)格遷移算法的另一個(gè)突破。
Dumoulin與Chen等人的模型一方面突破了Johnson與Ulyanov模型每次訓(xùn)練只能對(duì)一種風(fēng)格進(jìn)行遷移的限制,可以同時(shí)訓(xùn)練約50種風(fēng)格。一方面又取得了混合風(fēng)格遷移以及區(qū)域風(fēng)格遷移的額外收獲,已經(jīng)基本滿足了大部分應(yīng)用場(chǎng)景的需求。不過,作為代價(jià),其風(fēng)格化效果與Gatys模型相比略顯遜色。
1.3.3 任意風(fēng)格遷移模型
盡管Dumoulin與Chen的模型能夠適用于大部分的情況,但由于對(duì)于一組新的風(fēng)格,這類模型仍然需要重新進(jìn)行訓(xùn)練,產(chǎn)生較大的開銷,因此又有許多學(xué)者提出了對(duì)新風(fēng)格不需要重新進(jìn)行訓(xùn)練的方法。其中最具代表性的有Chen與Schmidt的方法與Huang的方法。
Chen與Schmidt的模型核心是基于特征塊的方法[10]。首先從目標(biāo)圖像與風(fēng)格圖像中通過VGG等網(wǎng)絡(luò)各提取出一系列特征(稱作特征塊),通過匹配最相似的內(nèi)容與風(fēng)格特征塊,從而重新構(gòu)建特征塊對(duì)應(yīng)關(guān)系,從而達(dá)到風(fēng)格化的效果。這種方法能夠無須事先對(duì)風(fēng)格圖像訓(xùn)練也能夠?qū)崿F(xiàn)一定的遷移化效果,不過由于某些內(nèi)容特征塊可能被簡(jiǎn)單地替換為非目標(biāo)語(yǔ)義的風(fēng)格特征塊,因此其風(fēng)格化結(jié)果從視覺上看并不是特別優(yōu)秀。
Huang等人對(duì)Dumoulin模型里條件實(shí)例歸一化方程加以修改,通過VGG提取的風(fēng)格和內(nèi)容特征,在大規(guī)模風(fēng)格和內(nèi)容圖上進(jìn)行訓(xùn)練,從而能夠直接將圖像中的內(nèi)容歸一化為不同風(fēng)格[11]。不過,Huang等人的模型主要依靠數(shù)據(jù)驅(qū)動(dòng),難以擴(kuò)展到非直接可見的風(fēng)格特征上。另外,在處理細(xì)節(jié)較為豐富的特征與局部結(jié)構(gòu)等較復(fù)雜的風(fēng)格時(shí)該模型的表現(xiàn)也不盡如人意。
以上基于卷積神經(jīng)網(wǎng)絡(luò)的圖像遷移算法一些代表性的工作,這里引用Jing與Yang等對(duì)所有算法處理結(jié)果的橫向?qū)Ρ冉Y(jié)果[1],如圖2所示(圖2中,第一行為輸入的內(nèi)容圖像與風(fēng)格圖像,其后每行分別為對(duì)應(yīng)模型的處理結(jié)果)。
圖2 圖像風(fēng)格遷移幾類代表性模型的結(jié)果比較
1.3.4圖像風(fēng)格遷移算法的其他應(yīng)用
關(guān)于圖像風(fēng)格遷移算法,除了最根本性的畫作風(fēng)格遷移,也可以應(yīng)用到諸多其他的方面。在上面幾類基本處理方法逐漸完善以后,人們開始關(guān)注該類算法的擴(kuò)展性。
Gatys等人預(yù)見了圖像風(fēng)格遷移的更多可能。他們提出了圖像風(fēng)格遷移在照片寫實(shí)風(fēng)格遷移中的應(yīng)用[5]。通過將一張紐約天際線的夜景照片作為風(fēng)格圖像,將倫敦天際線的白天照片作為目標(biāo)圖像,經(jīng)過圖像風(fēng)格遷移算法處理后,可以得到一張較為逼真的倫敦天際線夜景照片。這為后來的研究者打開了思路,也激發(fā)了他們探索圖像風(fēng)格遷移在更多方向的可行性。
Huang等人在其多風(fēng)格模型的基礎(chǔ)上,提出了圖像翻譯(Image-to-Image Translation)的應(yīng)用場(chǎng)景,即將一張圖片映射到不同的語(yǔ)境域中[12]。例如,給出四張典型的春、夏、秋、冬四季照片,對(duì)任意一張照片,通過風(fēng)格遷移方法,可以在保持原照片風(fēng)景主體內(nèi)容不變的前提下,加入對(duì)應(yīng)季節(jié)的主要特征,使得照片猶如在該季節(jié)拍攝(圖3)。類似地,也有游戲場(chǎng)景與真實(shí)場(chǎng)景之間的翻譯、動(dòng)物形態(tài)之間的翻譯等。而Yang等人基于風(fēng)格遷移的原理,發(fā)展出字體及字體特效遷移的方法[13],對(duì)于漢字、字母等字體的制作提供了極大便利(圖4)。此外,Zhang等人利用本方法原理,開發(fā)出了對(duì)動(dòng)漫人物線稿上色的算法[14],對(duì)于動(dòng)畫與漫畫創(chuàng)作者是巨大的生產(chǎn)力提升。
圖3 夏、冬季節(jié)間的圖像翻譯[12]
圖4 字體風(fēng)格遷移效果[13]
學(xué)者們也將此算法利用到了實(shí)際問題的解決上。代表性的工作,如Lin等人利用生成式對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)開發(fā)出了白天與黑夜之間圖像遷移的算法[15],將其用在夜晚車輛檢測(cè)上效果顯著,對(duì)自動(dòng)駕駛等領(lǐng)域有不可忽視的促進(jìn)作用。
基于卷積神經(jīng)網(wǎng)絡(luò)的圖像風(fēng)格遷移算法經(jīng)過大約五年的發(fā)展,基本框架已經(jīng)趨于完善。然而,目前的NST模型還遠(yuǎn)非達(dá)到成熟的狀態(tài)。
首先,在研究方向上大多數(shù)學(xué)者都選擇在性能上進(jìn)行考量而忽視了遷移質(zhì)量。從Gatys的基于圖像優(yōu)化到Johnson與Ulyanov的快速單風(fēng)格遷移,再到Dumoulin與Chen的快速多風(fēng)格遷移以及Tian與Huang的快速任意風(fēng)格遷移,單模型的效率與可擴(kuò)展性不斷提高。
就遷移質(zhì)量與觀感而言,在后期工作里有所下降。這主要是由于風(fēng)格遷移結(jié)果的優(yōu)劣本身是一個(gè)不完全定義的問題,其估計(jì)大多是經(jīng)驗(yàn)性的,不存在一個(gè)界定明確的標(biāo)準(zhǔn)來評(píng)判各遷移結(jié)果孰優(yōu)孰劣。相比之下,性能的優(yōu)化作為可測(cè)量結(jié)果卻吸引了更多學(xué)者進(jìn)行研究。針對(duì)這一問題,學(xué)術(shù)界目前亟須制定一個(gè)能夠被普遍性承認(rèn)的風(fēng)格遷移結(jié)果評(píng)判標(biāo)準(zhǔn),從而促進(jìn)對(duì)優(yōu)化遷移結(jié)果的研究。
其次,大多數(shù)模型存在特異性,即對(duì)于某些風(fēng)格圖像模型能夠很好遷移,對(duì)另外一些風(fēng)格圖像則有較大的差異。在圖像存在特定形態(tài)的噪聲時(shí),許多模型也會(huì)受到不同程度上的干擾。因此,要實(shí)現(xiàn)普適性強(qiáng)、遷移性穩(wěn)定的模型還有很長(zhǎng)的路要走。
另外,目前的工作仍局限于單張風(fēng)格圖片的風(fēng)格遷移,其語(yǔ)義層次還可以進(jìn)一步提高。每個(gè)畫家雖然有風(fēng)格各異的作品,但各畫作間有作者更為抽象的風(fēng)格特征。如何從一個(gè)作者的多幅畫作中提取出其更高層的特征,并對(duì)結(jié)果圖片進(jìn)行風(fēng)格遷移,是當(dāng)前值得探索的一個(gè)方向。再者,當(dāng)前的風(fēng)格遷移算法依然注重于如何從現(xiàn)有的畫作提煉出風(fēng)格特征并進(jìn)行遷移融合,如何使神經(jīng)網(wǎng)絡(luò)通過大規(guī)模的學(xué)習(xí)創(chuàng)造出一種新的、自己的獨(dú)特風(fēng)格特征也是未來令人期待與振奮的研究思路。
總而言之,從最早的NPR算法起,人們開始追求讓計(jì)算機(jī)生成美妙的藝術(shù)風(fēng)格,直到Gatys提出的風(fēng)格遷移算法,許多人終于實(shí)現(xiàn)了夢(mèng)寐以求的效果。正如Gatys所言:“類似于執(zhí)行生物視覺處理的神經(jīng)系統(tǒng)能夠?qū)L(fēng)格與內(nèi)容精確地分開真令人著迷”,讓AI技術(shù)加入藝術(shù)的創(chuàng)造中,這是一件非常值得欣喜的事情。
新疆師范大學(xué)學(xué)報(bào)(自然科學(xué)版)2022年4期