趙 乙, 何 嘉
(成都信息工程大學(xué)計(jì)算機(jī)學(xué)院,四川 成都 610225)
近年來(lái),由于時(shí)尚產(chǎn)業(yè)的巨大潛力,服裝的視覺分析也成了研究的一大熱門。但是服裝圖像通常因?yàn)閳?chǎng)景姿勢(shì)的問題,存在遮擋,以及消費(fèi)者與商業(yè)圖像在服裝領(lǐng)域有所不同,在實(shí)際的應(yīng)用中,消費(fèi)者對(duì)于服裝圖像的理解還有一些挑戰(zhàn)[1]。
對(duì)于服裝設(shè)計(jì)師來(lái)說,服裝圖像的準(zhǔn)確分割可以更好地獲取消費(fèi)者的穿著喜好信息,也可以提升自己的工作效率[2]。同時(shí),消費(fèi)者可以更方便了解服裝信息。對(duì)于服裝圖像的處理和視覺分析,獲得清晰的輪廓和更好的分類服裝、織物和纖維圖像[3]是后續(xù)處理的必要條件之一。
服裝圖像的分割由于服裝本身屬性繁多,面料款式紋理均有所不同,時(shí)常還受背景顏色的制約[4]。例如,圖片中模特穿著上衣和短裙時(shí),很容易被機(jī)器理解為連衣裙,因?yàn)檫@樣的搭配外觀上較為相似[4]。并且在實(shí)際場(chǎng)景下,每張服裝圖像尺度差異較大。因此,如何解決多尺度服裝圖像分割以及將服裝圖像進(jìn)行特征融合是服裝圖像語(yǔ)義分割中亟待解決的問題。
文獻(xiàn)[5]提出了一種自動(dòng)推薦服裝的方法,這種方法需要先識(shí)別人體的姿態(tài),再確定出服裝的區(qū)域,最后把服裝部分分割出來(lái)。該方法實(shí)現(xiàn)了服裝的自動(dòng)推薦,但是這種模型分割的精確度非常低。文獻(xiàn)[6]通過巨大的數(shù)據(jù)集檢索來(lái)查看相似衣服以標(biāo)記查詢的圖像。針對(duì)服裝圖像分割方法通常需要依賴于人體姿勢(shì)的問題,文獻(xiàn)[7]提出了在不考慮人體姿態(tài)的情況下改進(jìn)的圖像分割方法。該方法利用條件隨機(jī)場(chǎng)模型,很大程度減輕了紋理復(fù)雜服裝的過度分割以及估計(jì)不準(zhǔn)確,但是對(duì)膚色類似的情況效果較差。白美麗等[8]提出了自監(jiān)督學(xué)習(xí)框架,與Deeplabv2網(wǎng)絡(luò)結(jié)合形成端到端的深度卷積網(wǎng)絡(luò)框架,將人體姿態(tài)加入服裝解析中,但服裝分割的邊界依舊不準(zhǔn)確,且前景和背景無(wú)法很好地分離。
自2012年AlexNet[9]成立以來(lái),深度學(xué)習(xí)快速發(fā)展。深度卷積神經(jīng)網(wǎng)絡(luò)(DCNN)[10]與傳統(tǒng)的機(jī)器學(xué)習(xí)方法相比,提取特征的功能比較強(qiáng)大。在圖像分割領(lǐng)域,基于全卷積網(wǎng)絡(luò)(FCN)[11]的最新方法得到了大力發(fā)展。
最近Deeplabv3+[12]語(yǔ)義分割網(wǎng)絡(luò)已經(jīng)普遍和流行,王中宇等[13]通過在Deeplabv3+中引入卷積塊注意力模型得到了分割圖像的簡(jiǎn)單方法,使邊緣目標(biāo)分割更加精細(xì),最終將改進(jìn)的網(wǎng)絡(luò)運(yùn)用于自動(dòng)駕駛場(chǎng)景中。
基于以上提到的問題,文中將通道注意力機(jī)制和位置注意力機(jī)制引入Deeplabv3+模型,將雙注意力機(jī)制與ASPP模塊進(jìn)行并行,形成CPAM模塊,并通過DeepFashion2數(shù)據(jù)集驗(yàn)證了改進(jìn)模塊后網(wǎng)絡(luò)的效果。
Deeplabv1版本提出空洞卷積操作,擴(kuò)大感受野,獲取更稠密的特征圖。v2版本在v1版本基礎(chǔ)上提出ASPP結(jié)構(gòu),該結(jié)構(gòu)使用空洞卷積對(duì)特征圖進(jìn)行采樣操作,再連接條件隨機(jī)場(chǎng)以便于獲取更為精準(zhǔn)的分割圖像。v3版本去除了全連接條件隨機(jī)場(chǎng)(CRF)操作,將ASPP結(jié)構(gòu)改為3個(gè)3×3卷積操作,空洞率分別為6、12、18,再連接全局平均池化。Deeplabv3+網(wǎng)絡(luò)在v3基礎(chǔ)上又添加了編碼-解碼結(jié)構(gòu),中間部分進(jìn)行一次上采樣,最后再進(jìn)行一次上采樣,其完整的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。改進(jìn)后的網(wǎng)絡(luò)利用卷積層對(duì)輸入的服裝圖像進(jìn)行特征提取,接著使用池化層降低特征圖的維度,這個(gè)過程也叫作下采樣。下采樣的過程會(huì)導(dǎo)致信息丟失嚴(yán)重,這對(duì)語(yǔ)義分割任務(wù)不利。故而Deeplabv3+在深度特征提取網(wǎng)絡(luò)中加入ASPP模塊,不僅可以增加感受野,還能減少下采樣過程中的信息損失。此外,Deeplabv3+網(wǎng)絡(luò)還能達(dá)到對(duì)多尺度目標(biāo)的分割能力。
圖1 Deeplabv3+網(wǎng)絡(luò)結(jié)構(gòu)
最后,為減少下采樣過程中丟失信息對(duì)分割造成不利影響,Deeplabv3+采用Encode-Decode結(jié)構(gòu),使用Encode結(jié)構(gòu)進(jìn)行特征提取,使用Decode進(jìn)行上采樣。在上采樣過程中融合較低層次的特征,恢復(fù)目標(biāo)部分邊界信息,上采樣過程使用的是線性插值方法。
1.2.1 通道注意力模塊
在深度學(xué)習(xí)的領(lǐng)域,通道注意力機(jī)制[14]得到更加頻繁的使用。通道注意力模塊用于語(yǔ)義分割時(shí),不同的通道特征圖存在緊密度不同的聯(lián)系,提取不同通道的語(yǔ)義信息,可以使相互聯(lián)系的特征圖更加突出。通道注意力模塊如圖2所示。
圖2 通道注意力模塊
通道注意力直接通過M∈RC×H×W計(jì)算出通道注意力圖 X∈RC×C
式中,Mi代表第i個(gè)元素值;(M')T表示轉(zhuǎn)置矩陣的第j個(gè)元素值;Xij表示第i個(gè)通道對(duì)第j個(gè)通道的影響因子。對(duì)X轉(zhuǎn)置后與M'做矩陣乘法,與參數(shù)β相乘后再與矩陣相加得到最終結(jié)果F,如式(2)所示。
式中,β初始為0。由式(2)可知,每個(gè)通道最終特征都是所有通道特征與原始通道特征的加權(quán)和。
1.2.2 位置注意力機(jī)制
位置注意力機(jī)制如圖3所示。位置注意力模塊旨在使用整個(gè)圖像中的任意兩點(diǎn)之間的關(guān)聯(lián)增強(qiáng)其各自特征的表達(dá)式,還可以捕獲全局空間上下文信息。
圖3 位置注意力模塊
通過主干網(wǎng)絡(luò)可以得到局部特征信息N∈RC×H×W,經(jīng)過兩次維度變換和一次轉(zhuǎn)置操作,得到位置注意力B。如式(3)所示。
式中,Oi表示矩陣O第i個(gè)位置的元素,Qj同理。N為通道當(dāng)中元素的個(gè)數(shù),將L進(jìn)行維度變換后與B的轉(zhuǎn)置矩陣進(jìn)行乘法操作,最后再經(jīng)過一次維度變換,轉(zhuǎn)換成 RC×H×W形狀的 P 矩陣
式中,Bji為矩陣B的第i個(gè)位置元素;α為可學(xué)習(xí)的參數(shù),初始值為0。每個(gè)位置最后得到的特征P是所有位置和原始位置的特征進(jìn)行加權(quán)得到的。因此,能夠根據(jù)位置注意力圖使上下文信息得到更好的聚合,同時(shí)相似的特征權(quán)重更高能夠起到相互促進(jìn)的作用。
Deeplabv3+中的ASPP模塊使用空洞卷積進(jìn)行特征融合,使用的是空洞率不同的卷積操作。這是由于若空洞率過大則容易丟失部分特征,導(dǎo)致大尺度目標(biāo)再分割時(shí)容易有棋盤格類型的空洞現(xiàn)象,這就會(huì)使大尺度目標(biāo)分割的準(zhǔn)確率降低?;诖?本文采用通道注意力和位置注意力模塊與ASPP并行的方法,以彌補(bǔ)上述不足。并且,采用實(shí)驗(yàn)對(duì)比雙注意力機(jī)制和單注意力機(jī)制的差距,改進(jìn)后的Deeplabv3+網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。
圖4 Deeplabv3+添加CPAM模塊
圖4是添加雙注意力模塊后的整體結(jié)構(gòu)??梢钥吹骄矸e層的輸出結(jié)果,會(huì)與空間金字塔池化[15]進(jìn)行并行,并進(jìn)行兩次上采樣得到預(yù)測(cè)圖像。
為驗(yàn)證本文所提方法的有效性,選擇了DeepFashion2[16]數(shù)據(jù)集。該數(shù)據(jù)集是時(shí)尚研究團(tuán)隊(duì)使用的最流行的數(shù)據(jù)之一,使用了高分辨率的服裝圖像。
實(shí)驗(yàn)選用了該數(shù)據(jù)集中帶有細(xì)粒度標(biāo)識(shí)的圖像共19.2萬(wàn)張,這些圖像都來(lái)自于不同平臺(tái)的賣家和買家圖片,差異度大,背景各有不同。實(shí)驗(yàn)使用DeepFashion2作為改進(jìn)網(wǎng)絡(luò)驗(yàn)證數(shù)據(jù)集,它的標(biāo)注量是Deepfashion的3.5倍。其中有49.1萬(wàn)張圖片,共有4.38萬(wàn)個(gè)服裝標(biāo)識(shí),該數(shù)據(jù)集能夠支持服裝檢測(cè)、分類、分割以及服飾檢索。在實(shí)驗(yàn)中,使用到DeepFashion2數(shù)據(jù)集中19.2萬(wàn)張帶有細(xì)粒度標(biāo)簽的服裝圖像。數(shù)據(jù)集設(shè)置了13個(gè)服裝類別標(biāo)簽,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。實(shí)驗(yàn)中不再更改圖像的格式。
為保證實(shí)驗(yàn)的公平性,使用了控制變量的方法將原網(wǎng)絡(luò)和改進(jìn)網(wǎng)絡(luò)設(shè)置相同的超參數(shù),4個(gè)實(shí)驗(yàn)均將初始化學(xué)習(xí)率設(shè)置為0.0005,batch size設(shè)置為2,學(xué)習(xí)率使用多項(xiàng)式衰減方式,網(wǎng)絡(luò)優(yōu)化方法使用momentun,動(dòng)量為0.9,weight decay設(shè)置為0.0005,并使用在ResNet101主干訓(xùn)練過的權(quán)值作為訓(xùn)練前的權(quán)值。實(shí)驗(yàn)在Windows10系統(tǒng)中執(zhí)行,處理器為AMD Ryzen 5 3600X 6-Core Processor 3.80 GHz,顯卡型號(hào)是NVIDIA GeForce RTX 2070 SUPER,顯存為8GB。深度學(xué)習(xí)框架為pytorch1.6.0。
語(yǔ)義分割有許多指標(biāo)可以用來(lái)衡量算法的精度,實(shí)驗(yàn)選用準(zhǔn)確率(accuracy)、平均交并比(mIoU)和頻權(quán)交并比(FWIoU)3種指標(biāo)來(lái)評(píng)價(jià)網(wǎng)絡(luò)的精度。以上3種標(biāo)準(zhǔn)值越高,代表預(yù)測(cè)的效果越好。
為驗(yàn)證雙注意力機(jī)制方法在Deeplabv3+結(jié)構(gòu)中的有效性,設(shè)計(jì)了4個(gè)實(shí)驗(yàn),分別是Deeplabv3+網(wǎng)絡(luò)、在Deeplabv3+加入通道注意力機(jī)制的網(wǎng)絡(luò)、在Deeplabv3+加入位置注意力機(jī)制的網(wǎng)絡(luò)、同時(shí)在Deeplabv3+加入通道注意力機(jī)制和位置注意力機(jī)制的網(wǎng)絡(luò)進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表1所示。由表1可以看出,在Deeplabv3+加入注意力機(jī)制后的網(wǎng)絡(luò)更加具有優(yōu)勢(shì),其對(duì)于Deeplabv3+的性能都具有促進(jìn)作用。其中,同時(shí)加入通道注意力和位置注意力之后的網(wǎng)絡(luò)效果最好,不加入的網(wǎng)絡(luò),總體準(zhǔn)確率是84%,mIoU是34%,FWIoU是79%。由此可見,加入雙注意力的結(jié)構(gòu)性能優(yōu)于其他結(jié)構(gòu)。
表1 注意力機(jī)制的消融實(shí)驗(yàn) 單位:%
表2比較了經(jīng)典分割網(wǎng)絡(luò)FCN-8S、Deeplab系列網(wǎng)絡(luò)中的Deeplabv2以及其他作者在這個(gè)系列網(wǎng)絡(luò)上改進(jìn)的網(wǎng)絡(luò),共5個(gè)實(shí)驗(yàn)。通過比較本文設(shè)計(jì)的雙注意力模塊結(jié)構(gòu)與其他圖像分割網(wǎng)絡(luò)在DeepFashion2中的結(jié)果,得到如下結(jié)論:加入CPAM模塊的網(wǎng)絡(luò)在Deepfashion2的測(cè)試集上的分割精度相較于其他比較的網(wǎng)絡(luò)都有所提高,這證明了改進(jìn)網(wǎng)絡(luò)在分割精度上有很大的提高。
表2 本文方法與其他分割網(wǎng)絡(luò)結(jié)果對(duì)比 單位:%
實(shí)際環(huán)境中,服裝圖像會(huì)受各種外在因素的影響,例如服裝花紋和場(chǎng)景相似、服裝紋理復(fù)雜、服裝款式復(fù)雜等因素,使得服裝圖像的分割很容易將不同目標(biāo)分割成同一個(gè),且分割的精度不高。另外,當(dāng)服裝顯示不完全或者服裝圖像比例過大時(shí),可能會(huì)有分類不準(zhǔn)確的情況出現(xiàn)。由于Deeplabv3+具有多尺度特征,可以將小標(biāo)簽的物體分割出來(lái),且通過加入雙注意力模塊,網(wǎng)絡(luò)能夠較好地融合上下文信息,且對(duì)相似特征有更好的促進(jìn)作用。
圖5展示了本文提出的CPAM改進(jìn)Deeplabv3+的模型與傳統(tǒng)分割方法和Deeplabv3+對(duì)比實(shí)驗(yàn)的效果圖。從圖5顯示的效果來(lái)看,文獻(xiàn)[17]使用傳統(tǒng)方法分割的圖像較為粗糙,缺少大量的邊緣細(xì)節(jié),且服裝邊界參差不齊,瑕疵較多。剩下的兩種都基于Deeplab系列網(wǎng)絡(luò),實(shí)驗(yàn)結(jié)果可知,單獨(dú)的Deeplabv3+網(wǎng)絡(luò)不如本文改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)效果好,尤其是在大的服裝類型方面。本文提出的CPAM模塊加入Deeplabv3+后,較Deeplabv3+的分割精度提高明顯,且在細(xì)節(jié)部位優(yōu)化的效果更好,整體的分割精度也優(yōu)于其他方法。
圖5 不同方法可視化結(jié)果
采用CPAM模塊的Deeplabv3+深度語(yǔ)義分割網(wǎng)絡(luò)對(duì)服裝圖像進(jìn)行分割,并利用DeepFashion2訓(xùn)練集對(duì)模型進(jìn)行訓(xùn)練和測(cè)試,得到的主要結(jié)論為:
服裝圖像的分割需要服裝語(yǔ)義和上下文線索的更高級(jí)別的信息。針對(duì)服裝圖像語(yǔ)義分割準(zhǔn)確度較低的問題,提出一種基于Deeplabv3+的雙注意力機(jī)制深度神經(jīng)網(wǎng)絡(luò)來(lái)解決服裝圖像分割問題,結(jié)合兩種注意力機(jī)制與ASPP模塊并行,實(shí)現(xiàn)了端到端的深度卷積框架,該方法可以獲取通道和位置上的上下文信息,注重對(duì)重點(diǎn)通道和重點(diǎn)位置的特征。實(shí)驗(yàn)結(jié)果表明,基于Deeplabv3+改進(jìn)的模型能夠提高服裝圖像的分割效果,能夠有效地將前景與背景分開,減少背景對(duì)整體服裝分割的影響。
由于網(wǎng)絡(luò)模型參數(shù)較多,對(duì)計(jì)算機(jī)的運(yùn)算能力是一個(gè)挑戰(zhàn),且由于服裝款式眾多,以及圖片中服裝位置的不同,可能對(duì)服裝的分割有很大的影響。當(dāng)服裝部分占全圖大部分內(nèi)容時(shí),網(wǎng)絡(luò)對(duì)服裝的分割準(zhǔn)確率較低。后期將考慮運(yùn)用模型壓縮和枝剪對(duì)算法進(jìn)行優(yōu)化,以期做到在網(wǎng)絡(luò)性能不變的情況下,輕量化模型。