朱淑暢,李文輝
(1.吉林工程技術(shù)師范學(xué)院 藝術(shù)與設(shè)計(jì)學(xué)院,長春 130052;2.吉林大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,長春 130012)
近年來,服裝設(shè)計(jì)行業(yè)數(shù)字化轉(zhuǎn)型快速發(fā)展,大量服裝款式圖片可被公有訪問.面對(duì)海量的服裝圖片,服裝設(shè)計(jì)師面臨著如何高效分類、管理并利用這些圖片資源的挑戰(zhàn).傳統(tǒng)手動(dòng)分類方法耗時(shí)、耗力,且易受主觀因素的影響,因此需要一種自動(dòng)化且準(zhǔn)確的方法處理海量服裝圖片分類任務(wù).
為解決上述問題,人們開始研究如何對(duì)海量服裝圖像進(jìn)行準(zhǔn)確地分類和檢索.研究人員早期使用傳統(tǒng)的機(jī)器學(xué)習(xí)算法進(jìn)行特征提取,用于服裝圖像的分類和檢索.Thewsuwan等[1]提出了一種基于局部二元模式(LBP)和Gabor濾波器的服裝分類方法;Bossard等[2]通過融合SURF(speeded up robust features)算法、方向梯度直方圖(HOG),LBP,平方差之和(SSD)以及顏色特征等多種特征,用隨機(jī)森林作為分類器進(jìn)行分類;吳苗苗等[3]提出了一種針對(duì)不同款式服裝的特征描述細(xì)粒度分類方法,采用隨機(jī)森林和多類支持向量機(jī)(SVM)對(duì)結(jié)合HOG、LBP、顏色直方圖和邊緣算子的特征信息進(jìn)行監(jiān)督學(xué)習(xí).
由于深度學(xué)習(xí)具有很強(qiáng)的圖像深度信息提取能力,能有效處理多尺度、復(fù)雜背景和服裝變形等干擾的服裝圖像.通過深度學(xué)習(xí)進(jìn)行服裝圖片分類的研究與應(yīng)用具有實(shí)際意義,因此,基于深度學(xué)習(xí)的服裝圖像分類和檢索方法成為目前的主流研究方法.Liu等[4]提出了一個(gè)深度學(xué)習(xí)模型FashionNet,該模型結(jié)合了全局特征和局部特征,能有效處理服裝變形和遮擋問題.此外,還創(chuàng)建了一個(gè)大規(guī)模的服裝圖像數(shù)據(jù)集DeepFashion,同時(shí)對(duì)每個(gè)圖像都經(jīng)過了詳細(xì)注釋,提供了服裝的類別、屬性、關(guān)鍵點(diǎn)等信息.Lü等[5]利用姿態(tài)估計(jì)獲取感興趣位置相關(guān)的局部特征,進(jìn)行多特征融合的服裝圖像分類.Zhang等[6]提出了一種新的網(wǎng)絡(luò)模型TS-FashionNet,其通過增強(qiáng)形狀和紋理進(jìn)行特征的提取和學(xué)習(xí).趙宏偉等[7]引入關(guān)鍵點(diǎn)注意力機(jī)制和通道注意力機(jī)制增強(qiáng)對(duì)關(guān)鍵區(qū)域的特征表達(dá).陳巧紅等[8]在Xception網(wǎng)絡(luò)結(jié)構(gòu)的基礎(chǔ)上嵌入SE-Net模塊,提出了多尺度SE-Xception模型,能有效提取豐富的服裝特性信息.Tan等[9]使用指數(shù)線性單元(exponential linear unit,ELU)和ReLU激活函數(shù)改善Xception模型非線性的學(xué)習(xí)特性,并采用L2正則化增強(qiáng)網(wǎng)絡(luò)的抗干擾性.
為進(jìn)一步提升服裝圖片分類的準(zhǔn)確率,本文提出一種稱為PSANet(parallel self-attention network)的網(wǎng)絡(luò).該網(wǎng)絡(luò)在ResNet50的基礎(chǔ)上添加了平行自注意力補(bǔ)償分支,并通過自注意力機(jī)制剔除對(duì)服裝分類任務(wù)無關(guān)的特征,以加強(qiáng)有效特征的提取質(zhì)量.同時(shí),為防止網(wǎng)絡(luò)隨深度的加深而丟失淺層細(xì)節(jié)特征,并緩解梯度消失問題,PSANet通過殘差連接將初始特征提取分支與自注意補(bǔ)償分支連接,進(jìn)一步提升了服裝分類任務(wù)中的特征提取質(zhì)量.最后,本文在公共數(shù)據(jù)集DeepFashion上進(jìn)行了模型性能的對(duì)比與消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證明了本文模型的有效性.
深度學(xué)習(xí)中的自注意力是一種模仿人類注意力機(jī)制的方法,通過對(duì)輸入數(shù)據(jù)中不同位置或特征的加權(quán)關(guān)注,使模型能有選擇地聚焦于與當(dāng)前任務(wù)相關(guān)的信息,從而提高模型的性能和泛化能力.此外,注意力機(jī)制可以更好地捕捉到不同位置之間的關(guān)聯(lián),減輕信息丟失的問題.Hu等[10]提出了Squeeze-and-Excitation(SENet)網(wǎng)絡(luò),是一種用于提升卷積神經(jīng)網(wǎng)絡(luò)性能的注意力機(jī)制,通過自適應(yīng)地學(xué)習(xí)通道間的關(guān)系,有針對(duì)性地調(diào)整特征圖的通道權(quán)重,以增強(qiáng)有效信息的表示能力,核心思想是在卷積神經(jīng)網(wǎng)絡(luò)中引入一個(gè)SE模塊.SE模塊的主要組成部分包括Squeeze和Excitation兩個(gè)階段.在Squeeze階段,網(wǎng)絡(luò)通過全局平均池化操作對(duì)輸入特征圖進(jìn)行降維,將每個(gè)通道的特征轉(zhuǎn)化為一個(gè)標(biāo)量;在Excitation階段,網(wǎng)絡(luò)通過兩個(gè)全連接層學(xué)習(xí)每個(gè)通道的權(quán)重,進(jìn)而計(jì)算出一個(gè)通道注意力權(quán)重向量.最后,SE模塊將這個(gè)通道注意力權(quán)重向量與輸入特征圖逐通道相乘,實(shí)現(xiàn)通道特征的自適應(yīng)縮放.
SENet的設(shè)計(jì)思想可應(yīng)用于各種不同的網(wǎng)絡(luò)結(jié)構(gòu)和任務(wù)中.通過添加SE模塊,可顯著改善模型性能,而不需要進(jìn)行復(fù)雜的網(wǎng)絡(luò)結(jié)構(gòu)修改.它為深度學(xué)習(xí)模型的設(shè)計(jì)和應(yīng)用提供了一種有效途徑,已成為廣泛應(yīng)用于各種領(lǐng)域和任務(wù)的基礎(chǔ)模塊.圖1為SENet結(jié)構(gòu)示意圖[10].

