陳 佳,董學良,梁金星,何儒漢
(1.武漢紡織大學 數學與計算機學院,武漢 430000;2.湖北省服裝信息化工程技術研究中心,武漢 430000)
近年來,隨著計算機視覺在時尚行業的發展,服裝圖像呈現多樣化的風格。個性化是時尚服裝設計中的一個重要因素,對服裝圖像進行特定相關區域風格遷移有利于服裝設計的個性化與多樣化。服裝圖像風格遷移也是圖像風格遷移[1]的一個重要分支。傳統的非參數圖像風格遷移是一種分析圖像風格的方法,該方法根據風格繪制物理模型或者數學統計模型,對遷移的圖像進行紋理合成,使其更好地貼合所構建的模型[2]。此方法需要繁瑣的推理公式和復雜的數學模型,耗時耗力,導致傳統的非參數圖像風格遷移研究的應用發展緩慢[3]。HERTZMANN等[4]提出一種通過推導圖像特征映射之間的關系,并將此關系看作風格的紋理特征,以實現圖像風格遷移的方法。EFROS 等[2]提出使用物理模型繪制和新紋理合成算法相結合以實現圖像風格遷移的方法。QIN等[5]通過改進Ashikhmin 算法,把統計特性引入相似性度量中,建立了新領域一致性度量方法,實現了圖像間風格傳輸。這類傳統的非參數圖像風格遷移方法能提取圖像的淺層特征而不能提取高層特征,在復雜的服裝圖像背景和光照條件下處理服裝圖像的顏色和紋理時,風格遷移后的服裝圖像效果較為粗糙。
隨著深度學習[6]的興起,GATYS 等[7]提出基于神經網絡的圖像風格遷移算法,通過神經網絡不同層次提取不同特征以分離圖像的內容與風格。然而該方法生成的圖像存在噪聲、不清晰、需大量成對的訓練圖像、需反復迭代、訓練速度慢、占用極大的內存等問題[8],甚至可能導致程序崩潰。2017 年,ZHU等[9]融合GAN 和對偶學習的思想提出了循環生成對抗網絡(Cycle Generative Adversarial Network,CycleGAN),該思想使用2 個生成器和2 個判別器以完成2 種風格域之間的環形轉換,通過添加循環一致性損失以保留圖像的內容信息。LUAN 等[10]在CycleGAN 中加入正則化以防止過擬合來提高圖像的生成質量。雖然CycleGAN 在圖像全局風格遷移工作中取得了很好的效果,但在復雜背景服裝圖像局部風格遷移中存在局部區域難以控制、局部風格遷移后產生邊界偽影的問題。隨著深度學習應用技術[11]的不斷深入,深度學習被越來越多地應用到不同領域。生成對抗網絡[12]作為深度學習的一個分支,被廣泛應用于圖像風格遷移[13]、圖像超分辨率[14]和圖像分類[15]等多個圖像處理的領域。其中,MIU 等[16]提出將圖像語義分割生成的掩碼確定為風格遷移區域,融合圖像未遷移區域以實現圖像的局部風格遷移。LIU等[17]提出一種結合全卷積網絡(FCN)與CycleGAN的圖像風格遷移方法,該方法首先結合全卷積網絡對圖像進行語義分割以確定風格遷移的目標,然后將風格遷移后的圖像與目標進行匹配以確定遷移對象,從而實現局部風格遷移。LI 等[18]提出利用馬爾科夫隨機場將圖像分為許多塊,建立塊之間的聯系而非像素間對應的理念。CHAMPANDARD 等[19]在此基礎上嘗試提出補丁算法以實現圖像不同部分的風格遷移。
LI 等[20]利用生成對抗網絡對人臉圖像中的眼、鼻子、唇等局部區域按指定風格進行上妝,通過引入像素級直方圖損失約束化妝風格的相似性,并將全局損失和局部損失合并到雙重輸入與輸出的BeautyGAN 中,以提取、遷移局部微妙的化妝信息。GU 等[21]使用CGAN 進行掩膜引導肖像編輯,利用掩膜提供的卷積核約束合成人臉的輪廓,再對人臉圖像的某一部分進行風格遷移,雖然CGAN 能夠生成人臉,但細節處不夠真實。基于生成對抗網絡及其擴展的許多成功案例表明:基于生成對抗網絡的圖像生成不同于傳統的非參數物理模型的繪制,前者能夠通過生成器網絡與判別器網絡對抗訓練以提高生成器生成圖像的質量。在文獻[16-17,20-21]中提出與GAN 結合以訓練生成模型的方法,風格遷移后的生成圖像取得了較好的效果,但基于深度學習的圖像風格遷移過程依然存在只注重圖像局部區域依賴關系而忽略全局區域的相關性的問題。
本文提出一種基于注意力機制的CycleGAN 服裝局部風格遷移方法。將注意力機制融入CycleGAN的生成器中,利用注意力機制對服裝各個區域分配權重分布,以建立服裝全局區域的聯系,從而有效地控制風格遷移的局部區域。同時,在損失函數中加入一個基于區域輪廓之間距離定義的損失項d以校正邊界偽影,在變換處理的裁剪風格遷移區域和原始圖像之間實現平滑過渡效果。
本文所提出的基于循環生成對抗網絡的服裝風格遷移模型如圖1 所示。首先,采用VGG16 網絡分別提取所給定內容圖像C1和風格圖像S1的內容特征和風格特征;然后,將上述內容特征和風格特征輸入到基于注意力機制的生成器Gattention中,得到所需的風格遷移服裝圖像Generated_CS;最后,通過判別器DS和Dc分別判別所生成的服裝遷移圖像的風格和內容是否與要求一致。在訓練時,使用改進的循環一致性損失函數指導生成器Gattention進一步改進生成所需的風格遷移服裝圖像。如此循環,形成一個環形的網絡。

