胡新榮,龔闖,張自力,朱強,彭濤,何儒漢
(1.湖北省服裝信息化工程技術研究中心,武漢 430200;2.紡織服裝智能化湖北省工程研究中心,武漢 430200;3.武漢紡織大學 計算機與人工智能學院,武漢 430200)
近年來,隨著服裝設計行業的發展和在線購物的興起,服裝圖像的視覺解析變得越來越重要。其中對服裝圖像分割有利于將服裝進行細分和歸類。一方面,服裝圖像的分割細分了不同的服裝部件,給設計師帶來創作時尚新品的靈感。另一方面,消費者面對服裝圖像的精細分割,不僅可以獲取更好的穿著偏好,而且可以進一步了解服裝信息,提升購物體驗感。
服裝分割方法主要利用手工設計的特征和預估的人體姿態預測像素級標注。文獻[1]提出一種應用于服裝領域的分割框架,但該方法需要在圖像的像素標注上耗費巨大的人力物力和時間成本;文獻[2]提出一種弱監督的方法,雖然該方法省時省力,僅需使用基于服裝圖像顏色進行標注的標簽和人體姿態估計,但該方法仍然有過于依賴人體姿態的弊端;文獻[3]提出一種用于針對服裝復雜紋理圖像的服裝解析改進方法,但該方法對服裝復雜不規則的相似顏色紋理解析較差。
隨著深度學習領域的快速發展,深度卷積神經網絡(Deep Convolutional Neural Networks,DCNN)表現出強大的特征提取和表征能力。基于全卷積網絡(Fully Convolutional Networks,FCN)[4]端到端經典語義分割模型的出現,雖然取得了很大的成功,但由于網絡結構固定,FCN 也顯露出了諸多弊端,例如:沒有考慮全局上下文信息,將特征圖上采樣還原成原圖大小的圖像會造成像素定位不準確。文獻[5]提出用于生物醫學圖像分割領域的U-Net 網絡,不過在做多分類的任務時,U-Net 卷積網絡不僅分割的邊緣輪廓較差,而且容易造成顯存溢出。文獻[6]提出將FCN、SegNet 和邊緣檢測結合的集成學習方法,該方法在分割高分辨率的遙感圖像時既減少了分割誤差,又提高了分割精度。在處理外觀較為相似的物體時,PSPNet[7]網絡使用了空間金字塔池化,對不同區域的上下文進行聚合,提升了網絡利用全局上下文信息的能力。此 外,SegNet[8]、RefineNet[9]等語義分割網絡均采用編解碼結構捕獲細節的信息,提高了分割精度。文獻[10]提出的語義分割網絡利用服裝語義分析預測圖結合學習到的人體關節信息,能更好地定位服裝分割區域,解決了過度分割過程中依賴手工設計特征和依賴人體姿態等問題。該方法分割性能較高,但對深層特征圖的語義信息提取不夠充分,且會導致空間信息的丟失,該方法在對現實生活中的復雜服裝圖像或者包含繁瑣干擾性極強的背景圖像進行分割時,分割的效果仍然不夠理想。
目前注意力機制廣泛應用于深度學習領域,特別是在圖像處理方面發展迅速。文獻[11]設計了DANet 網絡,通過引入自注意力機制,并融合局部語義特征和全局依賴,提高了分割精度。文獻[12]提出SENet 網絡,簡單地壓縮每個二維特征圖以有效地構建通道之間的相互依賴關系,CBAM[13]進一步推進了該方法,通過大尺寸內核的卷積引入空間信息編碼。
為了應對較為復雜的服裝分割任務,本文提出一種基于改進Deeplab v3+的服裝圖像分割網絡。采用語義分割性能較好的Deeplab v3+網絡[14],并引入注意力機制,利用Coordinate Attention 機制捕獲得位置信息和通道關系,從而更有針對性地獲學習目標區域的特點,獲取更好的精細圖像特征。在此基礎上,為提取高層特征圖的語義信息,引入語義特征增強模塊,通過對不同大小的特征圖應用non-local注意塊來處理不同大小的服裝圖像,并將每個non-local 注意塊的輸出進行融合,增強更深層的語義特征。
本文的服裝分割網絡使用深度學習語義分割領域性能較好的Deeplab v3+網絡及其相關改進網絡。下文依次介紹服裝分割過程圖、Deeplab v3+網絡和改進Deeplab v3+的網絡。
本文的服裝分割方法主要是基于改進的Deeplab v3+網絡。首先獲取服裝數據集,處理服裝數據集的標簽,得到處理完成的服裝數據集。然后將服裝數據集作為輸入送入到服裝分割網絡中進行訓練,當網絡損失收斂到一定程度,且在驗證集的準確率趨于飽和時停止訓練,得到最終服裝分割網絡。最后輸入服裝圖像到訓練好的服裝分割網絡進行預測,得到不同種類的服裝預測分割圖像。具體的服裝分割流程如圖1 所示。