圖1 SENet結(jié)構(gòu)示意圖Fig.1 Schematic diagram of SENet structure

圖2 ResNet兩種殘差塊結(jié)構(gòu)示意圖Fig.2 Schematic diagram of two residualblock structures in ResNet
傳統(tǒng)深度神經(jīng)網(wǎng)絡(luò)在網(wǎng)絡(luò)層數(shù)增加時(shí),會(huì)遇到梯度消失和梯度爆炸的問題,導(dǎo)致模型的訓(xùn)練變得困難.He等[11]提出了一種稱為ResNet卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),該結(jié)構(gòu)引入了殘差連接,通過跨層連接傳遞和學(xué)習(xí)殘差信息,使網(wǎng)絡(luò)在增加深度的同時(shí)能更好地保持模型的性能和收斂速度.其由卷積塊與恒等殘差塊兩個(gè)基本模塊組成,并在每個(gè)殘差單元中引入跳躍連接,將輸入的特征圖與輸出特征相加,在內(nèi)部使用批歸一化和激活函數(shù)提高模型的性能與非線性擬合能力.這種設(shè)計(jì)使網(wǎng)絡(luò)可更靈活地處理不同尺寸的輸入,增加了網(wǎng)絡(luò)的感受野,提高了模型的表達(dá)能力,并有效解決了傳統(tǒng)深層網(wǎng)絡(luò)在訓(xùn)練過程中的性能退化問題.ResNet兩種殘差塊結(jié)構(gòu)[10]如圖2所示.
由圖2可見,殘差塊是由跳躍連接和殘差映射組成的基本單元.殘差塊的輸入通過兩個(gè)并行的主路徑與跳躍連接進(jìn)行特征提取.主路徑用于學(xué)習(xí)輸入到輸出的映射關(guān)系,而跳躍連接直接將輸入復(fù)制到輸出上.由于殘差塊中的跳躍連接可以直接傳遞梯度,因此有助于梯度的反向傳播,使網(wǎng)絡(luò)的訓(xùn)練過程更穩(wěn)定和高效.通過引入殘差塊,網(wǎng)絡(luò)可避免由于深度加深導(dǎo)致的過擬合問題.同時(shí),可減少網(wǎng)絡(luò)的參數(shù)數(shù)量和計(jì)算量,并提高網(wǎng)絡(luò)的效率和推理速度.
深層特征主要關(guān)注圖像的高級(jí)語義信息,而淺層細(xì)節(jié)包含圖像更多的低級(jí)細(xì)節(jié)和紋理信息.雖然SENet添加了殘差結(jié)構(gòu),但直接插入SENet在一定程度上仍會(huì)破壞原有網(wǎng)絡(luò)輸出的初始特征信息.針對(duì)該問題,為更好地將初始特征信息與深度特征信息融合,本文提出一種平行自注意力信息補(bǔ)償分支PSANet,該分支網(wǎng)絡(luò)在ResNet50的基礎(chǔ)上引入并行的網(wǎng)絡(luò)結(jié)構(gòu),以一種橫向方式擴(kuò)展網(wǎng)絡(luò).在保證ResNet原有特征輸出的基礎(chǔ)上,橫向添加一個(gè)與其平行的網(wǎng)絡(luò)分支結(jié)構(gòu),該結(jié)構(gòu)能通過自注意力機(jī)制自適應(yīng)地學(xué)習(xí)通道權(quán)重,充分挖掘通道特征的相關(guān)性,從而提高模型對(duì)重要特征的關(guān)注程度,篩選對(duì)服裝任務(wù)有益的信息,剔除無用信息.
該網(wǎng)絡(luò)主要由初始特征提取分支與自注意信息補(bǔ)償分支構(gòu)成.第一個(gè)分支能屏蔽其他模塊干擾,隨著網(wǎng)絡(luò)深度的加深逐步提取深層特征信息.本文將SENet作為自注意力模塊,用于提升模型特征提取能力.自注意力信息補(bǔ)償分支以初始特征提取分支的不同深度模塊的輸出為輸入.首先通過自注意力模塊進(jìn)行特征通道重分布,增加對(duì)服裝分類任務(wù)有益特征的權(quán)重,然后從淺層到深層網(wǎng)絡(luò)逐步融合初始特征與自注意力特征,得到用于進(jìn)行分類的預(yù)測(cè)特征圖.該結(jié)構(gòu)可以獲得更全面和準(zhǔn)確的圖像表示,同時(shí)保留了圖像重要的語義信息和細(xì)節(jié)信息,提高了模型對(duì)服裝圖像的理解和判別能力.網(wǎng)絡(luò)整體結(jié)構(gòu)如圖3所示.
在服裝圖像分類任務(wù)中損失函數(shù)的選擇對(duì)精度有重要影響[12].Cross-entropy-loss(CE-loss)是一種常用的損失函數(shù),主要用于分類任務(wù)中的模型訓(xùn)練和優(yōu)化.它通過最大化正確類別的概率和最小化錯(cuò)誤類別的概率使模型進(jìn)行準(zhǔn)確分類.同時(shí),CE-loss在計(jì)算上也相對(duì)簡單,可高效地計(jì)算梯度并進(jìn)行反向傳播,并能有效地懲罰預(yù)測(cè)概率分布與真實(shí)標(biāo)簽分布之間的差異,使模型能更關(guān)注正確的類別.這對(duì)于多類別分類任務(wù)尤為重要,可提高模型的分類準(zhǔn)確度.

