侯媛媛 何儒漢 劉軍平
(湖北省服裝信息化工程技術(shù)研究中心 湖北 武漢 430200)
伴隨電子商務(wù)行業(yè)的快速發(fā)展,服裝行業(yè)作為其中重要一部分,其數(shù)據(jù)量不斷增多。為了處理海量的服裝圖像數(shù)據(jù),一種全新的線上服裝搜索模式被用戶所使用——“以圖搜圖”,其核心是圖像檢索技術(shù)。服裝圖像檢索作為服裝智能推薦、服裝搜索等應(yīng)用的核心,具有廣泛的市場(chǎng)應(yīng)用前景。服裝展現(xiàn)出當(dāng)代人的一種潮流趨勢(shì)及品味,大量的語(yǔ)義及細(xì)節(jié)信息蘊(yùn)含其中,服裝的色彩搭配及款式是其重要的語(yǔ)義信息,紋理和材質(zhì)等表現(xiàn)其細(xì)節(jié)信息。然而服裝不規(guī)則的外形、柔軟的材質(zhì)、較強(qiáng)的可變形性以及對(duì)光照的敏感性等,使服裝圖像檢索快速精準(zhǔn)的實(shí)現(xiàn)成為了一個(gè)極具挑戰(zhàn)的難題。基于內(nèi)容的圖像檢索(Content-based Image Retrieval,CBIR)[1-5]是服裝圖像檢索領(lǐng)域研究的主流方法。其過程可大致分為兩類:① 提取數(shù)據(jù)庫(kù)圖的表示向量;② 將待檢索圖片的表示向量與庫(kù)向量中的每個(gè)向量進(jìn)行距離度量,以最近鄰方式進(jìn)行搜索。一幅圖片表示向量的好壞直接決定了圖像檢索算法的優(yōu)劣。早期的研究主要是基于顏色、形狀和紋理三大視覺特征,將其單一特征[6-7]或聚合特征[8]作為服裝圖像的全局表示向量。黃冬艷等[9]首先對(duì)待檢索圖片做了聯(lián)合分割處理,然后提取出分割后的服裝圖片的Bundled和顏色特征,最后與特征庫(kù)中的服裝圖像特征進(jìn)行相似性度量。陶彬嬌等[10]將分塊加權(quán)顏色直方圖與Grabcut圖像分割算法相結(jié)合,提升了對(duì)復(fù)雜背景的服裝圖片的檢索效果,優(yōu)于分別單獨(dú)使用這兩種方法。葛俊等[11]進(jìn)行兩次檢索,首先利用顏色直方圖,再使用局部二值模式(Local Binary Patterns,LBP)算子對(duì)第一次的返回結(jié)果進(jìn)行二次檢索。Gupta等[12]獲得服裝圖片的顏色和紋理的特征,通過計(jì)算向量距離得出檢索結(jié)果。陳倩等[13]計(jì)算顏色直方圖的特征值占比,然后將其進(jìn)行降序排列,去掉占比較小的值,則服裝圖片的主要顏色被保留并用于圖像檢索。近幾年,隨著深度學(xué)習(xí)的興起,其在處理計(jì)算機(jī)視覺任務(wù)上有了一系列重大的突破,此方法利用深度神經(jīng)網(wǎng)絡(luò)從大量的訓(xùn)練數(shù)據(jù)集中提取深層特征,發(fā)現(xiàn)訓(xùn)練的圖片信息中隱藏的表征特征。由于卷積神經(jīng)網(wǎng)絡(luò)(Convolutiona Neural Networks,CNN)[14]具備較強(qiáng)的非線性表示能力,能學(xué)習(xí)到圖片更深層次的信息,所以在圖像分類[15-17]、圖像分割[18]和目標(biāo)檢測(cè)[19-21]等領(lǐng)域都表現(xiàn)出較好的性能。如今基于卷積神經(jīng)網(wǎng)絡(luò)的服裝圖像檢索方法成為了該研究的主流方向。
早期CNN在圖像檢索方面的應(yīng)用,主要是提取深度網(wǎng)絡(luò)的全連接層作為圖片的特征向量[22-23]。林城龍[24]提出了一個(gè)更加輕量的深度卷積神經(jīng)網(wǎng)絡(luò)模型(Lighten-VGGNet),采用多任務(wù)分類方法對(duì)層次化標(biāo)注后的服裝圖像數(shù)據(jù)分類,使得網(wǎng)絡(luò)在分類時(shí)所提取的特征擁有對(duì)更多細(xì)化服裝類別屬性的表示能力,從而使服裝圖像分類準(zhǔn)確率得以提升。然而只提取全連接層無(wú)法保持空間結(jié)構(gòu),且該特征更多的是表示全局信息,丟失了服裝圖片的局部特征信息,導(dǎo)致檢索的平均精度均值(mean Average Precision,mAP)較低,所以融合多種服裝圖片特征,成為服裝圖像檢索的熱門研究方法[25-29]。陳媛媛等[25]基于深度卷積神經(jīng)網(wǎng)絡(luò)定位服裝關(guān)鍵點(diǎn),將關(guān)鍵點(diǎn)局部區(qū)域的特征與全局特征進(jìn)行融合。Huang等[26]提出雙路神經(jīng)網(wǎng)絡(luò)模型,其不僅提取全連接層特征,同時(shí)對(duì)靠前的卷積特征層下采樣,然后將結(jié)果與全局特征組合在一起。Liu等[27]設(shè)計(jì)了目前最大的標(biāo)注服裝圖像數(shù)據(jù)庫(kù)DeepFashion(超過80萬(wàn)幅圖片,50個(gè)細(xì)粒度類別和1 000個(gè)屬性),其將VGG 16[15]最后一層卷積分為三個(gè)分支,一分支進(jìn)行特征點(diǎn)可見性預(yù)測(cè)以及位置回歸,另外兩個(gè)分支分別提取圖片的局部特征(有助于應(yīng)對(duì)服飾變形和遮擋問題)和全局特征。Li等[28]采用多任務(wù)深度學(xué)習(xí)框架來學(xué)習(xí)表示,提出了用于不平衡學(xué)習(xí)的多重深度卷積神經(jīng)網(wǎng)絡(luò)。陳彥杰[29]利用了Faster RCNN[20]的框架,首先定位服裝的位置,然后利用關(guān)鍵點(diǎn)定位對(duì)服裝進(jìn)行特征點(diǎn)(landmark)定位,抽取各特征點(diǎn)附近的服裝特征作為局部特征,最后和全局分支的特征進(jìn)行特征融合作為最終的特征表示。
雖然上述方法融合了局部和全局特征且都在一定程度上提高了檢索的mAP,但是檢索出的服裝款式相似而顏色差異較大。在服飾上,色彩起到了視覺醒目的作用,人們首先看到的是顏色,其次才是其樣式、紋理等,所以顏色在服裝圖片分類檢索中是一個(gè)重要屬性,是評(píng)判檢索優(yōu)劣的重要指標(biāo)之一。而通過深度網(wǎng)絡(luò)獲取的特征涵蓋的顏色信息較少,所以本文提出一種新的服裝圖像檢索方法,即以ResNet50[17]為基礎(chǔ)網(wǎng)絡(luò),提取出其深層征和顏色特征,融合全局特征和局部特征進(jìn)行檢索,綜合考慮服裝圖片的多種特征。在一個(gè)較大規(guī)模的服裝圖像數(shù)據(jù)集deepfashion[27]的一個(gè)子集上進(jìn)行,綜合利用ResNet50提取圖像的兩種特征:深層網(wǎng)絡(luò)特征和顏色特征,利用ResNet50全局平均池化(Global Average Pooling,GAP)層降低模型的參數(shù)數(shù)量,與平均池化后的原圖對(duì)比獲取顏色特征,融合顏色特征和深層網(wǎng)絡(luò)特征,獲得較好的特征表達(dá)能力,有益于取得較好的檢索準(zhǔn)確率。
基于深度網(wǎng)絡(luò)的多特征融合服裝圖像檢索包括特征提取和相似性度量?jī)蓚€(gè)過程,如圖1所示。特征提取過程中,先將數(shù)據(jù)集中的圖片輸入到預(yù)訓(xùn)練好的網(wǎng)絡(luò)模型中,提取出通過網(wǎng)絡(luò)層輸出的深層特征,再使用聚合方法融合其他的特征信息作為圖像的全局特征表示,存入到特征庫(kù)中;相似性度量過程,是將待檢索的服裝圖片輸入到與數(shù)據(jù)集相同的神經(jīng)網(wǎng)絡(luò)中,并使用同種聚合方法,獲取待查詢服裝圖片的全局特征向量,通過比較待查詢圖片特征向量與特征庫(kù)中向量的距離,來進(jìn)行相似度的排序,按距離升序排列返回檢索結(jié)果。特征提取方法的好壞直接影響了檢索的準(zhǔn)確率,這是本文研究的重點(diǎn)。