圖1 服裝分割流程Fig.1 Clothing segmentation procedure
Deeplab v3+是由谷歌公司開發的一種使用空間金字塔模塊和編解碼器結構的語義分割網絡。Deeplab v3+的核心思想是利用端對端的訓練方式,該網絡的編碼器結構由骨干網絡resnet101 和ASPP[14]模塊組成,resnet101作為骨干網絡,提取圖像生成的高級語義特征圖,后面連接ASPP 模塊,含有多個空洞卷積擴張率,用于將resnet101 生成的高級特征圖進行多尺度采樣,得到多尺度的特征圖,將得到的特征圖在通道維度上進行組合,最后送入到卷積核大小為1×1 的卷積核,以此降低通道維度。解碼模塊將編碼模塊得到的降維特征圖進行4 倍上采樣與resnet101 中間的原圖1/4 大小的高層特征圖融合,再進行雙線性插值上采樣。編碼模塊的特征圖獲取的是圖像語義信息,resnet101 中間下采樣獲取圖像的細節信息。Deeplab v3+的網絡結構如圖2 所示。將Deeplab v3+網絡用于服裝分割領域,可以發現該網絡在對服裝進行分割時,存在對服裝的輪廓分割略顯粗糙,遇到復雜背景分割錯誤等問題。

圖2 Deeplab v3+網絡結構Fig.2 Deeplab v3+network structure
近幾年出現的注意力機制廣泛地應用于深度學習的諸多領域[15-16]。注意力機制的作用可簡單地解釋為:告訴模型“什么”和“在哪里”出現,已經被廣泛研究[17-18],并被用來提高現在深層神經網絡的性能[12,19-21]。注意力機制[22-23]已經被證明在各種計算機視覺任務中有幫助。因此,本文將Coordinate Attention[24]引入到Deeplab v3+網絡中,有效地捕獲位置信息和通道信息之間的關系,以此來提高服裝分割的精確度。在Deeplab v3+原網絡中訓練服裝分割數據集,通過resnet101 下采樣提取到特征圖,僅為輸入網絡圖像1/16 大小的特征圖,考慮到高層卷積提取的特征圖較小,得到的特征比較抽象,本文將resnet101 提取到較小的高層特征圖經過語義特征增強模塊,有效地獲取更加豐富的語義信息。
下文將分別介紹Coordinate Attention 機制、語義特征增強模塊(SFEM)[25]和CA_SFEM_Deeplab v3+網絡結構。
1.3.1 Coordinate Attention 機制
Coordinate Attention 是一種具有輕量級屬性的注意力方法,它能有效地捕獲位置信息和通道信息的關系。Coordinate Attention 是一個計算單元,旨在增強學習特征的表達能力,它可以取任意中間特征張量X=[x1,x2,…,xc]?RC×H×W作為輸入,并且輸出與X大小相同的具有增強表示的變換張量Y=[y1,y2,…,yc]。Coordinate Attention 通過精確的位置信息對通道關系和長期依賴性進行編碼,具體操作分為Coordinate信息嵌入和Coordinate Attention 生成兩個步驟。Coordinate Attention 結構如圖3所示。

