周 浩,周先軍,邱書暢
(1 湖北工業(yè)大學(xué)湖北省電網(wǎng)智能控制與裝備工程技術(shù)研究中心,湖北 武漢 430068;2 湖北工業(yè)大學(xué)電氣與電子工程學(xué)院,湖北 武漢,430068)
圖像風(fēng)格遷移即將一張圖片的語義內(nèi)容用不同的風(fēng)格表現(xiàn)出來的技術(shù)。傳統(tǒng)圖像風(fēng)格遷移算法主要思路便是運(yùn)用數(shù)學(xué)或者統(tǒng)計(jì)模型,去表征圖片的紋理,從而近似達(dá)到再現(xiàn)圖像風(fēng)格的目的。深度學(xué)習(xí)算法在圖像處理方面得到廣泛運(yùn)用之后,基于深度學(xué)習(xí)的圖像風(fēng)格遷移算法得到了快速的發(fā)展。Gatys等[1]開創(chuàng)性地提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖像風(fēng)格遷移算法,能很好地提取圖像風(fēng)格特征與內(nèi)容特征,生成較好的圖像風(fēng)格遷移圖像。Risser等[2]在Gatys的基礎(chǔ)上添加梯度直方圖損失進(jìn)行約束,紋理合成和風(fēng)格遷移的效果均優(yōu)于Gatys的算法。Li 等[3]使用馬爾科夫隨機(jī)場損失函數(shù)替換Gram損失函數(shù),利用MRF的空間布局限制,提高生成圖像的質(zhì)量。Johnson等[4]Gatys的算法前添加一個前置圖像轉(zhuǎn)移網(wǎng)絡(luò),通過訓(xùn)練前置網(wǎng)絡(luò)參數(shù)實(shí)現(xiàn)快速風(fēng)格轉(zhuǎn)移。Ulyanov等[5]提出Instance Normalization方法代替卷積神經(jīng)網(wǎng)絡(luò)中常用的Batch Normalization方法,顯著提升了生成網(wǎng)絡(luò)的效果。圖像風(fēng)格遷移技術(shù)已經(jīng)取得了較好的成果,基于深度學(xué)習(xí)的圖像風(fēng)格遷移算法也分為兩類:基于圖像迭代的圖像風(fēng)格遷移和基于模型迭代的圖像風(fēng)格遷移。
本文在前人基于圖像迭代的圖像風(fēng)格遷移算法上做出了改進(jìn),提出了一種基于下采樣迭代超分辨率重建的圖像風(fēng)格遷移,大量減少了網(wǎng)絡(luò)迭代的時間,優(yōu)化了整個網(wǎng)絡(luò)的迭代效率,生成的圖片效果較好。
傳統(tǒng)基于圖像迭代的風(fēng)格遷移算法需要大量的計(jì)算量和時間去訓(xùn)練生成的圖片。本文利用深度學(xué)習(xí)算法在圖像超分辨率重建方面的高效性,提出一種使用下采樣之后的低分辨率圖像進(jìn)行圖像風(fēng)格遷移的迭代,然后在輸出端進(jìn)行超分辨率重建的風(fēng)格遷移算法。算法流程見圖1。
圖1 本文算法示意圖
輸入目標(biāo)內(nèi)容圖片和風(fēng)格圖片后,首先經(jīng)過圖像預(yù)處理網(wǎng)絡(luò)對內(nèi)容圖片和風(fēng)格圖片進(jìn)行銳化,使圖像特征更加明顯;接著對預(yù)處理過后的內(nèi)容圖片和風(fēng)格圖片進(jìn)行下采樣,得到低分辨率圖像,以降低數(shù)據(jù)量;將下采樣后的內(nèi)容圖片和風(fēng)格圖片送入圖像風(fēng)格遷移網(wǎng)絡(luò)進(jìn)行訓(xùn)練,產(chǎn)生風(fēng)格遷移圖片;最后將得到的風(fēng)格遷移圖片進(jìn)行超分辨率重建,得到同輸入圖像分辨率相同的風(fēng)格遷移圖片。
為了使圖像的細(xì)節(jié)更突出,特征更加明顯,需要對圖像進(jìn)行預(yù)處理,選擇常用的拉普拉斯算子對圖像進(jìn)行銳化,使得圖像效果更好(圖2)。
圖2 圖像預(yù)處理結(jié)果
為了減少圖像風(fēng)格遷移網(wǎng)絡(luò)的運(yùn)算量,將預(yù)處理后產(chǎn)生的圖片進(jìn)行下采樣處理,選擇的下采樣倍數(shù)不宜過大,否則最后重建得到的風(fēng)格遷移圖片視覺效果會很差。
圖3 圖像下采樣結(jié)果
基于圖像迭代的風(fēng)格遷移網(wǎng)絡(luò),是利用已經(jīng)預(yù)訓(xùn)練好的VGG19網(wǎng)絡(luò)作為圖像特征提取器來分別提取內(nèi)容圖像的內(nèi)容特征和風(fēng)格圖像的風(fēng)格特征,并加權(quán)相加得到總的特征矩陣,并以此來設(shè)計(jì)總的損失函數(shù)。在網(wǎng)絡(luò)訓(xùn)練過程中,輸入訓(xùn)練的是白噪聲圖片,最后白噪聲圖像會變成既具有內(nèi)容圖像內(nèi)容特征又具有風(fēng)格圖像風(fēng)格特征的風(fēng)格遷移圖像。算法流程見圖4。
圖4 圖像風(fēng)格遷移算法
使用預(yù)訓(xùn)練好的VGG19網(wǎng)絡(luò)模型來作為特征提取網(wǎng)絡(luò),這里提取出來的VGG參數(shù)全部是作為常量使用的,這些參數(shù)是不會再被訓(xùn)練的,在反向傳播的過程中也不會改變,要訓(xùn)練的參數(shù),是輸入進(jìn)來的白噪聲圖像,使最初輸入進(jìn)來的白噪聲圖像同時具有指定的內(nèi)容與風(fēng)格。最開始輸入一張?jiān)胍魣D片,然后不斷地根據(jù)設(shè)定好的內(nèi)容損失函數(shù)和風(fēng)格損失函數(shù)對其進(jìn)行調(diào)整,直到一定次數(shù)后,該圖片兼具了風(fēng)格圖片的風(fēng)格以及內(nèi)容圖片的內(nèi)容。當(dāng)訓(xùn)練結(jié)束時,輸入層的參數(shù)就是圖像風(fēng)格遷移后的圖片。
在內(nèi)容損失函數(shù)上,選擇均方誤差(MSE),該損失函數(shù)計(jì)算簡單,效率高。在計(jì)算內(nèi)容損失函數(shù)時,選擇的內(nèi)容特征模型是conv4_2和conv5_2所輸出的矩陣,將這兩個矩陣進(jìn)行加權(quán)求和,權(quán)重各為0.5,這樣可以比較有效地反映內(nèi)容圖像不同層次的特征,使白噪聲圖像更好地學(xué)習(xí)到內(nèi)容圖像的特征。其中每一層的損失計(jì)算公式如下:
其中,X是輸入的噪聲圖片在對應(yīng)層數(shù)所產(chǎn)生的特征矩陣,P是輸入的內(nèi)容圖片在對應(yīng)層所產(chǎn)生的特征矩陣。M是P的長×寬,N是深度。最終的內(nèi)容損失也就是各層內(nèi)容損失之和,即
Lcontent=∑Li
在風(fēng)格損失函數(shù)上,選擇Gram矩陣來表征圖像風(fēng)格特征,選取了conv1_1,conv2_1,conv3_1,conv4_1所輸出的4個特征矩陣,然后求這些特征矩陣的Gram矩陣,最后加權(quán)相加得到最后的可以表征圖片風(fēng)格的Gram矩陣。同理,白噪聲圖像的風(fēng)格特征矩陣,也是這樣得出的。得到了兩張圖片的Gram矩陣,便可以用均方誤差,來構(gòu)建風(fēng)格的損失函數(shù):
其中:M為特征矩陣的長×寬,N是特征矩陣的信道數(shù)。G為噪音圖像特征的Gram矩陣,A為風(fēng)格圖片特征的GRAM矩陣??偟娘L(fēng)格損失如
Lstyle=∑Li
得到了內(nèi)容損失與風(fēng)格損失,要構(gòu)建出總的損失函數(shù),即將風(fēng)格損失和內(nèi)容損失加權(quán)相加得到總的損失函數(shù):
Ltotal=αLcontent+βLstyle
得到總的損失函數(shù)之后,將白噪聲圖片進(jìn)行迭代,梯度下降反向傳播去調(diào)整輸入的白噪聲的各個像素的值,從而使多次迭代之后產(chǎn)生的白噪聲圖片既具有內(nèi)容圖像的內(nèi)容特征,又有風(fēng)格圖像的風(fēng)格特征,從而實(shí)現(xiàn)風(fēng)格遷移。
圖像超分辨率重建是將低分辨率的圖像轉(zhuǎn)換成高分辨率圖像的技術(shù),傳統(tǒng)算法中常用的方法是雙線性插值法和雙三次插值法,隨著深度學(xué)習(xí)算法的發(fā)展,人們開始利用神經(jīng)網(wǎng)絡(luò)算法來更好地實(shí)現(xiàn)圖像超分辨率重建。
Dong等人在2015年提出一種將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于單張圖像超分辨率重建的算法SRCNN[6],網(wǎng)絡(luò)結(jié)構(gòu)為(conv1+relu1)—(conv2+relu2)—(conv3)算法結(jié)構(gòu)見圖5。
圖5 SRCNN網(wǎng)絡(luò)結(jié)構(gòu)
圖5算法分為三個步驟:
1)圖像特征的提取和表示,用f1×f1的卷積核,去提取低分辨率圖像的特征,并得到特征表示矩陣;
2)低分辯率圖像特征到高分辨率圖像特征的非線性映射,用1×1的卷積核,將低分辯率圖像特征非線性映射到高分辨率圖像特征;
3)高分辨率圖像重建,用f3×f3×1的卷積核,得到一張單通道的高分辨率輸出圖像。
在該算法中,為了網(wǎng)絡(luò)更快收斂,首先將RGB圖像轉(zhuǎn)移到Y(jié)CbCr空間中,然后每個通道單獨(dú)訓(xùn)練,最后再合成彩色圖像。實(shí)驗(yàn)結(jié)果表明,訓(xùn)練好的SRCNN網(wǎng)絡(luò)相較于傳統(tǒng)算法,有更好的超分辨率圖像重建能力。
為驗(yàn)證本文提出算法的有效性,分別進(jìn)行了兩組實(shí)驗(yàn)。第一組Gatys等人的方法,僅僅使用圖像風(fēng)格遷移網(wǎng)絡(luò),輸入圖片為銳化之后的內(nèi)容圖片和風(fēng)格圖片,圖像尺寸均為400×400×3,圖像風(fēng)格遷移網(wǎng)絡(luò)迭代次數(shù)為3000次;第二組,使用本文所提出的算法,下采樣時將內(nèi)容圖像和風(fēng)格圖像均變成200×200×3的大小,圖像風(fēng)格遷移網(wǎng)絡(luò)迭代次數(shù)為3000次。實(shí)驗(yàn)結(jié)果見圖6。
圖6 實(shí)驗(yàn)結(jié)果
本次實(shí)驗(yàn)中,為了衡量生成的風(fēng)格遷移圖像的效果,分別將兩組實(shí)驗(yàn)結(jié)果圖片重新帶入了損失函數(shù),計(jì)算損失。損失函數(shù)表達(dá)式如
Ltotal=αLcontent+βLstyle
其中第一組結(jié)果圖片的損失值(Current loss value)為1158316800.0;第二組結(jié)果圖片的損失值(Current loss value)為2087749200.0。
結(jié)果表明,在訓(xùn)練次數(shù)相同的情況下,雖然本文方法得到的圖像風(fēng)格遷移圖片損失值大于Gatys等人的方法,但是本文所提出的方法相較于Gatys等人的算法有以下優(yōu)點(diǎn)。
1)節(jié)約時間成本。第二組要訓(xùn)練的數(shù)據(jù)只有200×200×3=120000個,是第一組要訓(xùn)練的數(shù)據(jù)400×400×3=480000個的1/4,并且第二組中使用了已經(jīng)預(yù)訓(xùn)練好的SRCNN網(wǎng)絡(luò),超分辨率重建過程時間很短可忽略不計(jì),所以第二組算法所用的時間要遠(yuǎn)遠(yuǎn)低于第一組算法。在實(shí)驗(yàn)過程中,第一組算法運(yùn)行時間約為8 h,第二組算法運(yùn)行時間約為3 h,實(shí)驗(yàn)結(jié)果證明本算法可以大量減少迭代時間。
2)圖片整體效果更好。在本次第一組實(shí)驗(yàn)和第二組實(shí)驗(yàn)中的風(fēng)格遷移網(wǎng)絡(luò)部分,圖像風(fēng)格和特征提取網(wǎng)絡(luò)均為VGG19網(wǎng)絡(luò),卷積核大小均為3×3。而在第二組實(shí)驗(yàn)中,因?yàn)檩斎雸D像的分辨率更低,所以此時的卷積核可以感受到更多的圖片信息,因而可以連貫地改變原圖片的大部分區(qū)域,從而使內(nèi)容圖像和風(fēng)格圖像融合得更好,圖像風(fēng)格遷移整體效果更好。
圖7 Gatys等人實(shí)驗(yàn)結(jié)果 圖8 本文方法實(shí)驗(yàn)結(jié)果
如圖7-8,雖然本文方法得到的圖片在圖像細(xì)節(jié)上有所欠缺,但是本文方法得到的圖片更加貼合原風(fēng)格圖片(如圖7-8中黑框所示),同時本文方法得到的圖片在整個圖像的風(fēng)格和色調(diào)上也更加貼合風(fēng)格圖片,使內(nèi)容圖像和風(fēng)格圖像達(dá)到更好的融合。
3)更加貼合真實(shí)繪畫風(fēng)格。本文提出算法產(chǎn)生的結(jié)果圖片,雖然犧牲了圖像的細(xì)節(jié),但是圖像整體風(fēng)格更加連貫,更加貼合平時所見到的藝術(shù)繪畫作品,可以在藝術(shù)繪畫輔助設(shè)計(jì)方面得到較好的應(yīng)用。
在前人研究的基礎(chǔ)上,針對基于圖像迭代的圖片風(fēng)格遷移算法做出了改進(jìn),實(shí)驗(yàn)證明:本文所提出的方法大量減少了網(wǎng)絡(luò)迭代所需要的時間,同時犧牲了一部分圖像的細(xì)節(jié)使得內(nèi)容圖像和風(fēng)格圖像有一個更好的融合,達(dá)到了不錯的風(fēng)格遷移的效果。但是也有需要進(jìn)一步改進(jìn)的地方,例如圖像下采樣的倍數(shù)不宜過大,否則在輸出端重建得到的圖像質(zhì)量較差;圖像超分辨率重建網(wǎng)絡(luò)有待優(yōu)化,如果使用更多的數(shù)據(jù),對應(yīng)的訓(xùn)練集進(jìn)行訓(xùn)練,在進(jìn)行圖像超分辨率重建時會得到效果更好的圖片。