圖3 PSANet整體結(jié)構(gòu)示意圖Fig.3 Schematic diagram of overall structure of PSANet
但CE-loss在分類任務(wù)中對(duì)噪聲樣本性能不穩(wěn)定,甚至對(duì)錯(cuò)誤分類的樣本也會(huì)給予很高的概率,從而導(dǎo)致模型對(duì)噪聲過于敏感,產(chǎn)生過擬合問題.在服裝圖像分類任務(wù)中,各類服裝條紋等特征復(fù)雜,在一定程度上影響了模型的準(zhǔn)確度.為提升模型的泛化能力,本文使用Label Smoothing技術(shù),其采用了正則化的思想,將硬標(biāo)簽轉(zhuǎn)變?yōu)檐洏?biāo)簽,使網(wǎng)絡(luò)優(yōu)化更平滑,防止模型在訓(xùn)練時(shí)過于自信地預(yù)測(cè)標(biāo)簽,從而改善泛化能力差的問題,并對(duì)模型的訓(xùn)練提供一定的平滑約束.這種平滑約束可幫助模型更好地學(xué)習(xí)服裝圖像特征的整體分布和結(jié)構(gòu),從而提高模型的泛化能力,減少過擬合的風(fēng)險(xiǎn).
DeepFashion服裝分類數(shù)據(jù)集[4]是DeepFashion數(shù)據(jù)集的一個(gè)子集,專門用于服裝分類任務(wù),廣泛應(yīng)用于計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)領(lǐng)域中服裝分類算法的開發(fā)和評(píng)估.部分?jǐn)?shù)據(jù)集示例如圖4所示.