圖3 Coordinate Attention 結構Fig.3 Coordinate Attention structure
1)Coordinate 信息嵌入全局池化方法通常用于通道注意力編碼空間信息的全局編碼,如SE(Sequeze and Excitation)block[12]擠壓步驟,給定輸入X,第c個通道的壓縮步驟可以表示為如式(1)所示,由于它將全局信息壓縮到通道描述符中,導致難以保存位置信息。為了促使注意力模塊能夠捕捉具有精確位置信息的遠程空間交互,按照式(1)分解全局池化,轉化為一對一維特征編碼操作:

其中:zc表示第c通道的輸出;xc(i,j)表示第c通道的高度坐標i和寬度坐標j位置特征圖的數值;H和W分別為特征圖的高度和寬度。
具體地,給定輸入X,首先使用尺寸為(H,1)和(1,W)的池化核分別沿著水平坐標和垂直坐標對每個通道進行編碼。因此,第c通道的高度為h的輸出可以表示為:

第c通道的寬度為w的輸出可以寫成:

上述兩種變換分別沿兩個空間方向聚合特征,得到一對方向感知的特征圖。這與在通道注意力方法中產生單一的特征向量的SE block 非常不同。這兩種轉換也允許注意力模塊捕捉到沿著一個空間方向的長期依賴關系,并保存沿著另一個空間方向的精確位置信息,這有助于網絡更準確地定位感興趣的目標。
2)Coordinate Attention 生成如上所述,已經可以很好地獲得全局感受野并編碼精確的位置信息。為了利用由此產生的特征,給出了以下兩個變換,稱為Coordinate Attention 生成。通過信息嵌入中的變換后,由式(4)和式(5)產生的聚合特征圖進行了拼接(concatenate)操作,使用1×1 卷積變換函數F1對其進行變換操作:

其中:[·,·]是沿空間維度的拼接操作;δ為非線性激活函數;f∈RC/r×(H+W)是對空間信息在水平方向和垂直方向進行編碼的中間特征圖,r是用來控制SE、SE block 大小的縮減率,然后沿著空間維度將f分解為2 個單獨的張量fh∈RC/r×H和fw∈RC/r×W。利用另外2 個1×1 卷積變換Fh和Fw分別將fh和fw變換為具有相同通道數的張量輸入到X,得到:

其中:σ是sigmoid 激活函數。為了降低模型的復雜性和計算開銷,通常使用適當的縮減比r來縮小f的通道數,然后對輸出gh和gw進行擴展,分別作為注意力權重。最后Coordinate Attention 塊的輸出Y=[y1,y2,…,yc]可以得到:

1.3.2 語義特征增強模塊
CNN 網絡深層包含語義特征,這些特征對檢測和分割目標最重要。為了充分利用語義特性,受金字塔池[26-277]啟發,本文引入了語義特性增強模塊(SFEM),SFEM 結構如圖4 所示。
如圖4(a)所示,SFEM 由3 個平行分支的non-locol塊組成,它將編碼器特征圖的輸出作為輸入,對特定大小的小塊分別運用non-local 注意力,而不是自適應平均池化。第一個分支將圖像分成4 個大小相同的小塊(W/2×H/2),對每個塊分別進行non-local 空間關注,然后將其折疊起來,如圖4(b)所示。類似地,第二個分支產生16 個大小(W/4×H/4)的小塊,并對每個塊執行與第一個分支相同的操作。在本文的實驗中,將編碼器的輸出特征圖的大小設置為32×32。因此,第一個分支包含4 個大小為16×16 的小塊,第二個分支包含16 個大小為8×8 的小塊,最后一個分支對大小為32×32 的整個特征圖執行non-local[28]操作。這3 個分支的輸出串聯之后,再送入到處理擠壓和激勵塊(SE 塊),用于處理最重要的通道,將SE塊[12]的結果發送到所有解碼器層。為了匹配每個解碼器層的大小,對SFEM 的輸出進行了上采樣。
如圖4(b)所示,以SFEM 結構中第一條分支為例,描述了圖像應用non-local 注意力的詳細版本,首先將圖像分割成多個小塊,然后對每個小塊單獨應用non-local 注意力,最后將其折疊回整個圖像。
1.3.3 CA_SFEM_Deeplab v3+網絡結構
在Deeplab v3+原網絡中訓練服裝數據集,雖然可以分割出各類服裝和背景,但效果一般。本文考慮在主干網絡resnet101 中引入1.3.1 節介紹的Coordinate Attention 機制,沿一個空間方向捕獲遠程依賴關系,同時沿著另一個空間方向保留精確的位置信息。最后將生成的特征圖分別編碼為一對方向感知和位置敏感的attention map,可以將其互補地應用于輸入特征圖,以增強關注對象的表示。本文考慮將經過ASPP 之后的特征圖,送入語義特征增強模塊(SFEM)進一步提取,不僅能夠增強高層特征的語義信息,而且可以保證不丟失空間信息。CA_SFEM_Deeplab v3+網絡結構具體描述如下:將嵌入Coordinate Attention 機制的主干網絡resnet101 提取的高層特征圖輸入到ASPP 結構,對主干網絡提取的特征圖以不同采樣率的空洞卷積并行采樣,以多個比例捕獲圖像的上下文得到多種特征圖,將這些特征圖融合送入1×1 卷積之后得到256 通道的特征圖,此后將該256 通道的特征圖輸入到兩條不同的分支分別處理。第一條分支:256 通道的特征圖先進行4 倍上采樣,之后輸入到Nonlocal 中,得到第一條分支的特征圖;第二條分支:將256 通道的特征圖輸入到特征增強模塊(SFEM)進一步提取特征,將SFEM輸出的特征圖進行4 倍上采樣,得到第二條分支的特征圖。此后將第一條、第二條分支的特征圖和resnet101 中間的原圖1/4 大小高層特征圖融合,將融合的特征圖進行降采樣和卷積,最后將輸出的特征圖進行4 倍上采樣得到預測分割圖片。CA_SFEM_Deeplab v3+的網絡結構如圖5 所示。

圖5 CA_SFEM_Deeplab v3+網絡結構Fig.5 CA_SFEM_Deeplab v3+network structure
本文實驗的數據集來源于DeepFashion2[29],DeepFashion2 是一種大規模的基準數據集,具有全面的任務和時尚圖像理解的標注。DeepFashion2 包含49.1 萬張圖像,具有13 種流行的服飾類別,在這個數據集上定義了全面的任務,包括服飾檢測和識別、標記和姿態估計、分割、驗證和檢索。所有這些任務都有豐富的標注支持。DeepFashion2 擁有最豐富的任務定義和較大數量的標簽,它的標注至少是DeepFashion[30]的3.5 倍、ModaNet[31]的6.7倍和FashionAI[32]的 8 倍。基于以上這些特點,DeepFashion2 非常適合作為本文實驗服裝分割的數據集。將標簽json 文件轉為單通道分割png 標簽圖,為了方便可視化,本文將單通道的標簽圖轉為RGB彩色標簽圖(彩圖效果見《計算機工程》官網HTML版),如圖6 所示。