圖1 基于深度網(wǎng)絡(luò)的多特征融合服裝圖像檢索框架
針對(duì)直接提取全連接層的特征進(jìn)行服裝圖像檢索而帶來的顏色效果不鮮明的問題,充分提取服裝圖片的特征,提高其檢索的平均準(zhǔn)確率,提出一種融合顏色特征和深度特征的服裝圖像檢索方法。因?qū)嶒?yàn)數(shù)據(jù)集較大,網(wǎng)絡(luò)層的加深有利于訓(xùn)練大型數(shù)據(jù)集,但有時(shí)深層網(wǎng)絡(luò)訓(xùn)練時(shí)出現(xiàn)過擬合效果反而沒有淺層網(wǎng)絡(luò)好。針對(duì)這種情況,殘差網(wǎng)絡(luò)[17]隨之出現(xiàn)在各種計(jì)算機(jī)視覺領(lǐng)域被廣泛應(yīng)用,解決了網(wǎng)絡(luò)層越多效果反而越不明朗的退化現(xiàn)象以及網(wǎng)絡(luò)層增加梯度爆炸等問題,且ResNet50[17]網(wǎng)絡(luò)自身融合了多層網(wǎng)絡(luò)結(jié)構(gòu),具有一定的層次性。所以本文實(shí)驗(yàn)預(yù)訓(xùn)練網(wǎng)絡(luò)模型以其為基礎(chǔ),去掉其最后的兩層全連接層,增加FC1層和FC2層,分別輸出512維和30維(本實(shí)驗(yàn)數(shù)據(jù)集選取了30種類別的圖片)的特征向量。融合顏色特征的深度網(wǎng)絡(luò)模型如圖2所示。