圖4 DeepFashion服裝分類數(shù)據(jù)集示例Fig.4 Example of DeepFashion clothing classification dataset
該數(shù)據(jù)集共包含289 222張、50種不同類別的服裝圖像,涵蓋了上裝、下裝、連衣裙、外套等多個(gè)服裝類別.本文從中隨機(jī)選取40個(gè)服裝種類,并按4∶1的比例在每個(gè)子類中將圖片隨機(jī)分為訓(xùn)練集和測(cè)試集.所有模型均在相同環(huán)境下進(jìn)行對(duì)比實(shí)驗(yàn).
本文實(shí)驗(yàn)操作系統(tǒng)為Ubuntu20.04,GPU為NVIDIA Geforce GTX 3090,用Python3.8作為程序設(shè)計(jì)語言,深度學(xué)習(xí)框架為Pytorch1.13.0,CUDA版本為10.6,Cudnn版本為7.6.5.訓(xùn)練過程中對(duì)訓(xùn)練集進(jìn)行在線數(shù)據(jù)增強(qiáng),對(duì)訓(xùn)練圖像進(jìn)行隨機(jī)縮放、反轉(zhuǎn)變換.在數(shù)據(jù)集DeepFashion上使用SGD優(yōu)化器優(yōu)化網(wǎng)絡(luò)參數(shù).將初始學(xué)習(xí)率設(shè)為0.001,批量大小設(shè)為128,權(quán)重衰減設(shè)為0.000 5,動(dòng)量設(shè)為0.9.每個(gè)模型迭代訓(xùn)練的總次數(shù)為100,在模型訓(xùn)練過程中的第30次、60次和90次時(shí)將學(xué)習(xí)率乘以0.1,記錄最優(yōu)權(quán)重進(jìn)行模型評(píng)估.
PSANet與基線ResNet50的消融實(shí)驗(yàn)結(jié)果列于表1.

表1 PSANet與基線ResNet50分類準(zhǔn)確率對(duì)比
為更好地評(píng)估PSANet的準(zhǔn)確率和有效性,本文選取常用的分類任務(wù)評(píng)估準(zhǔn)則top-k進(jìn)行模型評(píng)估,其中k表示模型前k個(gè)最高概率的預(yù)測(cè).由表1可見,相比于主流的ResNet50分類網(wǎng)絡(luò),添加自注意力信息補(bǔ)償分支在top1,top3,top5指標(biāo)上精度分別提高了2.4%,1.8%,0.9%,證明了自注意力信息補(bǔ)償分支能有效融合網(wǎng)絡(luò)的深層和淺層信息,在提取深層高語義特征的同時(shí)保留了淺層細(xì)節(jié)信息.在此基礎(chǔ)上,自注意力模塊進(jìn)一步提升了網(wǎng)絡(luò)對(duì)服裝圖像的分類性能.相比于添加了自注意力信息補(bǔ)償分支的ResNet50網(wǎng)絡(luò),進(jìn)一步添加了自注意力模塊的網(wǎng)絡(luò)在top1中準(zhǔn)確率提高了0.3%,top3準(zhǔn)確率提高了0.5%,top5準(zhǔn)確率提高了0.4%,證明了自注意力模塊在PSANet中的有效性.
將本文模型與其他主流分類模型進(jìn)行對(duì)比實(shí)驗(yàn),分類準(zhǔn)確率對(duì)比實(shí)驗(yàn)結(jié)果列于表2.由表2可見,在所有對(duì)比模型中,PSANet在top1,top3,top5指標(biāo)上都取得了最優(yōu)的準(zhǔn)確率.top1準(zhǔn)確率比AlexNet,VGGNet,ResNet20分別提高了37.9%,44.9%,11.3%;top3準(zhǔn)確率分別提高了25.0%,38.5%,7.8%;top5準(zhǔn)確率分別提高了19.7%,29.9%,5.0%.實(shí)驗(yàn)結(jié)果表明,PSANet中的自注意力機(jī)制與信息補(bǔ)償分支,能有效提升網(wǎng)絡(luò)的特征提取能力,在數(shù)據(jù)集DeepFashion中取得了優(yōu)秀的分類效果.

表2 PSANet與其他模型的分類準(zhǔn)確率對(duì)比
綜上所述,針對(duì)傳統(tǒng)基于內(nèi)容的服裝分類對(duì)圖像特征有較高的要求,當(dāng)服裝款式較多時(shí),其準(zhǔn)確率難以滿足服裝分類應(yīng)用需求的問題,提出一種基于深度學(xué)習(xí)方法的平行自注意力分類網(wǎng)絡(luò).該網(wǎng)絡(luò)在ResNet50的基礎(chǔ)上增加了平行自注意力補(bǔ)償分支,該分支能提升服裝分類任務(wù)中的特征提取質(zhì)量,逐步補(bǔ)充深層網(wǎng)絡(luò)缺失的淺層細(xì)節(jié)信息.在數(shù)據(jù)集DeepFashion上進(jìn)行了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證明了該方法的有效性.