安徽理工大學計算機科學與工程學院 張世程
基于注意力機制的風格遷移模型是目前該領域研究的重點。這類模型可以保證風格化后的結果圖能保留良好的語義信息,同時優(yōu)秀地實現(xiàn)紋理、色彩以及形狀等風格樣式的遷移。但是目前這類模型還沒有考慮過多樣性生成,所有生成的結果都是唯一的。為了彌補這個不足,本文研究如何實現(xiàn)多樣性風格遷移。具體來說,通過在模型的注意力機制中注入一種噪聲矩陣——作為一種風格擾動來提升結果的多樣性。本文的方法不僅可以完美嵌入目前主流的基于注意力機制的風格遷移模型,而且不需要訓練,只需在模型測試階段操作即可。通過理論和實驗兩個方面驗證了提出的方法確實可以提高生成結果的多樣性,在滿足高效性的同時方便代碼實現(xiàn)。
隨著以深度學習為代表的AI技術快速發(fā)展,越來越多的領域開始交叉融合,風格遷移就是將藝術與深度學習技術融合的典型實踐。具體來講,給定一張內(nèi)容圖和一張目標風格圖,風格遷移的目的就是將原始內(nèi)容圖的風格轉化為目標圖的風格,同時保證原始內(nèi)容的語義信息不丟失。目前,以手機美顏為代表的各類修圖軟件大量使用了相關技術,為人們提供休閑娛樂功能。
最近,自注意力機制在各種計算機視覺應用領域中大放異彩,如:目標檢測、語義分割等。在風格遷移中也出現(xiàn)了許多使用自注意力機制的研究工作,這類算法往往具有良好的遷移效果。但是目前這類算法普遍存在一個問題:只能生成唯一的結果。眾所周知藝術不是單調(diào)唯一的,應該是多樣的。多樣性是普遍存在于這個世界上的,這就像世界上沒有兩片相同的葉子一樣。因此,解決風格遷移的多樣性問題不僅是藝術所追求的,也是促進風格遷移實際落地應用的必要保證。
風格注意力機制[1]是自注意力機制(Self-attention)的一種應用。對于給定的內(nèi)容特征和風格特征,風格注意力機制通過計算內(nèi)容特征和風格特征之間的特征相似性獲得一個加權矩陣,之后通過加權矩陣來重組內(nèi)容圖的風格,即完成了風格遷移。如圖1所示為加噪的后的風格注意力機制,與原始的風格注意力相比,多了一個噪聲。
圖1 加噪后的風格注意力機制Fig.1 The style-attentional mechanism after adding noise
為了提升生成圖片的多樣性,目前視覺領域中最常用的手段就是噪聲注入。本文提出兩種加噪方案,下面通過形式化語言來描述并且證明兩種方法的可行性。
方案1:擾動加噪
根據(jù)圖1所示,輸入內(nèi)容特征圖Fc,風格特征圖Fs,使用一個實例歸一化操作,減去各自通道特征的均值并除以方差變?yōu)楹虵s。Wq,Wk,Wv是 三 個1×1卷 積,主要提供非線性映射:
Q,K,V表示為三個嵌入向量。之后通過Q,K計算相似度矩陣S并使用Softmax函數(shù)歸一化矩陣的值。因為Softmax函數(shù)的功能只是將值放縮到(0,1)之間,不影響模型的整體功能,因此可以忽略這一項簡化表示為:
那么最后可得到風格化的特征向量Fcs為:
上面介紹的是一個簡單的未加噪聲的風格注意力機制計算過程。根據(jù)圖1所示,噪聲加入的位置為Q,K計算相似度矩陣后。記加噪以后的相似度矩陣為S*=S+Z,其中Z為噪聲,那么此時風格化的特征向量表示為:
根據(jù)Gatys[1]關于Gram矩陣的定義,得到加噪前后的兩個Gram矩陣和, 則:
我們將P矩陣定義為多樣性矩陣,表示加噪前后兩個特征圖之間的差異,那么這種差異性可以隨著加入的噪聲Z改變。由于不同的Gram矩陣可以表示不同的風格,兩個有差異的Gram矩陣可以看做是兩種風格。即加噪前后得到的風格化特征Fcs和有不同的風格。但是這種差異性整體并不大,這種細小的風格差異就可以看作是同種風格的多樣性體現(xiàn)。
方案2:稀疏化
除了在相似度矩陣中直接加入噪聲,對于S也可以使用稀疏化方法來實現(xiàn)多樣性。所謂的稀疏化指的是讓相似度矩陣中部分區(qū)域的值變?yōu)?,整個矩陣因為有許多為0的值而成為一個稀疏矩陣。雖然實現(xiàn)手段不同,通過下面等式可以證明稀疏化是上述方案1的一種特例。
我們記相似度矩陣S為n×m的矩陣,表示為:
記稀疏化后的矩陣為R,表示為:
那么R即可表示為:
其中矩陣U可以看作是部分位置取相反值的噪聲矩陣,而R=S+U形式與方案1的形式一致,因此證明了方案2也是方案1的一種特殊形式。對于稀疏化,可以直接使用PyTorch提供的Dropout函數(shù),因此該方案實現(xiàn)也十分簡單。
實驗所選的操作系統(tǒng)為Ubuntu 20.04,處理器為Intel i5 10400,顯卡為一張RTX3060,內(nèi)存為16g,運行環(huán)境為PyTorch1.8.1。為了評估生成結果的多樣性,本文使用Wang[2]發(fā)布的數(shù)據(jù)集并按照他們測試方法進行多樣性比較。數(shù)據(jù)集共有6張內(nèi)容圖和6張風格圖,實驗前對圖片進行預處理,將圖片大小統(tǒng)一調(diào)整為512×512大小。該數(shù)據(jù)集可以同時生成36種風格化組合,對于每種風格化組合隨機生成20張圖片,并兩兩計算這20張圖之間的多樣性,最終對36種風格化組合的計算結果取平均。
本文實驗同時驗證上述兩種方案的可行性。對使用了風格注意力機制的模型SANet[3],MAST[4],AdaAttN[5],IEContraAST[6]進行實驗,以此來驗證提出方案的普適性。對于方案1,本文選擇加入的噪聲Z服從N(0,α2) 的正態(tài)分布,其中α為超參數(shù)可以控制加入噪聲的大小,實驗設置中為15。對于方案2,使用PyTorch提供的Dropout函數(shù),參數(shù)設置為0.7,表示將相似度矩陣中約70%的值設為0。
2.2.1 視覺效果
風格遷移中視覺感受尤為重要,本節(jié)從生成圖片視覺差異上進行對比,驗證生成的結果是否能讓人從肉眼上分辨出多樣性。如圖2所示是生成的結果圖。其中最左邊的是內(nèi)容圖和風格圖,右邊上半部分是方案1生成的結果,下半部分是方案2生成的結果。通過觀察,方案1生成的三張長頸鹿圖片的脖子斑點存在明顯的差異,而方案2中長頸鹿的臉頰斑點明顯也存在差異。細致對比,可以發(fā)現(xiàn)這種差異有很多。但是無論差異再大,這幾張圖之間整體的風格是一致的。因此可以斷定從視覺上確實可以觀察到生成結果的多樣性。
圖2 視覺效果對比Fig.2 Visual effect comparison
2.2.2 指標度量
這一節(jié)通過度量指標來驗證生成結果的多樣性。本文使用三個度量指標:Pixel distance用來比較圖像在RGB空間內(nèi)像素之間的歐氏距離,Lipips distance比較圖像在特征空間的相似性,這兩個指標越大表明圖像之間的差異性越大,即多樣性越高。指標Efficiency通過計算單張圖片的生成時間來比較方案的效率高低,數(shù)值越小越佳。如表1所示展示了實驗結果,其中Origin表示原始不加噪的結果,Perturbation表示方案1,Sparsity表示方案2。
通過表1可以發(fā)現(xiàn)在不同的模型上,方案1在提升圖像多樣性上面都優(yōu)于稀疏化方案,相反在運行效率上方案2優(yōu)于方案1。對比不同的模型,SANet在實驗設定的參數(shù)下多樣性提升最為巨大,而AdaAttN在多樣性提升方面則最少。為什么不同的模型存在這樣的差異,這個問題可以留給未來的工作去研究??傊?,上述兩者方法都達到了預期目的。
表1 不同模型以及不同加噪方案結果對比Tab.1 Comparison of results under different models and different noise-adding schemes
本文提出了一種基于注意力機制的多樣性圖像風格遷移方法,保證模型能夠生成多樣性的結果。我們通過在原始的注意力機制中注入擾動矩陣來提升風格化后圖像的多樣性。理論和實驗證明提出的方法對于目前主流的幾個基于注意力機制的風格遷移模型都適用,這為實際應用和進一步研究提供了有益思路。