圖1 服裝風格遷移的CycleGAN 結構Fig.1 CycleGAN structure of clothing style transfer
本文的判別器網絡DS和Dc采用了文獻[22]的PatchGAN 結構,以對生成器生成的圖像進行真偽鑒別。
注意力機制與人類視覺中選擇性視覺注意力機制類似。通過快速掃描全局圖像而獲取需要重點關注的注意力焦點區域,而后對這一區域投入更多計算資源,以獲取更多所需要關注目標的細節信息,同時抑制其他無用信息。對于2019 年Imat Fashion 挑戰賽數據集中的27個主要服裝對象和19個服裝部件,本文把19個服裝部件作為劃分服裝的N個區域,設x=(x1,x2,…,xn)T,對每一個服裝區域塊xi,i∈(1,2,…,n)通過注意力機制分布權重,權重大的區域獲得更多的關注,并對該權重大的區域進風格遷移。自注意力機制[23]還可根據服裝各個區域的權重分布找到與該權重大的區域相關度高的區域,并對其進行風格遷移。
本文所提出的加入注意力機制的生成器網絡模型如圖2 所示。主要組成部分有:1)下采樣區(Subsampled Area)4 個卷積層提取輸入內容特征 和風格特征的其它特征;2)中間區(Middle Area)8 個殘差模塊層進行圖像轉換;3)上采樣區(Upsampling Area)2 個轉置卷積層還原圖像低級特征,1 個自注意力層關注服裝特定的相關區域,最后由1 個卷積層生成圖像。

