劉運鑫,江愛文,葉繼華,王明文
江西師范大學 計算機信息工程學院,南昌 330022
圖像風格遷移是圖像紋理遷移的擴展,可以理解為提取風格圖中的風格(紋理、顏色等),并與內容圖相結合,進行圖像重建,生成風格化的結果圖。由于技術的局限性,傳統技術只能做到紋理遷移,但隨著卷積神經網絡的發展,Gatys 等人[1]開辟了基于深度學習的風格遷移研究領域。他們的實驗結果表明,圖片的風格和內容可以被深度卷積神經網絡分離并提取,通過不同內容和風格的融合,達到圖像風格遷移的目的。他們提出利用Gram 矩陣作為風格統計量和損失,并證明相同風格的圖片Gram 矩陣是相同的。他們的方法可以對任意尺寸的圖像實現風格遷移并且能夠生成相對高質量的風格化圖片。但是,他們的方法優化過程十分緩慢,需要使用數百次的梯度下降過程來逼近最優的圖像解,無法做到實時性。一旦更換目標遷移的風格,模型就需要重新訓練。因此,Gatys 等人[1]的方法是典型的單模型單風格的風格遷移算法。
除了Gram 矩陣作為損失函數,Li 和Wand[2]提出了基于馬爾科夫隨機場(Markov random field,MRF)的非參數風格遷移的算法。該算法核心是使用MRF損失來代替Gram 損失,文獻[3-5]都是此類非參數方法。除此以外,Li 等人[6]提出的均值和方差,Risser 等人[7]提出的直方圖損失,Peng 等人[8]提出的CORAL 損失均可以作為風格損失來滿足風格遷移的要求。
Johnson 等人[9]改進了Gatys 等人[10]的方法,使用前饋網絡和感知損失進行風格遷移,大大提升了風格遷移的速度,在一定程度上做到了實時性。但是,此方法依然保留著對每一個新的風格都需要重新訓練一個新的模型的局限性。
隨后出現了大量風格遷移的算法,如文獻[11-13]中的單模型多風格。他們能夠做到單一模型實現多個風格遷移的效果。盡管如此,這些模型能夠遷移的風格依然有限和固定。
本文關注的是更具挑戰性和實際應用價值的單模型任意風格遷移[14-16]。

