趙 乙, 何 嘉
(成都信息工程大學計算機學院,四川 成都 610225)
近年來,由于時尚產業的巨大潛力,服裝的視覺分析也成了研究的一大熱門。但是服裝圖像通常因為場景姿勢的問題,存在遮擋,以及消費者與商業圖像在服裝領域有所不同,在實際的應用中,消費者對于服裝圖像的理解還有一些挑戰[1]。
對于服裝設計師來說,服裝圖像的準確分割可以更好地獲取消費者的穿著喜好信息,也可以提升自己的工作效率[2]。同時,消費者可以更方便了解服裝信息。對于服裝圖像的處理和視覺分析,獲得清晰的輪廓和更好的分類服裝、織物和纖維圖像[3]是后續處理的必要條件之一。
服裝圖像的分割由于服裝本身屬性繁多,面料款式紋理均有所不同,時常還受背景顏色的制約[4]。例如,圖片中模特穿著上衣和短裙時,很容易被機器理解為連衣裙,因為這樣的搭配外觀上較為相似[4]。并且在實際場景下,每張服裝圖像尺度差異較大。因此,如何解決多尺度服裝圖像分割以及將服裝圖像進行特征融合是服裝圖像語義分割中亟待解決的問題。
文獻[5]提出了一種自動推薦服裝的方法,這種方法需要先識別人體的姿態,再確定出服裝的區域,最后把服裝部分分割出來。該方法實現了服裝的自動推薦,但是這種模型分割的精確度非常低。文獻[6]通過巨大的數據集檢索來查看相似衣服以標記查詢的圖像。針對服裝圖像分割方法通常需要依賴于人體姿勢的問題,文獻[7]提出了在不考慮人體姿態的情況下改進的圖像分割方法。該方法利用條件隨機場模型,很大程度減輕了紋理復雜服裝的過度分割以及估計不準確,但是對膚色類似的情況效果較差。白美麗等[8]提出了自監督學習框架,與Deeplabv2網絡結合形成端到端的深度卷積網絡框架,將人體姿態加入服裝解析中,但服裝分割的邊界依舊不準確,且前景和背景無法很好地分離。
自2012年AlexNet[9]成立以來,深度學習快速發展。深度卷積神經網絡(DCNN)[10]與傳統的機器學習方法相比,提取特征的功能比較強大。在圖像分割領域,基于全卷積網絡(FCN)[11]的最新方法得到了大力發展。
最近Deeplabv3+[12]語義分割網絡已經普遍和流行,王中宇等[13]通過在Deeplabv3+中引入卷積塊注意力模型得到了分割圖像的簡單方法,使邊緣目標分割更加精細,最終將改進的網絡運用于自動駕駛場景中。
基于以上提到的問題,文中將通道注意力機制和位置注意力機制引入Deeplabv3+模型,將雙注意力機制與ASPP模塊進行并行,形成CPAM模塊,并通過DeepFashion2數據集驗證了改進模塊后網絡的效果。
Deeplabv1版本提出空洞卷積操作,擴大感受野,獲取更稠密的特征圖。v2版本在v1版本基礎上提出ASPP結構,該結構使用空洞卷積對特征圖進行采樣操作,再連接條件隨機場以便于獲取更為精準的分割圖像。v3版本去除了全連接條件隨機場(CRF)操作,將ASPP結構改為3個3×3卷積操作,空洞率分別為6、12、18,再連接全局平均池化。Deeplabv3+網絡在v3基礎上又添加了編碼-解碼結構,中間部分進行一次上采樣,最后再進行一次上采樣,其完整的網絡結構如圖1所示。改進后的網絡利用卷積層對輸入的服裝圖像進行特征提取,接著使用池化層降低特征圖的維度,這個過程也叫作下采樣。下采樣的過程會導致信息丟失嚴重,這對語義分割任務不利。故而Deeplabv3+在深度特征提取網絡中加入ASPP模塊,不僅可以增加感受野,還能減少下采樣過程中的信息損失。此外,Deeplabv3+網絡還能達到對多尺度目標的分割能力。

