本發(fā)明涉及一種基于卷積神經(jīng)網(wǎng)絡(luò)的服裝檢索方法,具體地涉及一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的服裝屬性檢索方法。
背景技術(shù):
:隨著互聯(lián)網(wǎng)和服裝電子商務(wù)的迅速發(fā)展,網(wǎng)絡(luò)購物市場逐年擴(kuò)大,如何利用檢索技術(shù)幫助用戶快速找到心儀的服裝是一個(gè)非常重要的任務(wù)。然而,服裝檢測的識別難度很高:其一,衣服形變大,服裝本身是柔性很大的物體,人不同的姿勢會導(dǎo)致服裝的形狀不同;其二,在不同的光照情況和復(fù)雜的場景下,區(qū)分不同服裝類型的困難也會增加;此外,衣服的設(shè)計(jì)包含了大量細(xì)節(jié)屬性,比如領(lǐng)型、版型、顏色、裝飾等等,想要區(qū)分出它們的難度很大。目前廣泛使用的服裝檢索方法是利用分類器來區(qū)分各種服裝屬性,其成功的關(guān)鍵是首先對于各種類型服裝的屬性進(jìn)行特征描述,其次選擇合適的分類器來學(xué)習(xí)訓(xùn)練樣本,從而得到模型。一般來說,大部分的基于手工提取特征的方法主要使用邊緣梯度直方圖(histogramoforientedgradient,hog)和分層梯度方向直方圖(pyramidhistogramoforientedgradients,phog)。但是這些方法的瓶頸是手工提取特征只對某一方面敏感。比如,邊緣梯度直方圖只對梯度敏感。因此,研究人員提出了新的方法,例如:將屬性概念引入服裝檢索、采用細(xì)粒度的屬性分類。另一方面,卷積神經(jīng)網(wǎng)絡(luò)已經(jīng)進(jìn)入到服裝屬性檢測領(lǐng)域,相比于手工提取特征的方法,卷積神經(jīng)網(wǎng)絡(luò)大大提高了服裝檢測的性能。為了研究如何在網(wǎng)上商店匹配街頭服裝照片的實(shí)際問題,雙重屬性感知網(wǎng)絡(luò)和局部共享卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)也被提出。例如中國專利文獻(xiàn)cn106250423公開了一種基于部分參數(shù)共享的深度卷積神經(jīng)網(wǎng)絡(luò)跨域服裝檢索方法該方法利用了深度神經(jīng)網(wǎng)絡(luò)模型中越高層的網(wǎng)絡(luò)層的特征越具有語義信息,與訓(xùn)練數(shù)據(jù)所在域的關(guān)系越密切,越低層的網(wǎng)絡(luò)層的特征越具有一般性,越與訓(xùn)練數(shù)據(jù)所在域無關(guān),依此讓傳統(tǒng)的深度卷積神經(jīng)網(wǎng)絡(luò)跨域服裝檢索模型中的低層的網(wǎng)絡(luò)層參數(shù)共享,而高層的網(wǎng)絡(luò)層參數(shù)由各個(gè)域保有。使用更少參數(shù)但卻獲得相同效果的方法,通過利用深度神經(jīng)網(wǎng)絡(luò)模型內(nèi)在的特性,顯著性減少模型參數(shù)數(shù)量。但是其并沒有改善服裝屬性預(yù)測的準(zhǔn)確率。本發(fā)明因此而來。技術(shù)實(shí)現(xiàn)要素:針對上述存在的缺陷,本發(fā)明的目的是提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的服裝屬性檢索方法。利用多任務(wù)學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)結(jié)合的服裝屬性檢測模型,同時(shí)對于提取的各個(gè)服裝屬性特征構(gòu)建適當(dāng)?shù)膶傩詷?,可以將服裝屬性的特征描述用于部分服裝屬性檢測,可顯著提高服裝屬性預(yù)測的準(zhǔn)確率。本發(fā)明的技術(shù)方案是:一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的服裝屬性檢索方法,包括以下步驟:s01:采用快速的基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)對輸入圖像進(jìn)行人像檢測;s02:使用預(yù)訓(xùn)練的深度卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行屬性特征提取,并保留最后池化層的特征;s03:通過共享層連接最后池化層保留的特征,并融合所有屬性的特征信息;s04:建立屬性樹,將服裝屬性進(jìn)行分類,將共享層按照分類進(jìn)行分支,每個(gè)屬性分支用于一組相關(guān)屬性預(yù)測;s05:將屬性分支的輸出串聯(lián)疊加,進(jìn)行歸一化,通過局部敏感哈希法進(jìn)行相似度衡量,得出結(jié)果。優(yōu)選的,所述步驟s01具體包括:使用選擇性搜索在輸入圖像中生成多個(gè)感興趣區(qū)域候選框,輸入到全卷積的卷積神經(jīng)網(wǎng)絡(luò)中,在最后一個(gè)卷積層上對每個(gè)感興趣區(qū)域求映射關(guān)系,并用感興趣區(qū)域池化層統(tǒng)一大?。煌ㄟ^全連接層得到特征向量,特征向量經(jīng)由各自的全連接層,得到兩個(gè)輸出向量:一個(gè)是使用交叉熵?fù)p失函數(shù)得到的分類,另一個(gè)是每一類的邊界位置回歸。優(yōu)選的,所述步驟s04中的屬性分支包括類別、性別、顏色和圖案。優(yōu)選的,所述步驟s04中屬性分支在進(jìn)行屬性預(yù)測的前饋過程中,共享層將副本分配給每個(gè)屬性分支,而在后向傳播過程中,共享層積累每個(gè)屬性分支的梯度。優(yōu)選的,所述步驟s05中進(jìn)行歸一化后,使用主成份分析法進(jìn)行降維,具體步驟如下:s11:將原始特征數(shù)據(jù)按行排列組成矩陣x,并對x進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化,使其均值變?yōu)榱?;s12:求x的協(xié)方差矩陣c,將特征值按照從大到小的順序排序,選擇其中最大的k個(gè),然后將其對應(yīng)的k個(gè)特征向量分別作為列向量組成特征向量矩陣p;s13:通過計(jì)算y=px,得到降維后數(shù)據(jù)y。優(yōu)選的,所述步驟s05中通過局部敏感哈希法進(jìn)行相似度衡量包括離線建立索引和在線查找兩個(gè)步驟,具體步驟如下:s21:選取滿足條件的局部敏感哈希的哈希函數(shù),根據(jù)對查找結(jié)果的準(zhǔn)確率確定哈希表的個(gè)數(shù)l,每個(gè)哈希表內(nèi)的哈希函數(shù)的個(gè)數(shù)k,以及與哈希函數(shù)自身有關(guān)的參數(shù);將所有數(shù)據(jù)經(jīng)過哈希函數(shù)哈希到相應(yīng)的桶內(nèi),構(gòu)成了一個(gè)或多個(gè)哈希表;s22:將查找數(shù)據(jù)經(jīng)過哈希函數(shù)哈希得到相應(yīng)的桶號,將桶號中對應(yīng)的前2l個(gè)數(shù)據(jù)取出,最后計(jì)算查詢數(shù)據(jù)與這2l個(gè)數(shù)據(jù)之間的相似度或距離,返回最近鄰的數(shù)據(jù)。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)是:將多任務(wù)學(xué)習(xí)和卷積神經(jīng)網(wǎng)絡(luò)結(jié)合作為服裝屬性檢測模型,同時(shí)對于提取的各個(gè)服裝屬性特征構(gòu)建適當(dāng)?shù)膶傩詷?。本發(fā)明可以將服裝屬性的特征描述用于部分服裝屬性檢測。此方法可顯著提高服裝屬性預(yù)測的準(zhǔn)確率。附圖說明下面結(jié)合附圖及實(shí)施例對本發(fā)明作進(jìn)一步描述:圖1為本發(fā)明基于深度卷積神經(jīng)網(wǎng)絡(luò)的服裝屬性檢索方法的流程圖;圖2為服裝屬性相關(guān)特征提取及構(gòu)造屬性樹;圖3為服裝檢索示例;圖4是一個(gè)基于不同屬性分支的服裝檢索的對比示例。具體實(shí)施方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明了,下面結(jié)合具體實(shí)施方式并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說明中,省略了對公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。如圖1所示,本發(fā)明基于深度卷積神經(jīng)網(wǎng)絡(luò)的服裝屬性檢索方法,包括以下步驟:第一步:采用快速的基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)(fastregion-basedconvolutionalnetwork,fastrcnn)作為目標(biāo)檢測器,從復(fù)雜的背景圖片中檢測人像。目標(biāo)檢測具體步驟如下:1、使用選擇性搜索(selectivesearch)在一張圖片中生成約2000個(gè)候選框(可能會包含人像的矩形區(qū)域),即感興趣區(qū)域(regionofinterest,roi)。2、把它們整體輸入到全卷積的網(wǎng)絡(luò)中,在最后一個(gè)卷積層上對每個(gè)感興趣區(qū)域求映射關(guān)系,并用一個(gè)感興趣區(qū)域池化層來統(tǒng)一到相同的大小。3、繼續(xù)經(jīng)過兩個(gè)全連接層(fullyconnectedlayers,fc)得到特征向量。特征向量經(jīng)由各自的全連接層,得到兩個(gè)輸出向量:第一個(gè)是分類,使用交叉熵?fù)p失函數(shù),第二個(gè)是每一類的精確邊界位置回歸。整個(gè)過程是一個(gè)實(shí)時(shí)的目標(biāo)檢測框架,使用多任務(wù)損失的端到端訓(xùn)練,大幅提升了目標(biāo)檢測的速度。第二步:基于第一步的目標(biāo)檢測結(jié)果,結(jié)合卷積神經(jīng)網(wǎng)絡(luò)(resnet50及resnet152,網(wǎng)絡(luò)結(jié)構(gòu)見表1)和多任務(wù)學(xué)習(xí)來預(yù)測服裝屬性,并提取屬性相關(guān)的特征。為了更好的描述服裝屬性之間的關(guān)系,同時(shí)提高服裝屬性的分類效果,鑒于屬性相關(guān)的先驗(yàn)知識,我們建立了屬性樹。在屬性樹中,服裝屬性被分為四類:類別,性別,顏色和圖案。表1resnet50及resnet152網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,具體過程如下:1、基于第一步中從復(fù)雜的背景圖片中檢測到的人像,使用預(yù)訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)(resnet50及resnet152)進(jìn)行特征提取,并保留第五個(gè)池化層的特征。2、通過共享層連接上一步保留的特征,并融合所有屬性的特征信息。3、最后,共享層被分為四個(gè)服裝屬性分支,包括類別,性別,顏色和圖案。在前饋過程中,共享層將副本分配給每個(gè)分支,而在后向傳播過程中,共享層積累每個(gè)分支的梯度。inbi=outs(1)在等式(1)和等式(2)中,inbi是分支i前饋運(yùn)算的輸入,outs是共享層的輸出。gs和gbi是共享層的梯度和反向傳播中的分支i的梯度。第三步:使用主成分分析(principalcomponentanalysis,pca)和局部敏感哈希法(locality-sensitivehashing,lsh)進(jìn)行相似度衡量。豐富的特征通常由高維向量表示。理想的相似度衡量通常需要滿足以下四個(gè)條件:高精度、低空間復(fù)雜度、低時(shí)間復(fù)雜度和支持高維度。在本發(fā)明中,我們運(yùn)用主成分分析法丟棄冗余特征,降低特征的維數(shù),同時(shí)保證特征的最大協(xié)方差。在對特征進(jìn)行主成分分析之后,后續(xù)的步驟會被加快。主成分分析的具體步驟如下:1、將原始特征數(shù)據(jù)按行排列組成矩陣x;2、對x進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化,使其均值變?yōu)榱悖?、求x的協(xié)方差矩陣c;4、將特征值按照從大到小的順序排序,選擇其中最大的k個(gè),然后講其對應(yīng)的k個(gè)特征向量分別作為列向量組成特征向量矩陣p;5、通過計(jì)算y=px,得到降維后數(shù)據(jù)y;接下來為了檢索出與查詢服裝圖片屬性相似的圖片集合,我們對數(shù)據(jù)庫中訓(xùn)練集圖片建立局部敏感哈希索引,然后通過局部敏感哈希索引來查找與測試數(shù)據(jù)集圖片相似的訓(xùn)練測試集圖片,具體過程如下:一、離線建立索引首先選取滿足條件的局部敏感哈希的哈希函數(shù)(locality-sensitivehashinghashfunction,lshhashfunction),根據(jù)對查找結(jié)果的準(zhǔn)確率確定哈希表的個(gè)數(shù)l,每個(gè)哈希表內(nèi)的哈希函數(shù)的個(gè)數(shù)k,以及與lshhashfunction自身有關(guān)的參數(shù);接下來將所有數(shù)據(jù)經(jīng)過lshhashfunction哈希到相應(yīng)的桶內(nèi),構(gòu)成了一個(gè)或多個(gè)哈希表;二、在線查找將查找數(shù)據(jù)經(jīng)過lshhashfuction哈希得到相應(yīng)的桶號,將桶號中對應(yīng)的前2l個(gè)數(shù)據(jù)取出,最后計(jì)算查詢數(shù)據(jù)與這2l個(gè)數(shù)據(jù)之間的相似度或距離,返回最近鄰的數(shù)據(jù)。本發(fā)明應(yīng)用于具體的實(shí)例如下:本發(fā)明應(yīng)用于一個(gè)公開的服裝屬性數(shù)據(jù)集,該數(shù)據(jù)集包括26種服裝屬性。實(shí)驗(yàn)開展方式為:基于卷積神經(jīng)網(wǎng)絡(luò)的matlab工具箱(matcovnet),每16張樣本圖片進(jìn)行一次隨即梯度下降運(yùn)算,學(xué)習(xí)率為0.00001。數(shù)據(jù)集被隨機(jī)分為獨(dú)立的三部分,訓(xùn)練集,驗(yàn)證集和測試集。其中訓(xùn)練集用來擬合模型,驗(yàn)證集用來估測模型收斂情況,而測試集用來評估模型性能。三部分分別占總樣本的70%,10%和20%。我們分別將收斂的152層的殘差網(wǎng)(resnet152)和50層的殘差網(wǎng)(resnet50)作為多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)的初始化狀態(tài),從共享層之后的多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)層參數(shù)被隨機(jī)初始化。表2為采用本發(fā)明技術(shù)方案的服裝屬性預(yù)測準(zhǔn)確率,可以看到,在resnet152和多任務(wù)學(xué)習(xí)組合下,本發(fā)明的技術(shù)方案獲得了較高的服裝屬性預(yù)測準(zhǔn)確率。表3給出了在同多任務(wù)學(xué)習(xí)組合下,resnet152和resnet50的時(shí)間復(fù)雜度。表2本發(fā)明下的服裝屬性預(yù)測準(zhǔn)確率表3多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)的時(shí)間復(fù)雜度在本發(fā)明中,多任務(wù)卷積神經(jīng)網(wǎng)絡(luò)的每個(gè)分支用于一組相關(guān)屬性預(yù)測,圖3為服裝檢索示例。部分或者所有分支的輸出被串聯(lián)疊加起來,通過z得分法(z-score)歸一化,主成份分析法降維。最后,將局部敏感哈希法用于搜索前30個(gè)最相似的服裝。表4為檢索具有某組屬性的服裝的準(zhǔn)確率,表5為以不同分支為基礎(chǔ)的服裝屬性檢索準(zhǔn)確率。表4基于屬性的服裝檢索準(zhǔn)確率種類性別顏色圖案種類30.6772.3382.9486.74性別30.0477.1882.9086.72顏色27.8874.0884.1686.51圖案27.9273.383.9387.11表5以不同分支為基礎(chǔ)的服裝屬性檢索準(zhǔn)確率圖4是一個(gè)基于不同屬性分支的服裝檢索的對比示例。當(dāng)使用類別分支特征進(jìn)行檢索時(shí),第二十四張檢索結(jié)果為女性。然而當(dāng)我們將類別和性別分支同時(shí)用于服裝檢索時(shí),檢索結(jié)果發(fā)生變化,在前三十張檢索結(jié)果中沒有女性。表6列出了本發(fā)明整個(gè)系統(tǒng)的運(yùn)行時(shí)間,主要包括三個(gè)不同的模塊。當(dāng)系統(tǒng)在中央處理器,intel(r)xeon(r)e5-1650v3,運(yùn)行時(shí),每張圖片的處理時(shí)間為101.5毫秒。表6系統(tǒng)運(yùn)行的時(shí)間復(fù)雜度應(yīng)當(dāng)理解的是,本發(fā)明的上述具體實(shí)施方式僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。當(dāng)前第1頁12