Fig.1 Method results of Ref.[17]圖1 文獻[17]方法結果
Shen 等人[17]提出基于元網絡的任意風格遷移算法,成功實現了快速的任意風格遷移,并且擁有良好的實驗結果,得到業界的廣泛關注。經過反復實驗作者提供的源代碼,并仔細驗證Shen 等人[17]的方法,發現該算法在進行風格遷移時,主要存在兩方面的缺陷:(1)風格化后結果圖片總是出現明顯風格不一致的不協調像素缺塊,如圖1 所示。從圖1 中可以看出幾乎每一張圖片都有一個比較明顯的灰色橢圓形缺塊(在圖中已用紅框標出)。在該算法中,這是一個普遍現象。(2)圖1 中風格圖與風格化后的結果圖,在顏色布局上通常并不一致。例如,Style3 的風格示例圖,整體是藍白黑三色調,但是得到的風格化后的結果圖帶有大部分的米黃色色調。Style2 中也存在類似現象。這種色調不一致的現象反復出現。經過多次實驗驗證發現該算法測試生成的結果圖顏色布局與訓練過程中最后一張風格圖相關(主要在顏色上受影響),導致風格化后結果圖與風格示例圖具有不一致的顏色布局。從圖1 中便可見一斑。風格完全不同的Style1、Style2、Style3 對應的風格化結果圖在顏色色調上卻很接近。因此,此方法在遷移效果上,僅做到了紋理風格的不完美遷移,并沒有完全做到風格的任意遷移。
為了避免風格化結果圖出現明顯的不協調像素缺塊,且同時實現風格化結果圖與風格圖的顏色布局相一致,本文主要借鑒Gatys 等人[1]提出的Gram 矩陣,在風格統計量和損失函數等方面對Shen 等人[17]方法進行了改進。通過實驗對比,本文改進的模型能夠較完美地解決前述兩方面的問題,實現良好、快速有效的任意風格任意內容的快速遷移。
本文的主要貢獻在于:(1)將Gram 矩陣引入基于元網絡的任意風格遷移算法框架并進行改進,有效解決了基準方法的明顯缺陷,同時實現實時有效的任意內容任意風格的單圖像風格遷移。(2)對于風格遷移問題,通過充分的實驗驗證、理論分析,進一步厘清了Gram 矩陣統計量在算法收斂性和視覺效果上優越性所在。
Shen 等人[17]提出的元網絡為兩層全連接層,輸入是風格圖的組合特征向量,輸出向量用于對圖像轉換網絡(image transformation network,ITN)各卷積層的卷積核進行權重分配,以達到不同的風格對應不同的卷積核,最終實現任意風格遷移的目的。他們將VGG16[18]中Relu1_2、Relu2_2、Relu3_3、Relu4_3 卷積層對應的特征映射圖,求均值和方差,然后串聯成一維向量,輸入至元網絡的第一層全連接層。輸入向量的維度大小等于(64+128+256+512)×2=1 920。為了避免元網絡參數過大,第二層全連接層采用分組全連接層的思路:每組全連接輸入128 維,各組輸出對應分配到特定卷積層權重。圖像轉換網絡的卷積層,包括下采樣卷積層2 層、殘差卷積層10 層、上采樣反卷積層2 層。因此,元網絡第二層的全連接層輸入大小為14×128=1 792 維。該方法的具體元網絡細節如圖2 所示,其他細節在此不再贅述。
雖然均值和方差計算非常簡單,但作為風格統計量,其包含的信息量有限,不足以表征風格圖的特點,這也是Shen 等人[17]的方法存在前述缺陷的主要因素。本文主要借鑒Gatys 等人[1]提出的Gram 矩陣,改變了Shen 等人[17]方法中元網絡輸入信息和風格損失計算方式。本文不再使用特征圖的均值和方差,而是使用VGG16 的Relu1_2、Relu2_2、Relu3_3、Relu4_3 的特征映射圖計算Gram 矩陣。
相對于均值和方差,直接使用Gram 矩陣輸入至元網絡中,會使全連接層的參數變得非常大,整個網絡框架幾乎無法放進主流GPU(如11 GB顯存的GTX 1080TI)。為了既能最大程度保留Gram 矩陣信息豐富的特點,又能適當縮小網絡參數規模,把尺寸最大的Relu4_3 層的Gram 矩陣(大小為512×512)進行了下采樣,采用平均池化將其大小變為原來尺寸的1/4。由于Gram 矩陣式對稱陣,選擇Gram 矩陣的上三角或下三角數值作為特征,再結合分組全連接的思路,最終能將整個網絡控制在合理參數規模范圍以內。改進后的元網絡輸入信息是能夠有效表征風格特點的Gram 矩陣,由4 個Gram 子矩陣64×64、128× 128、256×256、256×256 串聯而成。

Fig.2 Meta network architecture圖2 元網絡框架
在內容損失函數計算方面,本文保持和Shen 等人[17]方法一致。具體地,將風格化結果圖和原始內容圖分別經過在ImageNet 預訓練好的VGG16 網絡,計算它們相同層對應的特征圖之間的歐式距離。內容損失公式如式(1)所示:

其中,x為輸入的內容圖像,像,Fj(x)是處理圖像x時VGG16 網絡第j層的特征圖,尺寸為Cj×Wj×Hj。
預訓練好的VGG16 網絡參數在整個訓練和測試過程中保持固定。
在風格損失計算方面,Shen 等人[17]計算風格化結果圖y分別經過VGG16 的Relu1_2、Relu2_2、Relu3_3、Relu4_3 四層后的特征圖的均值和方差的歐式距離。
Shen 等人[17]利用均值和方差代替Gram 矩陣作為風格統計量的做法,雖然也能使風格化后結果圖具有與風格示例圖相似的紋理,且相對于Gram 矩陣計算速度更快,計算量更小,但是經常很容易導致結果圖的整體風格布局與風格圖不相匹配或者匹配度較低,如Huang 等人[16]的方法便采用了均值和方差作為損失函數。該方法的風格化結果圖像均帶有明顯的塊狀,以至于在視覺上他們的結果與其他方法存在差距。均值和方差作為風格統計量并不適用于所有的框架。
Gram 矩陣計算圖像特征之間的偏心協方差矩陣(即沒有減去均值的協方差矩陣)。定義矩陣Ψ表示大小為C×W×H特征圖Fk(x)。
令Ψ=[f1,f2,…,fC],其中fi∈?WH是特征圖Fk(x)第i={1,2,…,C}個通道層對應的特征平面的所有元素構成的列向量。Gram 矩陣如式(2)所示:

特征圖Fk(x)的方差和均值表示為σ=[σ1,σ2,…,σC],μ=[μ1,μ2,…,μC],其中均值向量元素,方差向量元素σi=(fi-μiI)T(fi-μiI)。類似地,可以計算協方差:


從它們的數學計算過程也不難看出,Gram 矩陣計算是均值和方差計算的一般泛化形式,包含了比方差和均值更豐富的信息。Gram 矩陣可以度量特征各維度自身特性以及各維度之間的關系,能夠更全面表示特征圖Fk(x)的結構特性,反映風格的整體屬性。相比之下,均值和方差只能反映特征維度自身的特性。
采用能更好適用于風格特征表示的Gram 矩陣作為風格損失,雖然會使計算量變大,也會使網絡整體框架變得更大,但是只要能進行合理優化,是可以做到性能與計算代價的平衡。
風格損失如下:

其中,G表示在VGG16 網絡中第j層的特征圖的Gram 矩陣。
需要指出的是,雖然在元網絡輸入表示時,對Gram 矩陣進行池化操作,但在訓練時,因為不涉及到網絡參數大小的問題,采用了原始大小的Gram 矩陣計算風格損失。
網絡最終的總損失函數如式(5)所示。

其中,超參數α和β分別為內容權重和風格權重。
作為用戶控制參數,提高α/β的比值會使風格化結果圖注重內容信息,視覺上更偏向于內容圖像;減小α/β風格權重會使風格化結果圖像注重風格信息,使其更具有風格化。
圖像轉換網絡(ITN)的權重(除了第一層和最后一層)由元網絡分配。改進模型的整體框架如圖3所示。
圖3 所示的整體網絡的數據流向為:(1)網絡輸入有內容圖像和風格圖像。(2)紅色數據流向指示,風格圖像經過預訓練VGG16 網絡。其中,若干層卷積特征計算Gram 矩陣輸入元網絡。元網絡的輸出為圖像轉換網絡(ITN)進行權重賦值。(3)藍色數據流向指示,內容圖像經過風格權重賦值的圖像轉換網絡,生成結果風格化圖像。(4)綠色數據流向指示,訓練時,風格化圖像結果經過VGG16 網絡,在對應卷積層上計算與風格圖像的風格損失,計算與內容圖像的內容損失。
實驗所使用的內容圖像來自于Microsoft COCO數據集,風格示例圖來自于WikiArt 數據集。其中,內容圖像大約80 000 張,風格圖大約有8 000 張。在訓練過程中,先把內容圖像縮放到[256,480]的區間范圍,然后再隨機剪裁成256×256 尺寸的圖像。優化器采用Adam,網絡訓練學習率固定為0.001,批量大小Batchsize 設置為2。每20 輪循環,隨機更換一張風格圖。
在內容損失方面,重點考慮圖像高層語義相似性計算,因此采用預訓練好的VGG16的Rule3_3層的特征圖來計算內容損失;在風格損失方面,選取預訓練好的VGG16的Relu1_2、Relu2_2、Relu3_3、Relu4_3四層的特征圖的Gram 來計算風格損失;ITN 網絡結構保持與Shen 等人[17]方法一致。
由于內容損失和風格損失計算的量值比例的原因,將α/β比值作為用戶控制參數。在圖4 展示了不同的α/β值的效果。當比值為2×10-5時,能夠做到內容與風格平衡協調。因此,為了調參的方便,后續實驗均采用此設置。式(5)中內容權重α=1,風格權重為β=2×105。
為了評價改進方法的有效性,與其他主流的風格遷移方法進行了對比。