圖2 基于注意力機制的生成器網絡模型Fig.2 Generator network model based on attention mechanism
1.2.1 下采樣區模塊
在生成器Gattention網絡的淺層設置下采樣以避免深層卷積核產生過多的浮點運算,通過減小特征圖的尺寸以加速計算及保留輸入特征圖的多種特性,如內容特征和風格特征之外的其他特征,以方便下一個殘差網絡模塊進行特征提取。該下采樣區由4 個卷積層組成,經過4 個卷積層(包含1 個步長為1的卷積層和3 個步長為2 的卷積層)后,輸入的特征圖長和寬的尺寸都縮小為原來的1/8,從而減少特征映射的范圍。
1.2.2 中間區模塊
為更好地保留服裝原圖中沒有進行風格遷移區域的完整信息,本文在基于注意力機制的生成器Gattention中增加了殘差網絡[24]模塊。如圖3 所示,每個殘差網絡模塊層由3 個卷積層組成,第1 個卷積層的輸出乘以δ的權重值與第2 個卷積層的輸出一起作為第3 個卷積層的輸入,如式(1)所示:

圖3 殘差網絡模塊層結構Fig.3 Residual network module layer structure

其中:L1表示殘差網絡模塊層的第1 層輸出;L2表示第2 層輸出;δ為權重參數。
在生成器Gattention中增加殘差網絡模塊以避免因網絡層數的增加而導致梯度消失的問題,加快了模型的訓練速度,殘差網絡內部各層之間的跳躍傳參可以保留原圖一部分沒有進行風格遷移的完整信息,從而提高了服裝風格遷移后的視覺效果。
1.2.3 上采樣區模塊
如圖4 所示,在生成器Gattention的上采樣區第2 層引入注意力機制。首先將通道數為C、尺寸大小為S的服裝圖像向量h∈RC×S的各個局部區域塊x1,x2,…,xn作為Encoder 編碼器網絡輸入,通過非線性變換f轉化為向量編碼hj,在這里每個區域都會被賦予一個權重αij,它的值代表生成第i個區域時,模型對第j個區域的注意力程度。通過Decoder 解碼器網絡的變換函數g合成整個服裝區域中間語義表示g(C1,C2,…,Cn)∈Rc×n,也就是 將圖像 構成元素求和,如式(2)所示:

圖4 自注意力層Fig.4 Self-attention layer

其中,h1=f(x1),h2=f(x2),…,hn=f(xn);xn表示輸入服裝區域的個數;Ci對應著不同服裝區域投入的注意力分配概率分布。
下面通過以下步驟獲取各個區域塊的權重系數αij的值:
1)設定一個服裝風格遷移的局部區域向量qt。
2)輸入服裝的其它區域向量hi與qt并比較相似性,用score 函數計算出分值eij。
3)對score 的eij結果進行歸一化得到αij。其中:eij=score(qt,hi)。score 表示匹配度的打分函數,用向量夾角大小來評判2 個向量的相似性。采用Cosine 相似度計算2 個向量所形成夾角的余弦值,余弦值計算范圍為[?1,1],其值越小表示2 個向量的夾角越小,該向量的相似性越大。αij是對eij采用Softmax 歸一化后概率形式的權重表示。
循環生成對抗網絡的總損失函數L的設計包括前向映射損失L1和后向映射損失L2以及循壞一致性損失L3這3 個部分。為處理局部風格遷移圖像中輪廓線條有時與原圖不精確對應、有時有微小錯位的問題,本文在循壞生成對抗網絡的損失函數中加入了一個基于區域輪廓之間距離定義的損失項d以校正邊界偽影。損失項d是計算源服裝圖像IDT與風格遷移后的服裝圖像I′DT中相同區域輪廓距離差值之和,是基于相同區域輪廓的像素距離定義的損失項,可以容忍微小的錯位,而懲罰過大的錯位。由注意力機制得到集中關注的區域掩模B,整個服裝區域為A,1 張圖像中的每1 個像素點的值為(j,k),損失項d如式(3)所示:

其中:IDT、I′DT分別表示源服裝圖像中每個區域輪廓上的像素到輸出風格遷移前后服裝圖像中相同類型區域輪廓上像素的距離。前向映射損失L1如式(4)所示:

源域圖像通過生成器Gattention生成風格域的圖像,其中Ds為開始學習了部分風格域圖像風格的判別器。
后向映射損失L2如式(5)所示:

風格域圖像通過生成器G2重構源域的圖像,其中Dc是開始學習了部分源域圖像風格的判別器。
從給定數據集中選取1個樣本(x,y),(x∈X,y∈Y),其中,X是源域的圖像,Y是風格域的圖像。生成器被使用了2次,即由x→Gattention→y及y→G2→x,判別器Ds和Dc起到鑒別的作用,確保圖像的風格遷移。循壞一致性損失L3如式(6)所示:

循環一致性損失的目的是為了保持風格遷移后的服裝圖像仍可通過原始風格生成原始服裝圖像。
由以上3 個損失可以得到CycleGAN 的總損失L,如式(7)所示:

其中:w表示前向映射和后向映射相對重要性的權衡參數。CycleGAN 模型的優化目標如式(8)所示:

根據服裝相關區域風格遷移對服裝區域分割的要求,本文選用了2019 年iMat Fashion 挑戰賽數據集中的27 個主要服裝對象(裙子、夾克、連衣裙等)和19 個服裝部件(袖子、前片、后片、口袋、衣領等)作為數據集。該數據集中的每一張服裝圖像由服裝對象中已標注好的各個服裝部件組成。每個服裝部件作為1 個實例已通過實例分割實現了對服裝區域的劃分。不同服裝對象的服裝部件劃分數據集如圖5 所示。

圖5 服裝對象分割圖Fig.5 The clothing object segmentation image
2.2.1 實驗參數
生成器Gattention結構的參數設置如表1 所示,上采樣區的最后輸出層使用Sigmoid 激活函數,下采樣區的卷積神經網絡和中間區的殘差網絡均使用SN 歸一化方法和ReLU 激活函數。實驗中輸入和輸出服裝圖像大小均為256 像素×256 像素。批處理參數batch_size 為20,訓練次數為200 輪,前100 輪的網絡學習率為0.000 2,后100 輪網絡的學習率為0.000 1。訓練中的梯度下降采用Adam 算法優化。設置生成器Gattention網絡的第1 層輸出后的權重參數δ為0.3,在迭代訓練中調整得到權重參數δ。用戶感知評價的標準:0.3a+0.3b+0.4c。用戶感知評價X為15,Y為40,共進行了600 組對比實驗。均方誤差MSE 的權重值W的初始值是0.5,樣本總數n為1 000。

表1 生成器Gattention結構參數設置Table 1 Parameters setting of the generator Gattention structure
2.2.2 測評指標
由于服裝風格遷移的效果具有主觀性,很難單獨使用客觀的量化指標以評估本文的方法。實驗中結合主觀評價指標和客觀的量化指標,采用用戶感知評價、距離相似、均方誤差、風格遷移速度這4 種測評指標對本文方法得到的服裝圖像特定的相關區域風格遷移的效果與其他方法比較。
1)用戶感知評價UE(User Evaluation)是對風格遷移效果的主觀評價指標,對此也設定評價的標準:(1)基于注意力機制的服裝圖像局部區域風格遷移的邊緣是否平滑地嵌入以及邊緣的清晰度;(2)服裝圖像特定的相關區域風格遷移的邊界是否出現風格遷移“溢出”或者“不足”的現象;(3)服裝風格遷移后的兩種風格并存的濾鏡效果。評價步驟如下:首先選擇X個學生,從數據集中隨機挑選Y張測試圖像;然后將Y張測試圖像在不同模型輸出的服裝局部風格遷移圖像提供給用戶進行比較;最后統計學生對各個模型輸出圖像為最佳效果圖的數量A,得到學生對不同模型進行服裝局部風格遷移效果的感知評價,如式(8)所示:

其中:共進行了X×Y組風格遷移效果對比評價實驗。
2)距離相似(Distance Similarity,DS)是評估源服裝圖像X與進行局部風格遷移后的服裝圖像Y數據分布相似度的指標,如式(9)所示:

其中:ηX是X圖像的平均值;ηY是Y圖像的平均值;δX是X圖像的協方差;δY是Y圖像的協方差;是X圖像的方差;是Y圖像的方差;SD 越大表示兩幅圖像的分布結構越相似,圖像質量越高。
3)均方誤差MSE(Mean Square Error)是參數估計值與參數真實值之間差異程度的一種度量,如式(10)所示:

其中:θ是圖像的期望值;θ是圖像的估計值;W是權重值;n是樣本總數。MSE 越小表示與原圖的差距越小。
4)風格遷移速度(Style Transfer Speed,STS)是比較本文方法與其他方法效率的衡量指標。從數據集中隨機挑出600 張服裝測試圖片,對每張服裝圖像局部特定的相關區域進行風格遷移。比較本文方法與其他方法對600 張服裝圖像進行風格遷移的平均耗時。
為了驗證本文提出的方法在服裝局部風格遷移效果上的有效性和優越性,進行了一系列對比實驗。將本文提出的圖像風格遷移方法與MIU 等[16]提出的基于CNN 的圖像局部風格遷移方法、LIU 等[17]運用的FCN 和CycleGAN 結合的圖像局部風格遷移方法、LI 等[20]采用的BeautyGAN 生成圖像局部風格遷移方法進行比較。比較在相同的數據集上不同方法輸出圖像效果的用戶感知評價UE、距離相似DS、均方誤差MSE、風格遷移速度STS。實驗數據如圖6~圖8 和表2 所示,效果圖如圖9 所示。

表2 風格遷移時間Table 2 Style transfer time s

圖6 不同方法輸出圖像為最佳效果圖的數量Fig.6 The number of the output images of different methods are the best renderings

圖7 不同方法的距離相似度Fig.7 The distance similarity obtained by different methods

圖8 不同方法得到的均方誤差Fig.8 The mean square error obtained by different methods
圖6 為通過用戶調研得到用戶對4 種方法進行圖像風格遷移效果的感知評價,結果表明本文方法輸出的效果圖評為最佳圖像的數量最多,證明本文方法與其他3 種方法比較,有效地提高了服裝圖像風格遷移的視覺效果。由圖7 可知,本文方法在生成器網絡中融入注意力機制后,學習和融合了樣本的有效信息,生成的特定相關區域的服裝風格遷移圖像與原圖像的分布結構最相似。由圖8 可知,本文方法與其他3 種方法相比較,產生的均方誤差是最小的,說明本文方法生成的風格遷移圖像質量最好。從圖9 可知,MIU 等[16]、LIU 等[17]、LI 等[20]的方法雖然實現了圖像的局部風格遷移,但圖像風格遷移區域不完整且出現了風格遷移區域偽影邊界和圖像模糊問題。而本文方法在進行風格遷移的相關區域定位準確,原圖和風格遷移區域邊緣的平滑效果好,風格遷移后的整體圖像清晰。綜合來看,本文方法在UE、DS、MSE、STS 這4 項測評指標的數據上優于其他3 種方法,生成風格遷移圖像的質量高于其他3 種方法,驗證了本文方法的可行性。

圖9 不同方法服裝風格遷移效果對比Fig.9 Comparison of clothing style transfer effects in different methods
本文提出一種基于注意力機制的CycleGAN 服裝特定相關區域風格遷移方法。利用注意力機制在各個服裝區域分配概率分布信息,得到注意力分布更多以及相關度更高的區域。在此基礎上,通過循環生成對抗網絡實現服裝特定相關區域的風格遷移。實驗結果表明,本文方法能有效控制服裝風格遷移的局部區域,在經過變換處理的裁剪風格遷移區域和原始圖像之間實現平滑過渡,相較于CNN、FCN、BeautyGAN 等傳統圖像風格遷移方法,其在圖片視覺效果與質量上有一定提升。下一步將設計一種高效的目標檢測與實例分割算法,以實現服裝對象各個服裝部件的準確識別與區域分割,加快風格遷移的速度。