圖6 DeepFashion2 數據集樣本Fig.6 DeepFashion2 dataset sample
由于DeepFashion2 數據集十分龐大,考慮到本文實驗的硬件限制和訓練時間成本,故選取DeepFashion2 中77 848 張圖片用于訓 練,10 492 張圖片用于評估,10 568 張圖片用于測試。
本文采用的量化指標分別是類別平均像素準確率(Mean Pixel Accuracy,MPA)和平均交并比(mean Intersection over Union,mIoU)。
MPA 表示分別計算每個類別被正確分類的像素數的比例,計算公式見式(8)。作為性能的評價指標,mIoU 是語義分割實驗中常用的度量指標,交并比是計算真實集合和預測集合的交集與并集之比。在每個類上計算交并比,求和平均值,得到平均交并比,計算公式見式(9)。其中:k+1 表示類別數(包括k個目標類和1 個背景類);pij表示本屬于i類卻預測為j類的像素點總數。具體地,pii表示真正例,即模型預測為正例,實際為正例,pij表示假正例,即模型預測為正例,實際為反例,pji表示假反例,即模型預測為反例,實際為正例。

針對本文提出的方法進行實驗研究,實驗環境配置如下:操作系統為Ubuntu16.04;顯卡為NVIDIA GeForce RTX2080T(i11 GB);處理器為Intel?CoreTMi9-9900X CPU;學習框架為Pytorch。
相關實驗基于Ubuntu16.04 操作系統進行,CPU為Intel i9-9900x,GPU 為4 張NVIDIA GeForce RTX2080Ti 的深度學習服務器,實驗涉及的代碼是用pytorch 實現。
2.3.1 訓練策略
為了使模型快速收斂,并且適用于本實驗的數據集DeepFashion2,本文采用了如下的訓練策略:對主干網絡resnet101 載入ImageNet 數據集上預訓練的權重,初始化主干網絡resnet101 的權重,加快訓練速度,首先前60 個epoch 采用poly 學習率調整策略進行訓練,主干網絡設置初始學習率為0.000 7,網絡的其余部分參數設置初始學習率為0.007,這樣模型可以快速趨近于收斂,最后采用較小的固定學習率進行訓練至模型收斂狀態。本文實驗中將圖像剪裁至512×512 大小進行訓練。
2.3.2 網絡訓練結果
本文實驗網絡采用Deeplab v3+、嵌入Coordinate Attention 模塊(CA_Deeplab v3+)和嵌入Coordinate Attention、SFEM 模塊(CA_SFEM_Deeplab v3+)。訓練的實驗網絡在驗證集上得出的mIoU 結果曲線如圖7 所示,3 個實驗網絡的mIoU 隨迭代的次數增加逐漸趨于穩定。由圖7 可以看出,CA_Deeplab v3+性能略微優于Deeplab v3+,而CA_SFEM_Deeplab v3+在每一個迭代輪次均遠優于Deeplab v3+和CA_Deeplab v3+。這是由于模型不僅通過融入Coordinate Attention 模塊增強保留空間信息的能力,而且通過嵌入SFEM 模塊增強語義特征信息。

圖7 不同網絡在驗證集上mIoU 結果曲線Fig.7 mIoU result curves of different networks on validationset
2.3.3 分割性能對比
在對比實驗中,數據集采用DeepFashion2,包含13 種服裝類別及1 個背景類。本文實驗對比了Deeplab v3+、CA_Deeplab v3+和CA_SFEM_Deeplab v3+對服裝分割的影響。由表1 可以看出,首先僅在主干網絡resnet101 首尾添加了注意力機制Coordinate Attention模塊的CA_Deeplab v3+,相比Deeplab v3+在MPA 指標上提升0.7%,結合圖7 的增長趨勢,將主干網絡resnet101 中間的各個block 添加Coordinate Attention 會有更好的提升效果。考慮到本實驗為主干網絡resnet101載入預訓練權重,同時兼顧到訓練的效率,本文將不再破壞主干網絡的結構,僅在resnet101 的首尾添加Coordinate Attention。其次在Coordinate Attention 模塊基礎上添加特征增強SFEM 模塊的CA_SFEM_Deeplab v3+,MPA、mIoU 定量指標有了明顯提升,與Deeplab v3+相比分別提升了2.3%、2.1%。這是因為本文提出的CA_SFEM_Deeplab v3+網絡嵌入了Coordinate Attention和SFEM 模塊,更準確地提取了特征信息,使得分割的精度較高。