圖2 融合顏色特征的深度網(wǎng)絡(luò)模型
(1)將訓(xùn)練數(shù)據(jù)集以224×224大小輸入到ResNet50為基礎(chǔ)的網(wǎng)絡(luò)模型中。
(2)融合深層特征和顏色特征得到圖片全局特征,并建立特征庫(kù)。提取FC1層512維向量作為深度特征向量;網(wǎng)絡(luò)層的最后一層卷積層提取特征圖進(jìn)行平均池化,得到一個(gè)矩陣,記錄最大的10個(gè)值的位置,對(duì)原圖的RGB同樣做平均池化得到矩陣,根據(jù)以上選出的10個(gè)位置,取出原圖池化后矩陣相應(yīng)位置的RGB值,得到一個(gè)10×3的二維矩陣,將其標(biāo)準(zhǔn)化后轉(zhuǎn)換為一個(gè)30維的向量,作為圖片的顏色特征;將得到的兩種向量進(jìn)行串行合并,輸出542維向量作為圖片最終的全局特征表示,保存在特征庫(kù)中。
(3)使用K-means算法對(duì)特征庫(kù)中的向量進(jìn)行聚類,設(shè)置類簇?cái)?shù)K=30(服裝數(shù)據(jù)集類別數(shù)維30)。
(4)用相同方式獲取待檢索圖片的全局特征向量。
(5)依次計(jì)算聚類中心的向量與待檢索圖片向量量的距離(為負(fù)數(shù)),得到與目標(biāo)圖片特征向量距離最近的N個(gè)結(jié)果對(duì)應(yīng)的圖片作為檢索結(jié)果顯示。N可取值為5、10、20三個(gè)參數(shù)。
向深度卷積網(wǎng)絡(luò)輸入一個(gè)C×H×W的三維張量,C表示特征的通道數(shù),初始值為3;H和W分別表示輸入圖片的高和寬的像素大小。在圖2中,圖片經(jīng)過多層卷積操作,每一層卷積的輸入為上一層的輸出,計(jì)算方法如下:
(1)