圖1 Deeplabv3+網絡結構
最后,為減少下采樣過程中丟失信息對分割造成不利影響,Deeplabv3+采用Encode-Decode結構,使用Encode結構進行特征提取,使用Decode進行上采樣。在上采樣過程中融合較低層次的特征,恢復目標部分邊界信息,上采樣過程使用的是線性插值方法。
1.2.1 通道注意力模塊
在深度學習的領域,通道注意力機制[14]得到更加頻繁的使用。通道注意力模塊用于語義分割時,不同的通道特征圖存在緊密度不同的聯系,提取不同通道的語義信息,可以使相互聯系的特征圖更加突出。通道注意力模塊如圖2所示。

圖2 通道注意力模塊
通道注意力直接通過M∈RC×H×W計算出通道注意力圖 X∈RC×C

式中,Mi代表第i個元素值;(M')T表示轉置矩陣的第j個元素值;Xij表示第i個通道對第j個通道的影響因子。對X轉置后與M'做矩陣乘法,與參數β相乘后再與矩陣相加得到最終結果F,如式(2)所示。

式中,β初始為0。由式(2)可知,每個通道最終特征都是所有通道特征與原始通道特征的加權和。
1.2.2 位置注意力機制
位置注意力機制如圖3所示。位置注意力模塊旨在使用整個圖像中的任意兩點之間的關聯增強其各自特征的表達式,還可以捕獲全局空間上下文信息。

圖3 位置注意力模塊
通過主干網絡可以得到局部特征信息N∈RC×H×W,經過兩次維度變換和一次轉置操作,得到位置注意力B。如式(3)所示。

式中,Oi表示矩陣O第i個位置的元素,Qj同理。N為通道當中元素的個數,將L進行維度變換后與B的轉置矩陣進行乘法操作,最后再經過一次維度變換,轉換成 RC×H×W形狀的 P 矩陣

式中,Bji為矩陣B的第i個位置元素;α為可學習的參數,初始值為0。每個位置最后得到的特征P是所有位置和原始位置的特征進行加權得到的。因此,能夠根據位置注意力圖使上下文信息得到更好的聚合,同時相似的特征權重更高能夠起到相互促進的作用。
Deeplabv3+中的ASPP模塊使用空洞卷積進行特征融合,使用的是空洞率不同的卷積操作。這是由于若空洞率過大則容易丟失部分特征,導致大尺度目標再分割時容易有棋盤格類型的空洞現象,這就會使大尺度目標分割的準確率降低。基于此,本文采用通道注意力和位置注意力模塊與ASPP并行的方法,以彌補上述不足。并且,采用實驗對比雙注意力機制和單注意力機制的差距,改進后的Deeplabv3+網絡結構如圖4所示。

圖4 Deeplabv3+添加CPAM模塊
圖4是添加雙注意力模塊后的整體結構。可以看到卷積層的輸出結果,會與空間金字塔池化[15]進行并行,并進行兩次上采樣得到預測圖像。
為驗證本文所提方法的有效性,選擇了DeepFashion2[16]數據集。該數據集是時尚研究團隊使用的最流行的數據之一,使用了高分辨率的服裝圖像。
實驗選用了該數據集中帶有細粒度標識的圖像共19.2萬張,這些圖像都來自于不同平臺的賣家和買家圖片,差異度大,背景各有不同。實驗使用DeepFashion2作為改進網絡驗證數據集,它的標注量是Deepfashion的3.5倍。其中有49.1萬張圖片,共有4.38萬個服裝標識,該數據集能夠支持服裝檢測、分類、分割以及服飾檢索。在實驗中,使用到DeepFashion2數據集中19.2萬張帶有細粒度標簽的服裝圖像。數據集設置了13個服裝類別標簽,short_sleeve_top,long_sleeve_top,long_sleeve_outwear,short_sleeve_outwear,vest,sling,shorts,trousers,skirt,short_sleeve_dress,long_sleeve_dress,vest_dress,sling_dress。實驗中不再更改圖像的格式。
為保證實驗的公平性,使用了控制變量的方法將原網絡和改進網絡設置相同的超參數,4個實驗均將初始化學習率設置為0.0005,batch size設置為2,學習率使用多項式衰減方式,網絡優化方法使用momentun,動量為0.9,weight decay設置為0.0005,并使用在ResNet101主干訓練過的權值作為訓練前的權值。實驗在Windows10系統中執行,處理器為AMD Ryzen 5 3600X 6-Core Processor 3.80 GHz,顯卡型號是NVIDIA GeForce RTX 2070 SUPER,顯存為8GB。深度學習框架為pytorch1.6.0。
語義分割有許多指標可以用來衡量算法的精度,實驗選用準確率(accuracy)、平均交并比(mIoU)和頻權交并比(FWIoU)3種指標來評價網絡的精度。以上3種標準值越高,代表預測的效果越好。
為驗證雙注意力機制方法在Deeplabv3+結構中的有效性,設計了4個實驗,分別是Deeplabv3+網絡、在Deeplabv3+加入通道注意力機制的網絡、在Deeplabv3+加入位置注意力機制的網絡、同時在Deeplabv3+加入通道注意力機制和位置注意力機制的網絡進行對比,實驗結果如表1所示。由表1可以看出,在Deeplabv3+加入注意力機制后的網絡更加具有優勢,其對于Deeplabv3+的性能都具有促進作用。其中,同時加入通道注意力和位置注意力之后的網絡效果最好,不加入的網絡,總體準確率是84%,mIoU是34%,FWIoU是79%。由此可見,加入雙注意力的結構性能優于其他結構。

表1 注意力機制的消融實驗 單位:%
表2比較了經典分割網絡FCN-8S、Deeplab系列網絡中的Deeplabv2以及其他作者在這個系列網絡上改進的網絡,共5個實驗。通過比較本文設計的雙注意力模塊結構與其他圖像分割網絡在DeepFashion2中的結果,得到如下結論:加入CPAM模塊的網絡在Deepfashion2的測試集上的分割精度相較于其他比較的網絡都有所提高,這證明了改進網絡在分割精度上有很大的提高。

表2 本文方法與其他分割網絡結果對比 單位:%
實際環境中,服裝圖像會受各種外在因素的影響,例如服裝花紋和場景相似、服裝紋理復雜、服裝款式復雜等因素,使得服裝圖像的分割很容易將不同目標分割成同一個,且分割的精度不高。另外,當服裝顯示不完全或者服裝圖像比例過大時,可能會有分類不準確的情況出現。由于Deeplabv3+具有多尺度特征,可以將小標簽的物體分割出來,且通過加入雙注意力模塊,網絡能夠較好地融合上下文信息,且對相似特征有更好的促進作用。
圖5展示了本文提出的CPAM改進Deeplabv3+的模型與傳統分割方法和Deeplabv3+對比實驗的效果圖。從圖5顯示的效果來看,文獻[17]使用傳統方法分割的圖像較為粗糙,缺少大量的邊緣細節,且服裝邊界參差不齊,瑕疵較多。剩下的兩種都基于Deeplab系列網絡,實驗結果可知,單獨的Deeplabv3+網絡不如本文改進的網絡結構效果好,尤其是在大的服裝類型方面。本文提出的CPAM模塊加入Deeplabv3+后,較Deeplabv3+的分割精度提高明顯,且在細節部位優化的效果更好,整體的分割精度也優于其他方法。

圖5 不同方法可視化結果
采用CPAM模塊的Deeplabv3+深度語義分割網絡對服裝圖像進行分割,并利用DeepFashion2訓練集對模型進行訓練和測試,得到的主要結論為:
服裝圖像的分割需要服裝語義和上下文線索的更高級別的信息。針對服裝圖像語義分割準確度較低的問題,提出一種基于Deeplabv3+的雙注意力機制深度神經網絡來解決服裝圖像分割問題,結合兩種注意力機制與ASPP模塊并行,實現了端到端的深度卷積框架,該方法可以獲取通道和位置上的上下文信息,注重對重點通道和重點位置的特征。實驗結果表明,基于Deeplabv3+改進的模型能夠提高服裝圖像的分割效果,能夠有效地將前景與背景分開,減少背景對整體服裝分割的影響。
由于網絡模型參數較多,對計算機的運算能力是一個挑戰,且由于服裝款式眾多,以及圖片中服裝位置的不同,可能對服裝的分割有很大的影響。當服裝部分占全圖大部分內容時,網絡對服裝的分割準確率較低。后期將考慮運用模型壓縮和枝剪對算法進行優化,以期做到在網絡性能不變的情況下,輕量化模型。