王飛,金玉蘋,祖培福
牡丹江師范學院數學科學學院,黑龍江 牡丹江,157011
風格遷移算法能夠生成的遷移圖像具有如下特點:具有風格圖像的風格因素,并且同時保留內容圖像的內容信息。這也可以理解為在一幅內容圖像上加入某個特殊的藝術風格。圖像風格遷移算法大體上可以分為早期的在特定任務下的基于圖像處理方法的風格遷移方法和最近幾年出現的基于深度學習技術的通用性風格遷移方法。
早期的風格遷移算法最早都是基于某個特殊的任務來實現的,例如對于色彩風格遷移任務,其目標是將一幅圖像的色彩風格遷移到另一圖像中,經典的Reinhard算法采用了lab色彩模型,將風格圖像和目標圖像轉換為lab顏色表示模型后,把統計占比量類似的顏色分量進行映射,達到目標圖像的色彩轉換,從而實現與風格圖像的色彩風格相似的效果[1]。對于紋理遷移任務,錢小燕[2]對經典的Ashikhmin算法進行改進,在原有的尋找目標圖像和風格圖像的匹配點的L2距離基礎上,引入了低分辨率統計特性的參考度量,使得原有算法的搜索匹配效率得到提升,并使用了雙向掃描遷移法,從而消除了原有算法遷移效果的生硬化和區塊化的不良特性。
基于深度學習的風格遷移算法最早是由Gatys L A等[3]在2015年首次提出,該算法對圖像的圖像內容進行迭代優化,達到內容圖像的風格遷移的效果。這種風格遷移算法耗時較長,但因具有專一性,大部分情況下效果比較令人滿意。隨后,Johnson J等[4]通過使用卷積神經生成網絡的方式,事先對網絡進行多幅圖像的生成訓練,使得訓練過程比經典的風格遷移算法在速度上提升了兩到三個數量級,達到了實時生成的速度。但效果上,略遜色于基于圖像迭代的經典遷移方法。最近幾年,使用生成對抗網絡(GAN)來進行風格遷移也成為主流,各種遷移風格的生成模型被建立,也有一個很好的遷移效果[5-6]。但是這種方法在模型的訓練上,容易產生模式崩潰、不易收斂等缺點。
經典的風格遷移算法雖然能夠在內容圖像上加入風格圖像的藝術風格特征,但是在風格遷移的過程中,也會把風格圖像的顏色模式遷移到目標圖像中,使得內容圖像原始的顏色特征喪失,內容圖像的顏色信息被風格圖像的顏色取代,這種顏色特點的丟失情況,在某些應用場景下效果差強人意。本文主要針對這個問題對經典的風格遷移算法進行改進,提出一種基于HSV顏色模型的風格遷移算法,在損失函數中加入遷移圖像與內容圖像的顏色損失度量,通過優化,從而降低遷移圖像與內容圖像的顏色損失,達到保留原始內容圖像顏色色調的目的。
HSV顏色模型[7]采用色相(Hue),飽和度(Saturation)和色明度(Value)來描述顏色信息,其中色相描述的是顏色的種類,飽和度描述的是顏色的濃度,色明度描述的是顏色的明暗度。這種表示方法相比于RGB顏色模型,更符合人對顏色的認知模式,更易于理解。并且人們在顏色的認知上,對于相同色相的不同顏色,在感官上基本被認為是相同的顏色,只是在飽和度上或者在色明度上存在差異,也就是僅僅體現為濃度或亮度有所不同,但仍然可以歸類為相同的顏色。并且在色相維度上,其顏色漸變關系可以表現為數值上的連續性,所以對于兩個色相值差距較小的顏色,可以理解為顏色相近,色相值相差很大的兩個顏色,理解為顏色迥異。所以對于顏色的數學衡量表示,HSV顏色模型適合用于表示顏色的相近的關系,并能進行數值上的減法運算,來衡量顏色的距離,本文提出的改進算法就是基于HSV模型的這一點,來保持遷移后圖像與內容圖像的顏色的相似度。
但是在計算機中的圖片主要使用RGB模式進行圖片的存儲和表示,所以需要將圖片的RGB表示模式轉化為HSV模式,轉換的公式為:

其中R、G、B分別為該圖像點的RGB顏色量的分值,max和min為R、G、B三個值中的最大值和最小值。
經典風格遷移算法主要使用深度學習技術中的深度卷積神經網絡來進行,遷移過程主要是對目標圖像的改進過程,改進過程如下:被訓練的目標圖像通常可以初始化為內容圖像,或者采用隨機高斯噪聲圖像。通過使用預訓練好的卷積神經網絡對目標圖像進行前向計算,預訓練好的卷積神經網絡能夠很好的采集圖像的有用特征,訓練網絡通常使用經典的VGG。在遷移時,預先用該網絡對風格圖像進行卷積計算,得出相應的卷積特征,留作后續計算損風格失值時使用。在后續的遷移過程中不斷地對內容圖像進行卷積特征的采集,并選取若干的卷積特征,來計算目前該內容圖像的損失值,然后采用優化算法針對損失函數進行優化,最后損失值達到全局最優值后,就完成了圖像的風格遷移。
遷移網絡的損失函數主要包含內容損失函數和風格損失函數,內容損失函數衡量的是目標圖像與內容圖像在圖像所要表達的內容之間的距離,可以理解為要表達的事物的差異性,例如當兩個圖像上為不同的姿勢的人時,兩個圖像的內容距離相差較大,但如果兩個圖像上為相同的人,在相同的位置,展示相同的姿勢,但僅僅一個采用寫真風格,一個采用優化風格,但在內容維度上,兩個圖像的距離很近。對于風格損失,指的是圖像的畫風的相似相,例如同一作者的兩個不同內容的油畫,由于畫風一樣,可以理解為具有相近的風格距離。
內容損失函數通常選取神經網絡的某層的神經網絡卷積特征來表示,用該特征矩陣與內容圖像同層特征的均方誤差來衡量遷移圖像與內容圖像的內容距離,第l層的內容損失函數的定義式為:

圖像的風格特征是采用卷積特征的Gram矩陣來衡量,Gram矩陣用來衡量特征矩陣的偏心協方差,以此來表示所有的通道與通道之間的變化趨勢相似性,具有相似風格的圖像的相同特征層的特征矩陣的Gram矩陣具有相似性。Gram矩陣的定義如下:


為了使生成的遷移圖像保持內容圖像原有的色相特征,并且同時具有風格遷移效果,所以考慮只使用HSV顏色模型中的色相(H)維度,來平衡既要保持遷移圖像與內容圖像的顏色相似度,又要保持風格的遷移效果,所以在原有的損失函數的基礎上加入顏色損失函數,顏色損失函數的定義為:

其中hi,j和分別表示內容圖像和遷移圖像在像素點處的色相值。
整體損失函數的定義式為:

其中1α、2α、3α分別為內容損失、風格損失和顏色損失的權重,具體值大小通過實驗確定。cl是選取的用來衡量內容損失的網絡層的層號,lsi是選取的用來衡量風格損失的網絡層的層號,一共選取sn個風格損失特征層,一般采取間隔式選取。
為了驗證本算法改進帶來效果的好壞,本文進行了算法對比驗證實驗,實驗所使用的硬件環境為配置了Intel i7 CPU,32G內存,NVI 2080Ti顯卡的計算工作站,軟件環境為Windows10下的PyTorch開發環境和工具,對于特征提取網絡,我們使用了PyTorch庫包含的經典的VGG19深度卷積網絡[8],對于內容權重、風格權重和顏色權重,經試驗分析后,選取的值分別為1、10000、0.2,內容損失的特征提取層為15層,風格損失的特征提取層為3、8、15、22,優化器選擇的是Adam優化器[9],優化器的衰減因子設定為0.6,衰減周期是800,學習率設定為0.04。
本實驗選取了具有明顯顏色特征的風格圖像,如圖1所示,并且選取了與風格圖像整體顏色區別較大的內容圖像,來做風格遷移,采用了經典的風格遷移算法和本文提出的改進算法進行對比,采用的風格圖像和對比效果圖如圖2所示。

圖1 風格圖像

圖2 遷移效果對比圖
從對比圖中看出,本文的遷移效果能夠保留內容圖像主要的顏色特征,并且能保留遷移風格。對于經典的圖像風格遷移算法,產生的遷移圖像在很大程度上保留了風格圖像的藍色,這與圖像的內容不相符合,但對于本文提出的改進遷移算法,能夠在保持原有內容圖像的顏色特征基礎上,將風格圖像的油畫筆觸特征遷移進來。能夠很大程度上看出原始內容圖像的主體顏色,比如狗的灰白色,牛的黃色,可見本文改進的算法能夠達到保留圖像的主要顏色特征,并同時進行風格遷移的目的。
本文提出對經典風格遷移算法的改進,在遷移算法的損失函數中,加入HSV模型中的色調損失度量部分,并通過實驗驗證,本算法能夠使遷移效果保持原始內容圖像的顏色特點,避免遷移風格的顏色掩蓋內容圖像的所有顏色特征。這種遷移效果可以使得結果圖像更符合人們對圖像主題本身特性的認知,有一定的應用價值。
未來規劃對顏色特征的其他因素,比如色彩的濃度和亮度,來進一步改進風格遷移算法。另外對于圖片中的主體和背景,通常為不同的顏色模式,并且在本題的試驗結果中,可以看到主體和背景會互相干擾,例如狗的渲染圖中,背景的白色中含有狗身上的黃色,牛的渲染圖中,背景的綠色中含有牛身上的黃色成分,所以未來可以嘗試結合目標分割算法,將主體和背景進行區分,達到主體和背景顏色保持原有風格,不受對方干擾,并且突出主體的渲染效果的目標。