表1 添加不同模塊的性能比較Table 1 Performance comparison by adding different models
為了更好地展現本文方法性能提升的直觀效果,本文將網絡分割出來的掩碼對原圖進行處理,將背景類別置為黑色,僅保留原始服裝圖像的服裝分割圖,因此直觀顯示出模型分割得到有用的服裝信息。圖8 所示分別為服裝原圖、標簽圖和3 個模型分割服裝圖像(彩色效果見《計算機工程》官網HTML版)。

圖8 不同模型在DeepFashion2 數據集上的分割效果Fig.8 Segmentation effects of different models in DeepFashion2 datasets
從圖8 可以看出:在第一排服裝分割圖矩形框標注的區域,CA_SFEM_Deeplab v3+網絡在長袖邊和褲子結合處像素點誤分類最少;在第二排服裝分割圖矩形框標注的區域,嵌入Coordinate Attention 的CA_Deeplab v3+網絡在長袖像素點處相較于Deeplab v3+網絡誤分類更少,而CA_SFEM_Deeplab v3+網絡在長袖像素點處不存在誤分類的像素點;在第三排服裝分割圖矩形框標注的區域,CA_SFEM_Deeplab v3+網絡在連衣裙袖口的邊界處分割最平滑,分割效果最好;在第四排服裝分割圖矩形框標注的區域,在左邊褲腳的輪廓處,CA_SFEM_Deeplab v3+網絡將手部邊界同褲腿邊界分離的效果最好,分割的正確率最高,分割的結果最為貼近標簽圖。觀察所有分割結果對比圖,CA_SFEM_Deeplab v3+對服裝分割更為精細,對服裝邊緣分割更為流暢,使得服裝分割更為接近服裝的真實輪廓。綜上所述,本文CA_SFEM_Deeplab v3+網絡對分割服裝位置的精準性最優,對服裝特征提取也更為充分,分割性能有了明顯提高。
為了證明本文網絡的分割有效性,選取了目前有代表性的主 流語義分割網 絡PSP-Net[7]、Deeplab v3+[14]和FastFCN[33]和本文提出的CA_SFEM_Deeplab v3+網絡進行對比實驗。實驗的數據集采用DeepFashion2。根據本文提出的兩個量化指標,結合表2 可以得出,Deeplab v3+網絡與PSP-Net 網絡相比分割性能有了一定的提高,而本文提出的CA_SFEM_Deeplab v3+網絡在MPA 和mIoU 定量指標上數值分別為0.671 和0.557,相較于PSP-Net 網絡分別提升了8.3%和8.6%,相較于Deeplab v3+網絡分別提升了2.3%和2.1%,相較于FastFCN 網絡分別提升了0.9%和1%。實驗數據結果表明,本文提出的CA_SFEM_Deeplab v3+網絡相較于其他網絡在服裝數據集DeepFashion2 上更具有優勢。

表2 不同分割網絡性能比較Table 2 Performance comparison of different segmentation networks
本文提出一種用于服裝分割任務的CA_SFEM_Deeplab v3+網絡,該網絡模型在主干網絡的首尾分別嵌入了注意力機制模塊,主干網絡輸出的特征圖首先經過ASPP 結構處理,隨后通過SFEM 模塊對特征圖進行語義特征增強處理,然后將特征圖進行融合,經過上采樣,最終得到服裝分割的預測圖。實驗結果證明,相對于Deeplab v3+網絡,CA_SFEM_Deeplab v3+網絡具有更好的分割精度,能夠實現對服裝的準確分割。本文網絡雖提升了分割精度,但嵌入注意力機制和SFEM 模塊增加了參數量,降低了分割效率。此外,其在解碼模塊中僅使用了融合1/4 大小的低層特征圖和編碼模塊輸出的高層特征圖,而單層次提取目標特征易導致小目標丟失或大目標特征提取冗余。后續將精簡分割模型,進一步提高模型的準確率和分割效率。