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

圖1 SENet結構示意圖Fig.1 Schematic diagram of SENet structure

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

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

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

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

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