(2)
經(jīng)過卷積后的特征圖維數(shù)較高、參數(shù)較多,增加了計(jì)算的時(shí)間和難度,所以池化層作為一個(gè)重要操作出現(xiàn)在卷積操作之后,其不僅減小了網(wǎng)絡(luò)模型的計(jì)算難度,而且提升了模型的泛化能力。殘差網(wǎng)絡(luò)采用了平均池化(mean-pooling)對(duì)鄰域內(nèi)特征點(diǎn)求平均值,池化操作公式如下:
(3)
式中:down()為池化操作過程,池化操作輸出結(jié)果乘以權(quán)重β加上偏置b之后,再經(jīng)過激活函數(shù)f()輸出最終結(jié)果。
如圖2所示,以ResNet50[17]為主網(wǎng)絡(luò)模型,其最后的卷積層輸出若干個(gè)7×7的卷積結(jié)果,去掉其最后的兩層全連接層,加入兩個(gè)全連接層:FC1層和FC2層,分別輸出512維和30維(本實(shí)驗(yàn)數(shù)據(jù)集選取了30種類別的圖片)的特征向量。對(duì)網(wǎng)絡(luò)模型進(jìn)行微調(diào),使用已有的ResNet50模型及參數(shù),來訓(xùn)練全連接層的參數(shù),得到一個(gè)擬合服裝圖片數(shù)據(jù)集的網(wǎng)絡(luò)模型,提取FC1層的512維的向量,作為本文的深層網(wǎng)絡(luò)特征。FC1層融合了ResNet50網(wǎng)絡(luò)中三個(gè)模塊的網(wǎng)絡(luò)特征,使提取的深層特征具有一定的有效性和層次性。
網(wǎng)絡(luò)模型的最后一層卷積層中有2 048個(gè)7×7卷積,因此可以直接利用卷積層后的特征圖提取信息較強(qiáng)位置的RGB值。經(jīng)過幾十次卷積操作之后保留的特征圖的信息更加具有針對(duì)性,對(duì)其進(jìn)行平均池化后得出7×7的矩陣,在其中選擇最大的10個(gè)值,并記錄其位置。然后將原圖的RGB值做平均池化,池化為7×7的矩陣,根據(jù)上一步得到的10個(gè)值最大的位置,選出圖片中相對(duì)應(yīng)的10個(gè)RGB值得到3×10維的顏色特征,將該矩陣標(biāo)準(zhǔn)化處理,z-score標(biāo)準(zhǔn)化公式如下:
(4)
式中:x表示真實(shí)值;μ表示矩陣的平均值;σ表示標(biāo)準(zhǔn)差。之后將矩陣轉(zhuǎn)換為一個(gè)30維向量。最后將全連接層得到的512維向量與30維顏色向量進(jìn)行并行連接,得到一個(gè)542維的特征向量,作為最終的特征表示。
為了驗(yàn)證本文所提出方法的效果,本實(shí)驗(yàn)選用了Category and Attribute Prediction Benchmark作為數(shù)據(jù)集,其包含20多萬(wàn)數(shù)量級(jí)的50種類別的服裝圖片,本實(shí)驗(yàn)從其子集中抽取6萬(wàn)訓(xùn)練集、2萬(wàn)測(cè)試集和2萬(wàn)驗(yàn)證集進(jìn)行試驗(yàn),其中包含30種類別的圖片。實(shí)驗(yàn)采用Python編譯并實(shí)現(xiàn)。
特征庫(kù)中所有圖像的深度特征均是基于Pytorch框架的網(wǎng)絡(luò)層所提取的,這些網(wǎng)絡(luò)參數(shù)是在ImageNet數(shù)據(jù)集上預(yù)先訓(xùn)練好的。
在檢索策略中,通常采用平均精度均值(mean Average Precision,mAP)來判斷檢索效果的優(yōu)劣,一次檢索完成后,與待檢索圖片相似的圖片數(shù)量占檢索出圖片總數(shù)量的比例即為檢索準(zhǔn)確率。定義如下:

(5)
(6)
為判斷融合服裝顏色特征和深層網(wǎng)絡(luò)特征的圖像檢索方法的性能優(yōu)越性,本文展開了一系列對(duì)比實(shí)驗(yàn),分別以ImageNet上預(yù)訓(xùn)練的網(wǎng)絡(luò)模型:VGG16、GoogleNet、ResNet50為基礎(chǔ)進(jìn)行微調(diào),并提取倒數(shù)第二層全連接層的特征,然后以ResNet50網(wǎng)絡(luò)結(jié)構(gòu)為基礎(chǔ)提取兩種特征并進(jìn)行融合(ResNet50+Color)。以四種方法進(jìn)行實(shí)驗(yàn)對(duì)比,同時(shí)都采用K-means聚類進(jìn)行檢索,根據(jù)實(shí)驗(yàn)檢索返回的前5、10、20幅圖片來計(jì)算準(zhǔn)確率,實(shí)驗(yàn)結(jié)果如表1所示。可以看出,在服裝數(shù)據(jù)集上,選擇的幾種卷積神經(jīng)網(wǎng)絡(luò)模型中,ResNet50的效果更好。所以本文選擇以ResNet50為基礎(chǔ)模型,并進(jìn)行微調(diào),同時(shí)增加了顏色特征,本文改進(jìn)方法的實(shí)驗(yàn)結(jié)果明顯優(yōu)于沒有增加顏色特征的方法,相比之下檢索mAP在N=5,10,20時(shí)分別提升了4.45%、6.85%、2.49%。因?yàn)槿诤系亩喾N特征比單一的特征更能表達(dá)圖片的信息,所以本文提出的方法能得到更優(yōu)的檢索結(jié)果。

表1 算法模型的檢索mAP比較 %
因服裝數(shù)據(jù)集類別較多,所以從30種類別中抽取了8種,在四種不同的算法下進(jìn)行實(shí)驗(yàn),每種服裝圖像N=5時(shí)的檢索準(zhǔn)確率如圖3所示。從單個(gè)類別的服裝來看,由于每種類別服裝圖片數(shù)量不同造成準(zhǔn)確率有所波動(dòng),但是本文方法的平均檢索準(zhǔn)確率依然高于其他方法。

圖3 不同方法下每類服裝的mAP(N=5)
ResNet50與ResNet50+Color的特征提取檢索對(duì)比結(jié)果如圖4所示,其中:Score表示待檢索圖片向量與檢索出的圖片向量的距離計(jì)算結(jié)果,結(jié)果取負(fù)數(shù),Score為0表示兩幅圖片相似度最高,負(fù)數(shù)越大表示相識(shí)度越低。可以看出,只提取全連接層特征,服裝的款式雖然相似,但是顏色差異較大;(c)和(d)融合了兩種特征之后,不論是服裝的顏色還是款式,都能得到預(yù)期的效果,所以融合兩種特征明顯提高了服裝圖像檢索的mAP,比單一的特征更能表示圖片信息。

(a)只提取ResNet50全連接層特征檢索結(jié)果
表2為N=5時(shí)只提取ResNet50全連接層特征和提取兩種特征并進(jìn)行融合檢索的準(zhǔn)確率和時(shí)間對(duì)比。可以明顯看出,融合了顏色特征和深層網(wǎng)絡(luò)特征之后進(jìn)行檢索雖然提高了檢索精度,但是檢索時(shí)間增加了,原因是使用兩種特征融合增加了特征表示向量的維度,所以在進(jìn)行相似性度時(shí)耗時(shí)要長(zhǎng)一些。

表2 ResNet50與ResNet50+Color方法檢索的mAP與時(shí)間比較
本文提出的融合顏色特征和深度特征服裝圖像檢索算法,通過ResNet50預(yù)訓(xùn)練網(wǎng)絡(luò)模型提取服裝圖片自身深層網(wǎng)絡(luò)特征和顏色特征,將兩個(gè)特征向量進(jìn)行并行連接,最終通過K-means對(duì)特征進(jìn)行聚類檢索,從而提高檢索效率,減小時(shí)間開銷。實(shí)驗(yàn)對(duì)比結(jié)果顯示,本文算法的mAP明顯要高于直接使用ResNet50深度網(wǎng)絡(luò)提取的單一特征算法,且顯示的檢索圖片效果款式和顏色相似性明顯,檢索時(shí)間雖然比單一特征提取耗時(shí)長(zhǎng),但是相差并不大,對(duì)檢索沒有造成很大的影響。深度學(xué)習(xí)需要大量的數(shù)據(jù)量支持,后續(xù)可以增加服裝圖片量或者換其他數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)驗(yàn)證,優(yōu)化網(wǎng)絡(luò)模型,以進(jìn)一步提高檢索的準(zhǔn)確率。