Fig.3 Model architecture圖3 模型結構

Fig.4 Effect of different weight ratios圖4 不同權重比值的效果
在損失收斂方面,將本文方法與Shen 等人[17]的方法進行了比較,如圖5 所示。在內容損失方面本文方法更加穩定,從風格損失方面可以看到本文方法收斂得更好。主要歸因于Gram 矩陣在風格損失的計算數值上較均值和方差更穩定。

Fig.5 Loss convergence圖5 損失收斂情況
為了驗證Gram 矩陣作為風格損失計算的必要性,繼續進行了對比實驗。Johnson 等人[9]提出的框架是風格遷移領域中最基礎、最通用的方法之一。用均值和方差作為損失替代該算法框架中的Gram矩陣,并且將超參數調整到實驗最優,結果如圖6 所示。除卻偽影,從紋理和顏色方面可以看出使用均值和方差損失的效果與Gram 矩陣差距較大。均值方差損失在風格遷移中的效果并不理想。通過前述理論分析、實驗佐證,進一步肯定了采用Gram 矩陣作為風格損失和特征統計量在算法收斂性和視覺效果方面的優越性。

Fig.6 Comparison of effects of different losses圖6 不同損失的效果比較

Fig.7 Stylized effect results of proposed model(Compared with Fig.1)圖7 本文模型的風格化效果圖(與圖1 對比)
在圖像風格化的質量與效果方面,圖7 展示了本文改進方法結果的優越性。相比圖1中Shen等人[17]方法的實驗結果,無論在圖像缺塊問題,還是在顏色色調布局不一致方面,在本文改進的方法中都得到了較好的解決。
圖8 所采用的風格示例圖,均為Shen 等人[17]和本文的方法在訓練過程中從未訓練過的風格圖。不難看出,在視覺紋理分布上,本文方法與Gatys 等人[10]的方法基本相似,都比Shen 等人[17]的方法紋理更豐富;同時,本文在內容上比Gatys 等人[10]的方法視覺表現更好;在顏色色調方面,本文方法也取得了比其他方法明顯更好的效果。
為了更多地驗證本文方法的適應能力,圖9 展示了使用本文方法進行風格遷移的更多效果圖。所有生成的圖片尺寸均為256×256,不難看出,本文方法取得了不錯的結果,可以適用于不同風格、不同內容的場景。

Fig.8 Contrast of stylized effect charts of different methods圖8 不同方法的風格化效果圖對比

Fig.9 More stylized results generated by proposed model圖9 更多本文模型生成的風格化結果
表1 記錄了五種主流風格化遷移算法的遷移速度。在GTX1080TI 上進行測試,測試的風格圖像和內容圖像大小均為256×256。可以看出來,本文方法雖然比Shen 等人[17]的原方法慢了3 ms(主要是計算Gram 矩陣的原因),但幾乎是可以忽略不計的程度,仍然可以實現快速的風格遷移。

Table 1 Comparison of transfer speed for different methods表1 不同方法的遷移速度對比
本文在Shen 等人[17]的基礎上解決了他們的方法遺留下的風格結果圖存在的不協調缺塊和顏色布局與目標風格圖不一致等問題,提出了基于Gram 矩陣風格統計量的元網絡風格遷移改進網絡,并通過合理優化避免了傳統Gram 矩陣帶來網絡參數整體過大的問題。通過實驗驗證,使用本文方法不僅不會出現風格化圖像不協調缺塊的問題,而且還可以完美保持與風格圖像的顏色布局一致。本文方法進行風格遷移后的圖片在視覺效果上比原方法具有更好的效果和表現,可以實現任意風格任意內容的快速風格遷移。