陳淮源,張廣馳,陳 高,周清峰
1.廣東工業(yè)大學(xué) 信息工程學(xué)院,廣州510006 2.東莞理工學(xué)院 電子工程與智能化學(xué)院,廣東 東莞523808
在圖像處理領(lǐng)域中,圖像風(fēng)格遷移是一個(gè)有趣的研究熱點(diǎn),其主要任務(wù)是將一張圖像的風(fēng)格遷移到另一張圖像上,這也被認(rèn)為是一個(gè)紋理遷移問題,即在目標(biāo)圖像上合成源圖像紋理的過程,其描述如圖1所示。傳統(tǒng)非參數(shù)的紋理合成方法通常是在原始紋理圖像上進(jìn)行重采樣來合成新紋理,這只是一個(gè)在不改變其感知屬性條件下隨機(jī)化原始紋理的過程,在處理結(jié)構(gòu)簡單的圖像上可以獲得較好的效果,但在顏色和紋理復(fù)雜的圖像上的處理效果難以令人滿意,無法符合實(shí)際應(yīng)用場景的需求。
圖1 圖像風(fēng)格遷移示意圖
隨著深度學(xué)習(xí)[1-2]的興起,Gatys等人[3]提出一種基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)的高效參數(shù)紋理建模方法,通過預(yù)訓(xùn)練VGG模型[4]提取圖像的抽象特征表示,構(gòu)造Gram矩陣作為圖像的風(fēng)格表征,即利用特征圖之間的相關(guān)性來表示紋理模型?;谶@種風(fēng)格表征方法,Gatys等人[5-6]開創(chuàng)性地提出了神經(jīng)風(fēng)格遷移,其核心原理是對圖像數(shù)據(jù)進(jìn)行特征擬合,使用預(yù)訓(xùn)練VGG模型作為圖像特征提取器,顯式地分離圖像內(nèi)容和風(fēng)格的抽象特征表示,通過獨(dú)立地處理這些特征表示來生成具有原圖像內(nèi)容和新風(fēng)格的風(fēng)格化圖像。
神經(jīng)風(fēng)格遷移展現(xiàn)出了非常出色的視覺效果,引起了學(xué)術(shù)界和工業(yè)界的大量關(guān)注,但是神經(jīng)風(fēng)格遷移背后的原理仍然不清楚。Li等人[7]提出對風(fēng)格遷移的新解釋,認(rèn)為風(fēng)格遷移是一個(gè)特殊的領(lǐng)域自適應(yīng)問題。領(lǐng)域自適應(yīng)屬于遷移學(xué)習(xí)的范疇,旨在從源數(shù)據(jù)分布中學(xué)習(xí)在不同的目標(biāo)數(shù)據(jù)分布上有良好性能的模型,其關(guān)鍵在于衡量和最小化源分布與目標(biāo)分布之間的差異。他們從數(shù)學(xué)理論上證明了匹配特征圖的Gram矩陣等價(jià)于最小化一個(gè)二階多項(xiàng)式核的MMD(Maximum Mean Discrepancy)[8]統(tǒng)計(jì)量,該統(tǒng)計(jì)量在領(lǐng)域自適應(yīng)中常用來測量兩個(gè)分布之間的差異。Li等人[7]還實(shí)驗(yàn)了其他不同核函數(shù)的MMD統(tǒng)計(jì)量,而且都得到了多樣且合理的風(fēng)格化結(jié)果,由此提出神經(jīng)風(fēng)格遷移本質(zhì)上是一個(gè)特殊的領(lǐng)域自適應(yīng)問題,這種解讀為風(fēng)格遷移問題提供了一個(gè)新視角,啟發(fā)了后續(xù)許多風(fēng)格遷移工作。在生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)[9]中,圖像風(fēng)格遷移是一個(gè)圖像到圖像翻譯問題,通過對抗訓(xùn)練判別圖像數(shù)據(jù)空間的分布,能將一個(gè)域的圖像轉(zhuǎn)換到另一個(gè)域。
本章以基于深度學(xué)習(xí)的圖像風(fēng)格遷移主要原理為出發(fā)點(diǎn),從基于CNN的圖像風(fēng)格遷移和基于GAN的圖像風(fēng)格遷移這兩類方法中,歸納和整理圖像風(fēng)格遷移現(xiàn)有的研究工作,并對它們進(jìn)行對比分析。
基于CNN的圖像風(fēng)格遷移是以特征提取器為核心,通過特征統(tǒng)計(jì)來近似度量風(fēng)格損失。基于CNN的風(fēng)格遷移基本框架如圖2所示。根據(jù)度量風(fēng)格損失的統(tǒng)計(jì)量不同,基于CNN的方法可以歸納為基于特征分布的二階統(tǒng)計(jì)量和基于特征分布的一階統(tǒng)計(jì)量,以下對這兩類方法進(jìn)行展開敘述。
圖2 基于CNN的圖像風(fēng)格遷移基本框架圖
1.1.1 基于特征分布的二階統(tǒng)計(jì)量
Gatys等人[5-6]最早發(fā)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)可以從任意圖像中分離地提取圖像的內(nèi)容特征表示和風(fēng)格特征表示,他們使用預(yù)訓(xùn)練VGG模型作為特征提取器和構(gòu)造圖像特征的Gram矩陣作為風(fēng)格表示,利用圖像迭代的方式直接優(yōu)化初始噪聲圖像的像素,生成具有原內(nèi)容和新風(fēng)格的風(fēng)格化圖像。給定內(nèi)容圖像Ic、風(fēng)格圖像Is和生成圖像I,基于CNN的圖像風(fēng)格遷移的總損失函數(shù)表示如下:
其中,Lc為內(nèi)容損失函數(shù),度量給定內(nèi)容圖像和生成圖像之間內(nèi)容表示的差異。Ls為風(fēng)格損失函數(shù),度量給定風(fēng)格圖像和生成圖像之間風(fēng)格表示的差異。系數(shù)α和β分別為內(nèi)容損失函數(shù)和風(fēng)格損失函數(shù)的權(quán)重值,用于平衡生成圖像中內(nèi)容和風(fēng)格的比重。在風(fēng)格遷移任務(wù)中,內(nèi)容損失往往不使用逐像素求差的損失函數(shù),而是使用圖像特征表示求差的損失函數(shù)。內(nèi)容損失函數(shù)的表示如下:
其中,F(xiàn)l(I)表示圖像I在VGG網(wǎng)絡(luò)中第l層的特征表示,{}lc表示在VGG網(wǎng)絡(luò)中用來計(jì)算內(nèi)容損失的特征層集合,即內(nèi)容損失函數(shù)定義為圖像的特征重建損失。對于風(fēng)格損失,則使用圖像特征表示的Gram矩陣對圖像風(fēng)格進(jìn)行建模。風(fēng)格損失函數(shù)的表示如下:
其中,Gl(I)∈?Nl×Nl表示圖像I在VGG網(wǎng)絡(luò)中第l層特征的Gram矩陣,Nl為第l層特征圖的通道數(shù),{}ls表示在VGG網(wǎng)絡(luò)中用來計(jì)算風(fēng)格損失的特征層集合。圖像特征表示的Gram矩陣是特征分布的二階統(tǒng)計(jì)量,通過圖像特征之間的相關(guān)性來描述圖像的風(fēng)格。在預(yù)訓(xùn)練VGG模型中,淺層特征表示圖像的低級語義信息(如圖像的邊緣和顏色等),而網(wǎng)絡(luò)深層特征能捕捉圖像的高級語義信息。在內(nèi)容損失的特征層選擇上,選擇淺層特征往往會(huì)過于保留內(nèi)容信息而影響風(fēng)格化效果,所以選擇深層特征計(jì)算內(nèi)容損失不僅能獲得期望的風(fēng)格化效果,而且保留了圖像的高級語義信息。對于風(fēng)格損失的特征層選擇上,不同深度的層有著不同粒度的風(fēng)格效果,選擇多個(gè)不同深度的特征層能獲得更好的視覺效果。
基于圖像迭代的風(fēng)格遷移方法雖然在合成圖像上有很好的視覺效果,但是這種優(yōu)化方式是在圖像各像素點(diǎn)上通過反向傳播來改變像素值,這是一個(gè)緩慢且耗費(fèi)內(nèi)存的過程,在計(jì)算效率方面極大地限制其推廣和應(yīng)用。為解決這個(gè)問題,文獻(xiàn)[10-11]提出了快速風(fēng)格遷移方法,與基于圖像迭代的方法相比在速度上提高了三個(gè)數(shù)量級,即基于模型迭代的風(fēng)格遷移方法。基于模型迭代的風(fēng)格遷移方法通過大量圖像來訓(xùn)練一個(gè)特定風(fēng)格的前饋生成網(wǎng)絡(luò),將計(jì)算的負(fù)擔(dān)轉(zhuǎn)移到模型的學(xué)習(xí)階段,訓(xùn)練后的模型可以實(shí)現(xiàn)實(shí)時(shí)的快速風(fēng)格遷移,這種方法也是目前應(yīng)用市場上主要使用的方法。
快速風(fēng)格遷移[10-11]雖然有效地解決了計(jì)算效率上問題,但這種方法需要為每種風(fēng)格單獨(dú)訓(xùn)練一個(gè)模型,使得擴(kuò)展到其他風(fēng)格的時(shí)間成本過大。針對這個(gè)問題,Chen等人[12]提出一種在單個(gè)模型生成多種風(fēng)格的方法,將每種風(fēng)格分別綁定為一組卷積層參數(shù),通過聯(lián)合學(xué)習(xí)可以得到一個(gè)存儲(chǔ)不同風(fēng)格的風(fēng)格庫。Zhang等人[13]在生成網(wǎng)絡(luò)中引入一個(gè)新的互匹配層,它能在生成網(wǎng)絡(luò)中學(xué)習(xí)直接匹配風(fēng)格特征的二階統(tǒng)計(jì)量,構(gòu)建了一個(gè)多風(fēng)格生成網(wǎng)絡(luò)。Li等人[14]設(shè)計(jì)了一個(gè)紋理選擇網(wǎng)絡(luò)來生成相應(yīng)紋理的風(fēng)格特征,分別與內(nèi)容圖像的特征進(jìn)行結(jié)合實(shí)現(xiàn)多風(fēng)格遷移。他們還發(fā)現(xiàn)使用特征的協(xié)方差矩陣代替Gram矩陣來表征風(fēng)格能夠改善生成圖像中出現(xiàn)的偽影和混色問題。
根據(jù)單個(gè)模型生成風(fēng)格的數(shù)量不同,文獻(xiàn)[15]將基于模型迭代的風(fēng)格遷移方法分類為三種,單一風(fēng)格生成模型、多風(fēng)格生成模型和任意風(fēng)格生成模型。上述基于模型迭代的方法雖然有較高的轉(zhuǎn)換效率,但無法推廣到未見過的風(fēng)格上。文獻(xiàn)[16]提出了一種簡單而有效的通用風(fēng)格遷移方法,能推廣到任意未見過的風(fēng)格上,且不需要對這些風(fēng)格進(jìn)行訓(xùn)練。該方法是第一個(gè)無需學(xué)習(xí)的風(fēng)格遷移方法,通過在圖像重建網(wǎng)絡(luò)中嵌入一對線性變換,實(shí)現(xiàn)圖像的風(fēng)格遷移。首先選擇不同層次的VGG網(wǎng)絡(luò)作為編碼器,并訓(xùn)練其對稱的解碼器構(gòu)成多個(gè)圖像重建網(wǎng)絡(luò),通過遞歸地將白化和著色變換(Whitening and Coloring Transformation,WCT)應(yīng)用于每個(gè)圖像重建網(wǎng)絡(luò),實(shí)現(xiàn)了通用的風(fēng)格轉(zhuǎn)換。具體來說,給定一對內(nèi)容圖像和風(fēng)格圖像,先經(jīng)VGG網(wǎng)絡(luò)獲得圖像的矢量化特征Hc=?(Ic)和Hs=?(Is),再對內(nèi)容圖像的特征進(jìn)行白化和著色變換,該線性變換表示如下:
s特征值構(gòu)成的對角矩陣,Ec和Es分別為對應(yīng)特征向量組成的正交矩陣。通過WCT使內(nèi)容圖像特征和風(fēng)格圖像特征的協(xié)方差矩陣直接匹配,這與上述方法優(yōu)化匹配Gram矩陣有相似的精神。這種線性變換與領(lǐng)域自適應(yīng)中的CORAL(CORrelation ALignment)[17]方法相同,CORAL方法先將源域中的數(shù)據(jù)白化,而后重新關(guān)聯(lián)到目標(biāo)域數(shù)據(jù),此操作實(shí)際上是將源域和目標(biāo)域數(shù)據(jù)分布的二階統(tǒng)計(jì)信息對齊。謝斌等人[18]提出基于相關(guān)對齊的風(fēng)格遷移模型,其中執(zhí)行相關(guān)對齊的樣本不是圖像數(shù)據(jù)本身,而是圖像的特征。由于深度特征向量具有較高的維度,WCT直接進(jìn)行矩陣分解運(yùn)算在計(jì)算上很昂貴。為解決這個(gè)問題,Li等人[19]采用數(shù)據(jù)驅(qū)動(dòng)的方式來學(xué)習(xí)輸出特征變換矩陣代替直接的矩陣運(yùn)算,這種方式更加地靈活和高效。
1.1.2 基于特征分布的一階統(tǒng)計(jì)量
Li等人[7]啟發(fā)性地從領(lǐng)域自適應(yīng)的角度理解圖像風(fēng)格遷移,他們發(fā)現(xiàn)批量歸一化層(Batch Normalization,BN)[20]中的統(tǒng)計(jì)量(如均值和方差)包含不同域的特征,通過簡單地調(diào)整匹配圖像特征在通道方向上的均值和方差也能實(shí)現(xiàn)風(fēng)格遷移。他們認(rèn)為圖像特征分布的一階統(tǒng)計(jì)量也能作為風(fēng)格表征,因此,構(gòu)造了另一種風(fēng)格損失函數(shù),表示如下:
Ulyanov等人[21]發(fā)現(xiàn)在快速風(fēng)格遷移網(wǎng)絡(luò)[10-11]中使用實(shí)例歸一化層(Instance Normalization,IN)[22]代替BN不僅能加快網(wǎng)絡(luò)的收斂速度,并且允許在訓(xùn)練過程中達(dá)到更低的風(fēng)格損失,獲得了更好的視覺效果。他們認(rèn)為,IN的優(yōu)越性在于它能在網(wǎng)絡(luò)削弱內(nèi)容圖像之間的對比度信息,從而使網(wǎng)絡(luò)的學(xué)習(xí)更簡單。文獻(xiàn)[23]通過實(shí)驗(yàn)對此提出另一種解釋是IN本身具有風(fēng)格歸一化能力,可以將每種風(fēng)格歸一化為目標(biāo)風(fēng)格,使網(wǎng)絡(luò)其他部分可以專注內(nèi)容信息的學(xué)習(xí)。在IN的基礎(chǔ)上,Dumoulin等人[24]發(fā)現(xiàn)在風(fēng)格遷移網(wǎng)絡(luò)中的歸一化層使用不同仿射系數(shù)能訓(xùn)練一個(gè)多風(fēng)格生成網(wǎng)絡(luò)。他們提出了條件實(shí)例歸一化層(Conditional Instance Normalization,CIN),網(wǎng)絡(luò)中所有的卷積參數(shù)在多種風(fēng)格之間共享,具有不同仿射參數(shù)的歸一化層可以將輸入內(nèi)容圖像轉(zhuǎn)換為不同的風(fēng)格。
每種風(fēng)格通過與網(wǎng)絡(luò)中的歸一化層參數(shù)綁定,使模型能擴(kuò)展到多種風(fēng)格上,但受限于覆蓋的風(fēng)格數(shù)量有限,無法推廣到未經(jīng)訓(xùn)練的風(fēng)格上,而且附加的參數(shù)量與風(fēng)格的數(shù)量成線性比例增長。為擺脫這種限制,Ghiasi等人[25]后續(xù)的工作中設(shè)計(jì)了一個(gè)風(fēng)格預(yù)測網(wǎng)絡(luò),通過訓(xùn)練大量的圖像來預(yù)測生成網(wǎng)絡(luò)中CIN的仿射參數(shù),這種數(shù)據(jù)驅(qū)動(dòng)的方式為模型提供了預(yù)測其他未經(jīng)訓(xùn)練的風(fēng)格的能力。同樣受IN的啟發(fā),文獻(xiàn)[23]提出了一個(gè)簡單有效的自適應(yīng)實(shí)例歸一化層(Adaptive Instance Normalization,AdaIN),該層中并沒有需要學(xué)習(xí)的參數(shù),它通過輸入的風(fēng)格圖像自適應(yīng)地計(jì)算歸一化層的仿射參數(shù),實(shí)現(xiàn)了實(shí)時(shí)的任意風(fēng)格轉(zhuǎn)換。AdaIN的表示如下:
其中,F(xiàn)(Ic)和F(Is)分別是內(nèi)容圖像和風(fēng)格圖像經(jīng)預(yù)訓(xùn)練VGG模型得到的特征,μ(F(I))和σ(F(I))分別是對應(yīng)圖像特征在通道方向上的均值和方差。給定一個(gè)內(nèi)容輸入和一個(gè)風(fēng)格輸入,該方法使用VGG網(wǎng)絡(luò)作為固定的編碼器,經(jīng)過AdaIN調(diào)整內(nèi)容圖像特征在通道方向上的均值和方差以匹配風(fēng)格圖像特征對應(yīng)通道的均值和方差,最后解碼器學(xué)習(xí)將匹配后的內(nèi)容特征轉(zhuǎn)到圖像空間完成圖像的風(fēng)格遷移。與領(lǐng)域自適應(yīng)中的AdaBN(Adaptive Batch Normalization)[26]方法有著類似的操作,AdaIN通過匹配對齊內(nèi)容和風(fēng)格圖像特征的一階統(tǒng)計(jì)量,能有效地結(jié)合前者的內(nèi)容和后者的風(fēng)格,但是簡單地匹配特征分布的均值和方差難以合成具有豐富細(xì)節(jié)和局部結(jié)構(gòu)的復(fù)雜化風(fēng)格。為了提升文獻(xiàn)[23]的風(fēng)格遷移充分性,Park等人[27]通過引入一種新穎的風(fēng)格注意力網(wǎng)絡(luò),學(xué)習(xí)內(nèi)容特征和風(fēng)格特征之間的語義相關(guān)性,能有效地平衡局部和全局的風(fēng)格。
Shen等人[28]將元學(xué)習(xí)引入風(fēng)格遷移領(lǐng)域,使用元學(xué)習(xí)中的Hyper network[29]方法,Hyper network的思想是用一個(gè)網(wǎng)絡(luò)去生成另一個(gè)網(wǎng)絡(luò)的參數(shù),通過學(xué)習(xí)輸入風(fēng)格圖像特征分布的一階統(tǒng)計(jì)信息動(dòng)態(tài)地生成風(fēng)格轉(zhuǎn)換網(wǎng)絡(luò)的參數(shù)。他們的方法為實(shí)時(shí)的任意風(fēng)格遷移提供了一個(gè)有效的解決方案,而且元學(xué)習(xí)生成的模型大小僅幾百KB,能夠在移動(dòng)設(shè)備上實(shí)時(shí)運(yùn)行。Jing等人[30]指出,基于特征分布的一階統(tǒng)計(jì)量的方法都需要使用VGG網(wǎng)絡(luò)進(jìn)行特征的提取,由于VGG網(wǎng)絡(luò)參數(shù)規(guī)模龐大導(dǎo)致這些方法無法在資源受限的環(huán)境中部署。他們提出了一種基于MobileNet輕量級架構(gòu)實(shí)現(xiàn)任意風(fēng)格遷移的方法,引入一個(gè)動(dòng)態(tài)實(shí)例歸一化模塊(Dynamic Instance Normalization,DIN)將風(fēng)格編碼為可學(xué)習(xí)的卷積參數(shù),與輕量級的內(nèi)容編碼器結(jié)合實(shí)現(xiàn)快速風(fēng)格轉(zhuǎn)換。其框架如圖3所示。DIN模塊包含IN和動(dòng)態(tài)卷積,其參數(shù)根據(jù)不同的風(fēng)格自適應(yīng)地改變,能更精確地對齊復(fù)雜風(fēng)格的特征統(tǒng)計(jì)信息,允許更靈活的任意風(fēng)格遷移的同時(shí),保持較低的計(jì)算成本。
圖3 DIN風(fēng)格遷移算法框架
基于CNN的圖像風(fēng)格遷移,通過在深層CNN中提取高級抽象特征來實(shí)現(xiàn)特征空間的分布匹配?;贕AN的圖像風(fēng)格遷移,則通過生成器與判別器之間的對抗博弈來實(shí)現(xiàn)圖像空間的分布匹配。在2014年,Goodfellow等人[9]提出了一種獨(dú)具一格的網(wǎng)絡(luò)模型,生成對抗網(wǎng)絡(luò)(GAN),該模型中包含一個(gè)生成式網(wǎng)絡(luò)和一個(gè)判別式網(wǎng)絡(luò),通過兩個(gè)網(wǎng)絡(luò)間的對抗訓(xùn)練達(dá)到納什均衡狀態(tài),實(shí)現(xiàn)數(shù)據(jù)分布散度的擬合。GAN的損失函數(shù)表示如下:
其中,G和D分別為生成式網(wǎng)絡(luò)和判別式網(wǎng)絡(luò),z表示輸入生成式網(wǎng)絡(luò)的隨機(jī)噪聲。在GAN的訓(xùn)練過程中,通過生成式網(wǎng)絡(luò)和判別式網(wǎng)絡(luò)之間的交替優(yōu)化形成一個(gè)對抗過程,隨著判別式網(wǎng)絡(luò)判別能力的增強(qiáng),使生成式網(wǎng)絡(luò)具備生成與真實(shí)數(shù)據(jù)分布相似的假數(shù)據(jù)的能力,圖4為基于GAN的風(fēng)格遷移基本框架。正是因?yàn)镚AN這種巧妙的對抗設(shè)計(jì),生成式網(wǎng)絡(luò)比其他生成模型擁有更強(qiáng)大的數(shù)據(jù)生成能力,也成為近些年學(xué)術(shù)界重點(diǎn)關(guān)注的模型之一。
圖4 基于GAN的圖像風(fēng)格遷移基本框架圖
在GAN中,圖像風(fēng)格遷移被認(rèn)為是一類圖像到另一類圖像的轉(zhuǎn)換過程。Isola等人[31]提出的pix2pix模型作為圖像到圖像翻譯的代表性工作,使用大量成對的圖像進(jìn)行監(jiān)督訓(xùn)練,得到一個(gè)一對一的圖像翻譯網(wǎng)絡(luò),它能出色地完成圖像風(fēng)格遷移任務(wù)。盡管pix2pix能實(shí)現(xiàn)逼真的圖像轉(zhuǎn)換,但是該模型的訓(xùn)練需要大量成對的圖像數(shù)據(jù),這極大地限制了其推廣和應(yīng)用。為打破這個(gè)限制,Zhu等人[32]提出一種無監(jiān)督對抗網(wǎng)絡(luò)CycleGAN,該網(wǎng)絡(luò)中包含兩對生成對抗網(wǎng)絡(luò)旨在實(shí)現(xiàn)雙向的域轉(zhuǎn)換,引入了循環(huán)一致性消除了域之間的配對約束,并且能更好地保留圖像內(nèi)容結(jié)構(gòu)。
CycleGAN中使用循環(huán)一致?lián)p失和圖像空間的逐像素差作為圖像內(nèi)容損失,使生成圖像的內(nèi)容信息被過度保留,導(dǎo)致無法很好地遷移抽象的風(fēng)格,如藝術(shù)風(fēng)格等。為了更好地學(xué)習(xí)藝術(shù)風(fēng)格,Sanakoyeu等人[33]在GAN中引入一種風(fēng)格感知的內(nèi)容損失,能夠?qū)W習(xí)同一類藝術(shù)風(fēng)格而不僅限于一種風(fēng)格中的一個(gè)實(shí)例。Ma等人[34]在投影空間觀察內(nèi)容圖像和風(fēng)格圖像的特征向量,發(fā)現(xiàn)初始狀態(tài)下內(nèi)容圖像和風(fēng)格圖像的特征基本上是可分的,他們提出的雙重一致性損失能在保持語義和風(fēng)格的一致性的情況下,學(xué)習(xí)內(nèi)容圖像和風(fēng)格圖像之間的關(guān)系。同樣關(guān)注于圖像的內(nèi)容和風(fēng)格感知風(fēng)格化,Kotovenko等人[35]在對抗網(wǎng)絡(luò)中設(shè)計(jì)了一個(gè)內(nèi)容轉(zhuǎn)換模塊,在具有相似內(nèi)容信息的內(nèi)容和風(fēng)格圖像之間的風(fēng)格遷移過程中,學(xué)習(xí)如何改變內(nèi)容的細(xì)節(jié)。
Choi等人[36]提出StarGAN模型,能在單個(gè)GAN中實(shí)現(xiàn)一對多的圖像風(fēng)格轉(zhuǎn)換,文章中以人臉圖像為例,實(shí)現(xiàn)了多種人臉表情的轉(zhuǎn)換。Chen等人[37]設(shè)計(jì)了一個(gè)門控網(wǎng)絡(luò),利用門控切換的思想在單一對抗網(wǎng)絡(luò)中實(shí)現(xiàn)了不同風(fēng)格的轉(zhuǎn)換。為探索任意風(fēng)格遷移的對抗性訓(xùn)練,Xu等人[38]在對抗網(wǎng)絡(luò)中加入了AdaIN[23]模塊,結(jié)合GAN和神經(jīng)風(fēng)格遷移的優(yōu)點(diǎn),實(shí)現(xiàn)了GAN的任意風(fēng)格遷移。同樣地,Cho等人[39]將WCT[16]引入到圖像翻譯網(wǎng)絡(luò)中,提出的GDWCT(Group-wise Deep Whitening-and-Coloring Transformation)利用正則化和分組計(jì)算的方式來近似WCT,有效地減少參數(shù)數(shù)量和提高計(jì)算效率。圖5為使用GDWCT進(jìn)行風(fēng)格遷移的框架圖。與文獻(xiàn)[19]的思想一樣,利用學(xué)習(xí)的方式構(gòu)建變換矩陣,并結(jié)合GDWCT和GAN完成圖像的風(fēng)格遷移。
圖5 GDWCT風(fēng)格遷移算法框架
基于GAN的圖像風(fēng)格遷移方法都需要預(yù)先收集足夠數(shù)量的風(fēng)格圖像,這在實(shí)際上是個(gè)比較困難的問題。Zheng等人[40]提出一種方法,僅使用一張風(fēng)格圖像就能訓(xùn)練GAN完成風(fēng)格遷移,它在原始圖像空間上將圖像切分為許多小圖像塊,通過對這些小圖像塊進(jìn)行重新排序組合來生成構(gòu)建風(fēng)格圖像訓(xùn)練集,這為缺少風(fēng)格圖像樣本的訓(xùn)練提供了一個(gè)解決方案。
對于圖像風(fēng)格遷移任務(wù)來說,如何描述和計(jì)算風(fēng)格是一個(gè)關(guān)鍵性問題。得益于深度卷積神經(jīng)網(wǎng)絡(luò)的特征提取能力,基于CNN的圖像風(fēng)格遷移方法通過提取圖像的抽象特征表達(dá),利用特征分布的統(tǒng)計(jì)量作為圖像風(fēng)格的描述,能靈活高效地實(shí)現(xiàn)圖像風(fēng)格遷移。這種描述方法雖然能很好地表征風(fēng)格,但依賴于參數(shù)龐大的特征提取網(wǎng)絡(luò),這也是目前亟待解決的問題。
不同于上述方法,基于GAN的圖像風(fēng)格遷移方法通過對抗學(xué)習(xí)的機(jī)制為風(fēng)格描述帶來新的途徑。在GAN中,不需要任何預(yù)先設(shè)計(jì)的描述計(jì)算風(fēng)格,判別器能通過擬合圖像數(shù)據(jù)分布隱式地計(jì)算風(fēng)格,實(shí)現(xiàn)圖像的風(fēng)格遷移。通過對抗訓(xùn)練擬合圖像數(shù)據(jù)的分布可以使圖像的風(fēng)格遷移效果更加逼真,這體現(xiàn)了GAN對圖像數(shù)據(jù)的理解能力和感知能力。相比基于CNN的風(fēng)格遷移方法,GAN在生成圖像上的質(zhì)量更佳,但是風(fēng)格遷移過程的可控性不高,而且對抗網(wǎng)絡(luò)的訓(xùn)練容易出現(xiàn)梯度消失和模型崩潰,存在訓(xùn)練困難的缺點(diǎn)。
圖6 圖像風(fēng)格遷移代表性算法的實(shí)驗(yàn)對比圖
基于深度學(xué)習(xí)的圖像風(fēng)格遷移方法中幾個(gè)代表性工作的實(shí)驗(yàn)對比如圖6所示。圖6中從上至下分別為不同的風(fēng)格遷移圖像對,從左至右分別為風(fēng)格圖像、內(nèi)容圖像和五種圖像風(fēng)格遷移方法的實(shí)驗(yàn)結(jié)果。其中A、B、C、D、E組分別對應(yīng)基于CNN的Gatys等人[6]、WCT[16]和AdaIN[23]方法,基于GAN的CycleGAN[32]和Sanakoyeu等人[33]的方法。從主觀角度出發(fā),A、B、C組很好地將風(fēng)格圖像的紋理和顏色遷移到生成圖像上,整體的遷移質(zhì)量高,視覺效果較好。D、E組注重于刻畫風(fēng)格圖像和內(nèi)容圖像的細(xì)節(jié),內(nèi)容圖像的細(xì)節(jié)得以保留,使得生成圖像更具有真實(shí)性。
在顯卡Nvidia RTX 2080Ti上,上述幾種算法應(yīng)用于256×256分辨率圖像時(shí)的定量指標(biāo)如表1所示。其中包含平均運(yùn)行時(shí)間、內(nèi)存使用量和單個(gè)模型生成風(fēng)格的數(shù)量三個(gè)指標(biāo),這些指標(biāo)能體現(xiàn)出各算法的高效性和靈活性。
表1 定量指標(biāo)對比
基于深度學(xué)習(xí)的圖像風(fēng)格遷移方法的出現(xiàn)極大地促進(jìn)了風(fēng)格遷移領(lǐng)域的發(fā)展,大量的學(xué)者和研究人員開始關(guān)注圖像風(fēng)格遷移技術(shù)的研究。近些年也涌現(xiàn)出了許多研究成果,有些研究工作專注于設(shè)計(jì)新的圖像風(fēng)格遷移方法,有些工作則致力于對現(xiàn)有方法進(jìn)行改進(jìn)和拓展,本章將對圖像風(fēng)格遷移的一些改進(jìn)性和拓展性工作進(jìn)行介紹。
Risser等人[41]發(fā)現(xiàn)使用單一Gram風(fēng)格損失在合成紋理上存在不穩(wěn)定性,還發(fā)現(xiàn)其不穩(wěn)定原因在于具有不同均值和方差的特征圖也可以有相同的Gram矩陣。因此,他們在原先網(wǎng)絡(luò)的基礎(chǔ)上,通過額外匹配特征的直方圖來提升合成紋理的穩(wěn)定性。不僅如此,Gram損失對規(guī)則紋理和對稱結(jié)構(gòu)的圖像的渲染也不盡人意,Berger等人[42]通過平移后的特征圖計(jì)算Gram損失能有效改善這類問題。Wang等人[43]在深度特征變換[16]中加入正交噪聲矩陣來擾動(dòng)風(fēng)格遷移過程,這種方式能在不影響原有風(fēng)格遷移質(zhì)量的條件下,顯著地提升生成圖像紋理的多樣性。
文獻(xiàn)[44]在Gatys等人[6]的方法中引入拉普拉斯損失,用于消除偽影和防止內(nèi)容的細(xì)節(jié)丟失。Liu等人[45]則加入一個(gè)深度估計(jì)網(wǎng)絡(luò)來計(jì)算生成圖像的深度信息,能有效地保持原始內(nèi)容圖像的連貫性和整體空間布局。在后續(xù)的工作[46]中又加入了邊緣檢測網(wǎng)絡(luò)來保護(hù)局部細(xì)節(jié)結(jié)構(gòu),權(quán)衡地保留生成圖像的全局和局部結(jié)構(gòu)。
文獻(xiàn)[47]對現(xiàn)有圖像風(fēng)格遷移方法進(jìn)行改進(jìn),致力于研究對感知因素的控制,如內(nèi)容風(fēng)格插值、顏色信息保留和筆畫大小控制等。他們提出了兩種能在保留原始顏色的條件下進(jìn)行圖像風(fēng)格遷移的方法,一是執(zhí)行風(fēng)格遷移之前先匹配風(fēng)格圖像與內(nèi)容圖像的顏色直方圖,二是僅在圖像的亮度通道進(jìn)行風(fēng)格遷移。Zhang等人[13]使用不同大小的風(fēng)格圖像訓(xùn)練網(wǎng)絡(luò)來學(xué)習(xí)不同的筆畫大小,根據(jù)輸入圖像的大小來調(diào)整筆畫的大小。類似于文獻(xiàn)[47]的思想,Wang等人[48]利用一個(gè)包含多個(gè)子網(wǎng)絡(luò)的模型進(jìn)行不同尺度的分層訓(xùn)練,每個(gè)子網(wǎng)絡(luò)的風(fēng)格化結(jié)果經(jīng)上采樣作為下個(gè)子網(wǎng)絡(luò)的輸入,這種由粗到細(xì)的風(fēng)格化過程能夠在高分辨率圖像生成大而精細(xì)的筆畫。
通過調(diào)整圖像比例大小和訓(xùn)練多個(gè)模型這兩種方式雖然能改變風(fēng)格筆畫的大小,但是也帶來了質(zhì)量和成本上的損失。面對這個(gè)問題,Jing等人[49]提出了一種能合并多個(gè)筆畫大小的算法模型,在模型中引入了一個(gè)自適應(yīng)感受野模塊,通過不同的感受野學(xué)習(xí)不同的筆畫大小,能在不犧牲質(zhì)量和效率的情況下實(shí)現(xiàn)單個(gè)模型的連續(xù)筆畫大小控制。
語義風(fēng)格遷移是指在具有相似內(nèi)容的內(nèi)容圖像和風(fēng)格圖像之間,對語義相似的區(qū)域進(jìn)行風(fēng)格遷移。文獻(xiàn)[47,50]在風(fēng)格遷移方法中加入?yún)^(qū)域掩碼信息,可以在空間上控制不同區(qū)域?qū)崿F(xiàn)不同的風(fēng)格化,這種空間控制策略為語義風(fēng)格遷移提供了一個(gè)思路。同樣地,Li等人[51]在CycleGAN結(jié)構(gòu)的基礎(chǔ)上加入語義分割網(wǎng)絡(luò),在圖像之間的不同區(qū)域上建立語義引導(dǎo)通道,解決風(fēng)格化過程中的語義不匹配問題。
Lu等人[52]提出一種語義風(fēng)格遷移算法,他們首先通過特征提取網(wǎng)絡(luò)提取內(nèi)容圖像和風(fēng)格圖像的特征,然后使用內(nèi)容和風(fēng)格圖像的掩碼信息將特征分為不同區(qū)域,在特征空間中對具有相同語義的特征進(jìn)行重構(gòu),最后經(jīng)解碼網(wǎng)絡(luò)得到語義風(fēng)格化圖像。Mechrez等人[53]設(shè)計(jì)了一種新的損失函數(shù),通過計(jì)算兩個(gè)特征之間的余弦距離來度量它們之間的相似性,這種損失函數(shù)可用于不成對圖像之間的計(jì)算。
真實(shí)感風(fēng)格遷移旨在能實(shí)現(xiàn)如現(xiàn)實(shí)照片般真實(shí)的風(fēng)格遷移效果,不僅需要完成正確的語義風(fēng)格遷移,還需保持內(nèi)容圖像的結(jié)構(gòu)不失真。Luan等人[54]提出了第一個(gè)基于深度學(xué)習(xí)的真實(shí)感風(fēng)格遷移算法,它分為兩個(gè)階段,一是在風(fēng)格遷移過程中加入語義分割實(shí)現(xiàn)語義風(fēng)格遷移,二是在生成圖像的后處理上引入真實(shí)感正則化項(xiàng)對圖像進(jìn)行優(yōu)化處理。同樣采用兩階段優(yōu)化,Li等人[55]的真實(shí)感風(fēng)格遷移方法建立在深度特征變換[16]上,他們將WCT中的池化層和上采樣層替換為帶有坐標(biāo)信息的池化和反池化層,這在一定程度上改善了由于多次池化造成的空間信息丟失問題。在后處理階段,他們使用了基于流形排序算法的平滑步驟,通過內(nèi)容圖像的像素相似性矩陣平滑生成圖像。
同文獻(xiàn)[55]的改進(jìn)類似,Yoo等人[56]將WCT中的池化層和上采樣層替換為小波池化層和小波反池化層,結(jié)合小波信息的特性,可以幾乎無損失地保留圖像的空間信息。該方法是第一個(gè)端到端的真實(shí)感風(fēng)格遷移方法,他們采用一種遞進(jìn)式網(wǎng)絡(luò)代替WCT中的多級風(fēng)格化策略來減少偽影的產(chǎn)生,保持圖像的結(jié)構(gòu)不發(fā)生失真,實(shí)現(xiàn)真實(shí)感風(fēng)格遷移。
現(xiàn)如今,基于深度學(xué)習(xí)的圖像風(fēng)格遷移算法取得了顯著性的發(fā)展,它們能夠獲得令人滿意的性能效果,并在工業(yè)界得到了推廣應(yīng)用,但是仍然存在著一些問題與挑戰(zhàn)。在這一章,總結(jié)了圖像風(fēng)格遷移領(lǐng)域目前存在的一些主要挑戰(zhàn),并討論了該領(lǐng)域未來的研究方向。
目前絕大多數(shù)圖像風(fēng)格遷移方法都依賴于在大量圖像集上預(yù)訓(xùn)練的深度CNN模型(例如,VGG16)獲得豐富的特征表示。盡管這些方法能有效實(shí)現(xiàn)風(fēng)格遷移,但由于VGG模型的參數(shù)規(guī)模巨大,這嚴(yán)重限制了這些方法的應(yīng)用,特別是在內(nèi)存有限的設(shè)備上(例如,移動(dòng)設(shè)備),也間接地阻礙了圖像風(fēng)格遷移領(lǐng)域的發(fā)展[57]。為克服VGG模型的缺點(diǎn),An等人[58]對目前28種最流行的網(wǎng)絡(luò)架構(gòu)做了對比實(shí)驗(yàn),旨在尋找在性能和效率上不遜于VGG模型的輕量級網(wǎng)絡(luò)。Wang等人[59]將知識蒸餾引入風(fēng)格遷移領(lǐng)域,其目的在于減少大型卷積神經(jīng)網(wǎng)絡(luò)的參數(shù)量,而且不會(huì)在性能上有較大的折衷。近幾年,模型壓縮和加速也引起了許多關(guān)注,如何實(shí)現(xiàn)模型量化、蒸餾和剪枝等壓縮方法,這也是圖像風(fēng)格遷移領(lǐng)域未來需要解決的問題。
圖像風(fēng)格遷移的初衷是希望能通過計(jì)算機(jī)來模擬藝術(shù)創(chuàng)作,而圖像風(fēng)格本身是抽象且難以描述的,所以對各個(gè)風(fēng)格遷移算法的效果進(jìn)行評估也是一件困難的事情。目前對這些算法的評估方式主要有兩種,定性評估和定量評估。定性評估主要的手段是用戶調(diào)研,通過各個(gè)人群在主觀上的偏好投票比較各個(gè)算法的效果,這并不是最好的方式,因?yàn)椴煌瑐€(gè)體得到的結(jié)果會(huì)有較大的差異。定量評估是通過特定意義的數(shù)學(xué)指標(biāo)進(jìn)行對比,目前主要使用的指標(biāo)有算法的訓(xùn)練和推理時(shí)間等,這些指標(biāo)并不能用來評估風(fēng)格遷移算法的實(shí)現(xiàn)效果。Yeh等人[60]設(shè)計(jì)了風(fēng)格有效性和內(nèi)容一致性兩種統(tǒng)計(jì)量指標(biāo)用于評估風(fēng)格遷移算法,這或許對設(shè)計(jì)標(biāo)準(zhǔn)性評估方法有一定的啟發(fā)。在圖像風(fēng)格遷移領(lǐng)域中設(shè)計(jì)出一個(gè)標(biāo)準(zhǔn)性評估方法有助于理解如何改進(jìn)現(xiàn)有的風(fēng)格遷移算法。
現(xiàn)有的圖像風(fēng)格遷移方法都是以領(lǐng)域自適應(yīng)作為核心思想設(shè)計(jì)的,Li等人[7]在理論上證明了間接匹配Gram矩陣等價(jià)于最小化二階多項(xiàng)式核的最大均值差異(MMD),他們還發(fā)現(xiàn)通道方向上的特征統(tǒng)計(jì),即均值和方差,也能用來表征風(fēng)格。雖然通過匹配特征在通道方向上的均值和方差也能實(shí)現(xiàn)風(fēng)格的遷移,但是缺乏理論上的證明,仍然不清楚為什么特征統(tǒng)計(jì)可以表征風(fēng)格和特征統(tǒng)計(jì)能否表征所有的風(fēng)格等問題。領(lǐng)域自適應(yīng)屬于遷移學(xué)習(xí)的范疇,所以圖像風(fēng)格遷移也可以視為遷移學(xué)習(xí)的一個(gè)應(yīng)用方向。遷移學(xué)習(xí)理論的完善能為風(fēng)格遷移算法提供更全面的數(shù)學(xué)解釋和理論支撐,這對圖像風(fēng)格遷移領(lǐng)域進(jìn)一步的發(fā)展具有極其重要的意義。
Zhang等人[61]設(shè)計(jì)了一種通用的網(wǎng)絡(luò)架構(gòu)分別實(shí)現(xiàn)了圖像風(fēng)格遷移和字體風(fēng)格遷移,展現(xiàn)出了模型的可推廣性。圖像風(fēng)格遷移的發(fā)展也推進(jìn)了圖像分類、語義分割和目標(biāo)檢測等領(lǐng)域的發(fā)展,如在語義分割任務(wù)上,使用風(fēng)格遷移技術(shù)對訓(xùn)練圖像進(jìn)行數(shù)據(jù)增強(qiáng),有助于提升分割模型的域適應(yīng)性能力,所以設(shè)計(jì)用于其他領(lǐng)域研究的通用風(fēng)格遷移模型是很有必要的?,F(xiàn)有的風(fēng)格遷移方法對內(nèi)容風(fēng)格權(quán)衡的超參數(shù)只能在訓(xùn)練階段控制,這使得一對圖像的輸入只能得到單一的風(fēng)格化結(jié)果,Babaeizadeh等人[62]提出一種方法,能在訓(xùn)練后的模型上實(shí)時(shí)地調(diào)整和控制生成的風(fēng)格化圖像。受此啟發(fā),設(shè)計(jì)一種能在各種模型任務(wù)上實(shí)現(xiàn)訓(xùn)練后的損失調(diào)整策略會(huì)是一個(gè)很有趣的研究方向。
本文首先對采用深度學(xué)習(xí)的圖像風(fēng)格遷移方法進(jìn)行了全面闡述,包括基于卷積神經(jīng)網(wǎng)絡(luò)和基于生成對抗網(wǎng)絡(luò)的圖像風(fēng)格遷移方法,并分析其優(yōu)缺點(diǎn),然后對一些改進(jìn)性和拓展性的研究工作進(jìn)行介紹,最后總結(jié)概括了當(dāng)前研究面臨的挑戰(zhàn)以及未來可能的研究熱點(diǎn)。基于深度學(xué)習(xí)的圖像風(fēng)格遷移是當(dāng)前一個(gè)發(fā)展迅速的熱門研究領(lǐng)域,本文根據(jù)圖像風(fēng)格遷移主要的原理對現(xiàn)有研究工作進(jìn)行分類敘述,能幫助該領(lǐng)域的初學(xué)者和研究人員把握當(dāng)前研究方向和加深對研究的認(rèn)識。