高 媛,王思彤
(牡丹江師范學院 數(shù)學科學學院,黑龍江 牡丹江 157011)
圖像風格遷移是使用計算機技術將自然圖片轉化為特定風格的圖片。最初,人們嘗試通過算法模仿藝術家的作畫習慣,但這種算法的不足在于算法改動依賴于圖像像素,無法控制圖像的內容結構保留效果,深度學習技術的出現(xiàn)解決了圖像語義與紋理提取的問題,能夠自動抽取圖像的關鍵紋理結構特征,從而實現(xiàn)任意風格與內容的結合,取得了很好的風格遷移效果。圖像風格遷移包括基于紋理遷移和基于深度學習的圖像風格遷移。圖像紋理能代表圖像的風格特征,將圖像某一部分色彩具有的規(guī)律性稱為該圖像的紋理,因此圖像的風格遷移也可以是圖像紋理的遷移[1]。圖像風格與圖像紋理密不可分,將二者聯(lián)系起來可形成紋理遷移方法:一類屬于紋理再生成的物理仿真技術,另一類是基于數(shù)據(jù)集樣本的統(tǒng)計拼接技術,通過統(tǒng)計紋理樣式重新采樣的參數(shù)化紋理遷移及通過初始圖像數(shù)據(jù)生成特定紋理的非參數(shù)化紋理遷移。Gatys等[2]提出了一種運用卷積神經網(wǎng)絡來實現(xiàn)的新型的風格遷移算法,將特征圖的Gram矩陣作為圖像的風格特征,進行迭代,為了定義該算法的損失函數(shù),分別提取內容圖片的內容特征及風格圖片的風格特征,通過卷積層的特征圖提供損失,內容損失則由高卷積層構成,風格損失由多個卷積層綜合構成,計算機由此學會藝術風格應用到普通圖像上,即基于深度學習的圖像風格遷移。本研究基于深度學習的圖像風格遷移算法原理,對影響算法效果的兩個關鍵因素,即遷移次數(shù)與目標圖像的選擇,采用控制變量法與實驗對比法進行實驗,找到遷移效果與這兩個因素之間的變化規(guī)律,從而對算法的應用研究提供參考。
基于深度學習的圖像處理網(wǎng)絡主要采用卷積神經網(wǎng)絡(Convolutional Neural Network,CNN)。卷積神經網(wǎng)絡因其獨特的結構而具有強大的學習能力,包括輸入層、卷積層、激活函數(shù)、池化層及全連接層。卷積層是卷積神經網(wǎng)絡的核心,卷積層的卷積運算相當于圖像處理中的濾波器運算(也稱核運算),將各個位置上濾波器的元素與輸入元素相乘的和(即做內積)保存到對應的輸出位置,每個位置都計算一遍,以得到卷積運算的輸出。池化層的作用是將卷積運算后的結果特征矩陣進行壓縮,且不破壞特征的方位信息。通常使用最大池化層,這種池化層不僅保留了特征的方位信息,還能防止特征值被壓縮或過濾。卷積與池化后通常需使用全連接層進行分類或回歸,全連接層激活函數(shù)通常為sigmoid函數(shù)及ReLu函數(shù)。
算法模型網(wǎng)絡結構圖如圖1所示。本研究使用的深度學習網(wǎng)絡模型是VGG[3],具有多種模型結構,其中VGG16及VGG19是效果最好的兩種。該模型主要使用3×3的卷積算子,在保證感受野的前提下減少了模型參數(shù)量,能夠很好地實現(xiàn)紋理及內容特征提取。模型結構主要采用已經訓練好的VGG19深度網(wǎng)絡模型,對風格圖像、目標圖像及內容圖像均進行特征的卷積采集,并選擇一些卷積層作為風格或內容因素對比層,來計算目標圖像與風格圖像的風格損失,計算目標圖像與內容圖像的內容損失,并對內容損失及風格損失進行加權求和,求得的總損失作為優(yōu)化目標,來更新目標圖像的像素內容。
圖1 算法模型網(wǎng)絡結構
內容損失。生成圖像與原始內容圖像在內容上的差異程度被稱為內容損失,通過原始圖片的內容和生成圖片的內容作歐氏距離求得,其大小隨著原始圖像與生成圖像的內容結構距離的變化而變化,見式(1):
(1)
風格損失。使用格拉姆矩陣(Gram矩陣)代表圖像的風格。n維歐氏空間中,任意k(k≤n)個向量a1,a2,…ak內積所組成的矩陣,稱為這k個向量a1,a2,…ak的Gram矩陣。例如:向量a=[a1,a2,a3,…an],向量b=[b1,b2,b3,…bn],則a和b的內積公式為:
a·b=a1b1+a2b2+…anbn
(2)
如果兩個圖像的特征向量的Gram矩陣差異較小,那么判定它們高度相似。
(3)
(4)
(5)
將輸入的圖像縮放,將其轉換為torch tensor且適合網(wǎng)絡的輸入尺寸。對內容圖像和風格圖像分別用預訓練好的VGG網(wǎng)絡進行特征采集,并保存計算出的所有層的特征數(shù)據(jù)。對目標圖像通過VGG網(wǎng)絡進行特征學習,與已經計算好的內容圖像及風格圖像對應的特征層的特征數(shù)據(jù)進行計算,得到內容損失、風格損失及總損失。對總損失函數(shù)進行求導,根據(jù)導數(shù)采用反向誤差傳播法,對目標圖像進行優(yōu)化。重復上一步過程,直到總損失函數(shù)的變化量足夠小,即內容圖像的風格變化與風格圖片的風格距離最小且風格圖像的內容變化與內容圖片的內容距離最小或達到預定的迭代次數(shù)。
本實驗以Pyhton為編程語言,使用VGG16神經網(wǎng)絡模型進行訓練。計算機硬件處理器為Intel(R) Core(TM) i5-8300H,主頻為2.30 GHz,內存為12.0 GB。
如圖2、圖3所示,風格圖像是梵高的星空,當?shù)螖?shù)固定為2000次時,改變內容與風格的權重比,當權重比較小時,生成圖像與內容圖像幾乎相同,原因是風格權重相對于內容權重在運算時產生的影響過小。當權重比過大時,產生的遷移效果過分依賴于風格圖像,干擾了內容成分。
圖3 內容與風格不同權重比生成圖
從圖3能夠看出,當風格權重較小時,生成圖像的風格與風格圖像的風格差別較大,內容圖像的內容特征能很好地展現(xiàn)。當風格權重較大時,生成圖像的風格會與風格圖像的風格相近,但仍能保存內容圖片的內容特征。當風格權重為100時(此時就可以理解為是最為合適的權重比),能生成視覺上感覺好看的圖像。風格特征與內容特征的權重比沒有一個固定精確的值,可依情況精細處理。
使用噪聲圖片進行圖像風格遷移,因為噪聲圖片的像素是隨機產生的,它所包含的特征既不同于內容圖像也不同于風格圖像,在遷移過程中能更好地向內容圖像及風格圖像進行遷移,令風格遷移效果增強。
如圖4所示,當?shù)螖?shù)逐漸增大時,使用噪聲圖像進行遷移與使用內容圖像進行遷移生成的輸出圖像有明顯差別。這是因為使用內容圖像進行遷移時,遷移結果對于內容圖像的內容特征損失值為0,迭代過程中遷移效果更傾向于內容圖像,即受到內容圖像的約束較大,所以迭代次數(shù)少時也能生成視覺上感覺好看的圖像。使用噪聲圖像進行遷移是向內容圖像與風格圖像兩個方向同時遷移,遷移過程中既要在內容上向內容圖像的內容特征接近,又要在風格上向風格圖像的風格特征接近,使優(yōu)化過程相對自由,不會像使用內容圖像時落入局部最優(yōu)點,所以迭代時更傾向于優(yōu)化為全局最優(yōu)點,迭代次數(shù)越大,整體遷移效果越好,整體風格的遷移越好。
圖4 不同原始目標圖像對比圖
圖像風格遷移算法是計算機領域的重要應用。探究了基于深度學習中的卷積神經網(wǎng)絡所形成的圖像風格遷移算法及算法相關因素,即損失因素對比率,根據(jù)原始內容的選取與迭代次數(shù)的關系,完成了實驗并對影響因素進行分析,得到以下結果:風格權重與內容權重之比對遷移效果影響較大,比率與遷移效果呈倒U規(guī)律,故可根據(jù)此規(guī)律調整比率參數(shù)。根據(jù)噪聲圖像或內容圖像為原始目標圖像在遷移效果上的特點,可按照遷移的具體要求選擇不同的原始目標圖像,如果能從理論上分析出最優(yōu)值,就可以不采用實驗法來確定這些參數(shù),從而提高風格遷移效率。