張飚雪 劉成霞
摘要: 目前網(wǎng)購平臺的搜索對象仍以文字為主,致使搜索效率低下。文章以廣受女性歡迎的淺口高跟鞋為例,對利用圖片進行款式自動識別的技術(shù)進行探索。以網(wǎng)購平臺上收集的3類淺口高跟鞋(粗跟、細跟、坡跟)共900張圖片(每款隨機抽取200張作為訓(xùn)練集,剩余100張作為測試集)為研究對象,然后利用深度學(xué)習(xí)中的Faster R CNN檢測模型對淺口高跟鞋款式進行訓(xùn)練和測試識別。結(jié)果表明:無論以鞋跟為目標區(qū)域,還是以整只鞋為檢測區(qū)域,利用該模型都能對淺口高跟鞋圖像實現(xiàn)良好的款式識別,準確率可達94%以上,且不用經(jīng)過人為特征提取,方便可行;Faster R CNN檢測模型的總體精度和檢測速度比R CNN、SPP-Net、FAST R CNN更優(yōu)。
關(guān)鍵詞: 深度學(xué)習(xí);款式識別;淺口高跟鞋;Faster R CNN;卷積神經(jīng)網(wǎng)絡(luò)
中圖分類號: TS941.2
文獻標志碼: A
文章編號: 10017003(2021)01007906
引用頁碼: 011112
DOI: 10.3969/j.issn.1001-7003.2021.01.012(篇序)
Style recognition of shallow opening high-heeled shoes based on Faster R CNN
ZHANG Biaoxue1, LIU Chengxia2
(1.Yuanpei College, Shaoxing University, Shaoxing 312000, China; 2.School of Fashion Design & Engineering,Zhejiang Sci-Tech University, Hangzhou 310018, China)
Abstract:
Nowadays, the search object of online shopping platform is still mainly text, thus leading to low search efficiency. This paper researched the technology on how to realize style recognition by images of shallow opening high-heeled shoes popular with female. A total of 900 pictures of 3 kinds of shallow opening high-heeled shoes(thick heel, thin heel and wedge heel) collected from online shopping platforms(200 pictures of each style were randomly drawn as the training set, and the remaining 100 pictures were used as the test set) were selected as the object of study. Then, Faster R CNN in deep learning was used to train and test to recognize the style of shallow opening high-heeled shoes. Results showed that, Faster R CNN could recognize the style well, whether the heel or the whole shoe was used for the object area, with the precision reaching 94%. And it was very convenient because of no need of manual feature extraction. Moreover, the whole accuracy and detection speed of Faster R CNN were better than that of R CNN, SPP-Net and FAST R CNN.
Key words:
deep learning; style recognition; shallow opening high-heeled shoes; Faster R CNN; convolution neural network
在電子商務(wù)已成必然趨勢的當今社會,網(wǎng)購發(fā)展迅速,越來越多的人通過網(wǎng)購挑選服裝服飾。然而目前線上購物查找大多還是使用文字檢索,這一方式需要對產(chǎn)品進行文字標注,不僅要耗費大量人力,且文字描述的能力也很有限,因此買家要快速搜到滿意的商品非常困難,尤其是對服飾這樣的非標品更加如此。如果能實現(xiàn)圖像檢索,客戶可以直接由圖片搜到心儀的服飾[1],無疑會大幅提高網(wǎng)購便捷性,提升用戶購買欲。
數(shù)字圖像技術(shù)的發(fā)展使其成為可能,目前已有較多的研究圍繞服裝款式的自動識別[2-4]展開,如利用服裝局部HOG特征,結(jié)合關(guān)鍵尺寸進行款式分類[5];利用匹配卷積神經(jīng)網(wǎng)絡(luò)和超像素平滑等方法[6]進行語義分割,以及多人的服裝分割算法[7]等。但上述人工構(gòu)造特征及傳統(tǒng)的分類方法易受檢測圖像多樣性的影響,使檢測效果不夠理想。近年來,深度學(xué)習(xí)技術(shù)在多個領(lǐng)域都有了越來越廣泛的應(yīng)用,展示出巨大優(yōu)勢,其中CNN(卷積神經(jīng)網(wǎng)絡(luò))[8]由于可以提取多層特征,無須人工設(shè)計特征、分類檢測準確率高等優(yōu)勢而引起廣泛關(guān)注[9-10]。
綜上,現(xiàn)有的自動識別技術(shù)一般針對服裝的款式展開研究,但是配飾也對著裝的整體效果起著不可或缺的重要作用。高跟鞋作為廣受女性歡迎的服飾之一,本文擬利用卷積神經(jīng)網(wǎng)絡(luò)中的Faster R CNN模型[11]對高跟鞋款式的自動識別加以研究,不僅能促進服裝智能搭配系統(tǒng)的研發(fā),還將有助于電子商務(wù)的發(fā)展,對圖像處理技術(shù)也有一定的參考。
1 實 驗
1.1 樣本庫
高跟鞋款式眾多,其中變化最多的部位是鞋跟、鞋面、鞋頭,根據(jù)鞋跟高度可分為低跟、中跟、高跟等;根據(jù)鞋跟形狀則可分為細跟、粗跟、坡跟等;而按照鞋面沿口高低又可分為淺口款、高幫款、長筒款等。其中淺口高跟鞋的適用性較廣,所以本文以淺口高跟鞋為例展開研究,具體選擇跟高在6~10 cm的三種(細跟、粗跟和坡跟)淺口高跟鞋。所用圖像樣本來源于淘寶、京東等線上銷售網(wǎng)絡(luò)平臺,均為純色背景,且側(cè)面180°擺放。三款高跟鞋的樣本圖像各300張,共900張,并將其統(tǒng)一裁剪成500像素×500像素。每種款式隨機抽取200張作為訓(xùn)練集,剩余100張作為測試集,并對圖像進行標記。
1.2 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)[10]如圖1所示,分為輸入層、隱含層和輸出層,其中輸入為原始圖像,卷積層、池化層和全連接層構(gòu)成了其隱含層,輸出層即檢測結(jié)果。卷積層類似前饋神經(jīng)網(wǎng)絡(luò)的神經(jīng)元,對輸入圖像進行特征提取,卷積層參數(shù)決定了輸出特征圖的尺寸;池化層對特征提取后輸出的特征圖進行特征選擇;連接層類似傳統(tǒng)前饋神經(jīng)網(wǎng)絡(luò)中的隱含層,并只向其他全連接層傳遞信號。
1.3 Faster R CNN檢測模型
Faster R CNN的基本結(jié)構(gòu)[11]如圖2所示,輸入圖片經(jīng)過底部卷積層提取特征,得到特征圖,區(qū)域建議網(wǎng)絡(luò)利用特征圖生成候選區(qū)域,再用分類器對候選區(qū)域進行分類,最后判斷候選區(qū)域中是否含有目標。
由上述可知,F(xiàn)aster R CNN模型由四個模塊組成:1)卷積層,原始圖像通過一定的卷積層、池化層提取圖像特征,輸出其特征圖;2)區(qū)域建議網(wǎng)絡(luò)(RPN),是一個深度全卷積網(wǎng)絡(luò),同時進行邊框預(yù)測及得分計算,用于生成建議區(qū)域;3)池化層,PRN在得到候選區(qū)域后,將特征圖與候選區(qū)一起送入池化層;4)Faster R CNN檢測器,從RPN產(chǎn)生的目標框作為輸入提取特征,最后通過Softmax檢測目標類別并做邊框回歸。Faster R CNN通過共享卷積的方式將RPN和R C NN相連接,且進行了聯(lián)合訓(xùn)練,所以Faster R CNN模型比單一網(wǎng)絡(luò)結(jié)構(gòu)更能提升圖像檢測性能。
1.4 基于Faster R CNN的淺口高跟鞋款式識別模型
1.4.1 整體識別框架
圖3為利用Faster R CNN模型對淺口高跟鞋款式進行識別的框架。首先利用訓(xùn)練集(由粗跟、細跟和坡跟三款組成,每款200張圖片)對Faster R CNN模型(其主要由RPN和R CNN兩部分組成)進行訓(xùn)練,生成檢測模型,然后將測試集(由粗跟、細跟和坡跟三款組成,每款100張圖片)輸入檢測模型,驗證識別結(jié)果(結(jié)果為粗跟、細跟或坡跟)。本文使用包含13個卷積層、5個最大池化層和3個全連接層的VGG16[12]作為特征提取網(wǎng)絡(luò),并使用線性整流函數(shù)作為激活函數(shù)。
1.4.2 具體識別流程
圖4為利用Faster R CNN模型對淺口高跟鞋款式進行識別的具體流程。當輸入的淺口高跟鞋圖像經(jīng)過VGG16特征提取網(wǎng)絡(luò)后,會對細跟、粗跟和坡跟鞋的特征信息進行提取,并輸出特征圖,該特征圖被輸入到RPN層和池化層共享。
特征圖輸入到RPN網(wǎng)絡(luò)后,先進行1次3×3的卷積運算,再進行2次1×1的卷積運算。其中一次是計算檢測區(qū)域的前景(識別目標,即本文中的鞋跟款式)或背景概率,另一次1×1卷積運算用于給候選區(qū)域精確定位。換句話說,RPN以特征圖作為輸入,并通過滑動3×3窗口獲得錨(anchor,即每個滑動窗口的中心框),結(jié)合不同尺寸和比例的區(qū)域建議,每個錨產(chǎn)生9個不同的錨框,然后輸出可能包含細跟、粗跟和坡跟的矩形候選框及得分。RPN通過滑動窗口,可同時預(yù)測多個候選區(qū)[13]。
由于RPN產(chǎn)生的候選區(qū)域尺寸不同,所以池化層以特征圖和RPN網(wǎng)絡(luò)輸出的候選框作為輸入,將其映射成固定尺寸的候選框后輸入全連接層。
最后利用Softmax層對每個候選框進行分類并輸出得分;同時利用回歸獲得更精確的邊界框,也就是最終得到高跟鞋類別(細跟、粗跟或坡跟)及得分。
1.4.3 評價指標
在深度學(xué)習(xí)領(lǐng)域,準確率P(%)和召回率R(%)常被用來評價模型性能[14],因此本文也用其評價淺口高跟鞋檢測模型的性能,并用處理每張圖片所用時間T(s)來評價模型的檢測效率。P是準確識別的目標數(shù)與被判定為目標的總數(shù)之百分比,即查準率;召回率R是正確識別的目標數(shù)與實際目標總數(shù)之百分比,即查全率。
P/%=TPTP+FP×100(1)
R/%=TPTP+FN×100(2)
以粗跟為例,TP表示將粗跟預(yù)測為粗跟的樣本數(shù);FN表示將粗跟預(yù)測為細跟或坡跟的樣本數(shù);FP表示將細跟或坡跟預(yù)測為粗跟的樣本數(shù);TN表示將細跟或坡跟預(yù)測為細跟或坡跟的樣本數(shù)。
假定實際粗跟有100個樣本,將粗跟檢測為粗跟的樣本數(shù)40個(即TP),將粗跟檢測為細跟或坡跟的樣本數(shù)為20個(FN),將細跟或坡跟檢測為粗跟的為10個(FP),將細跟或坡跟檢測為細跟或坡跟的樣本數(shù)30個(TN)。則計算出的準確率P為80%,召回率R為66.7%。很顯然,準確率和召回率越高,說明模型性能越好。
此外,利用總體精度F(%)來評價模型的整體性能[15]。
F/%=2TPP+R×100(3)
1.4.4 平臺和參數(shù)設(shè)置
實驗環(huán)境為IntelCore i7-3770 CPU@3.40 GHz,8位英特爾處理器(美國英特爾集成電子公司),NVIDIA Ge Force GTX 1080Ti GPU,使用Tensor Flow作為深度學(xué)習(xí)框架。在參數(shù)設(shè)置方面,迭代次數(shù)設(shè)置為10 000次,初始學(xué)習(xí)率設(shè)為0.001,每次迭代訓(xùn)練圖像的數(shù)量為256張,學(xué)習(xí)率的衰減系數(shù)和網(wǎng)絡(luò)訓(xùn)練動量分別為0.1和0.9[13]。
2 結(jié)果與分析
2.1 測試結(jié)果
圖5和圖6是分別以鞋跟和整只鞋為目標區(qū)域,利用訓(xùn)練好的Faster R CNN模型對淺口高跟鞋款式進行識別的部分結(jié)果,其中黑色框標出的為定位區(qū)域,線框內(nèi)的左上角為檢測結(jié)果,包括類別和得分:X為細跟;C為粗跟;P為坡跟。圖5(a)(b)(c)的檢測結(jié)果分別為X:1.00;C:0.95;P:0.97,圖6(a)(b)(c)的檢測結(jié)果分別為X:1.00;C:1;P:0.98,與實際情況完全吻合。由此可知,無論以鞋跟為目標區(qū)域,還是以整只鞋為檢測區(qū)域,F(xiàn)aster R CNN模型都能對淺口高跟鞋圖像進行良好的檢測識別,且無須經(jīng)過人為特征提取,方便可行。
2.2 不同目標區(qū)域?qū)ψR別結(jié)果的影響
以準確率、召回率和總體精度為評價指標,列出了利用Faster R CNN檢測模型進行識別的結(jié)果,如表1所示。由表1可知,即使目標區(qū)域相同(鞋跟或整只鞋),高跟鞋種類不同,識別的準確率、召回率也不相同。其中以鞋跟為目標區(qū)域時,細跟和粗跟的檢測準確率都達到了100%;而以整只鞋為目標區(qū)域時,粗跟和坡跟的檢測準確率則為100%。以三類的平均值來看,以鞋跟為目標區(qū)域的召回率高于以整只鞋為目標區(qū)域,而以整只鞋為目標區(qū)域的準確率高于以鞋跟為目標區(qū)域。對總體精度而言,還是以鞋跟為目標區(qū)域稍高,但是二者相差不大。
2.3 部分識別錯誤的樣本分析
圖7和圖8是分別以整只鞋和以鞋跟為目標區(qū)域時的部分識別錯誤樣本,并以此為例對識別錯誤的可能原因加以分析。
圖7(a)為粗跟鞋,識別結(jié)果為X:0.96和P:0.83,識別錯誤的原因主要與這款鞋的材質(zhì)和款式有關(guān)。此款鞋和訓(xùn)練集中的鞋在款式上有很大的不同,訓(xùn)練集重的樣本皆為淺口高跟皮鞋,而這款是夏季涼鞋,且鞋跟處的材質(zhì)由兩部分組成,一大半為透明水晶狀材質(zhì),小部分為與鞋底相同的材質(zhì)。因此計算機在識別的時候,容易將透明水晶材質(zhì)部分與白色背景相混淆,而將其誤檢測為細跟X,同時也容易將白色背景混為透明水晶狀的鞋跟,從而誤檢測為坡跟P。圖7(b)雖為粗跟鞋,但與其他粗跟鞋也有較大不同,其余的粗跟鞋的鞋跟基本上下粗細差不多,或者上粗下細,而這款鞋跟則呈上細下粗結(jié)構(gòu),且鞋跟上部粗細與其他細跟鞋的鞋跟上部相差無幾,因此出現(xiàn)了一對一錯2個檢測結(jié)果,即X:0.99和C:0.97。圖7(c)雖也為粗跟,但由于鞋跟的顏色和主體顏色相差甚大,所以計算機識別的時候可能將顏色不同的鞋跟部分排除在外,只檢測了前面部分,而將鞋跟與鞋底之間的白色背景當成鞋跟,從而誤判斷為坡跟,因此也出現(xiàn)了一對一錯2個檢測結(jié)果,即C:1.00和P:0.97。
圖8(a)為細跟涼鞋,與圖7(a)一樣,都屬于與訓(xùn)練集中的淺口高跟皮鞋款式差異較大的鞋,而且后跟的較大裝飾品遮住了鞋跟,因此識別時將裝飾品當作了鞋跟,導(dǎo)致2個識別結(jié)果都將其檢測為粗跟,C:0.56和C:0.71。圖8(b)雖為粗跟,但鞋跟處上下段的材質(zhì)截然不同,下半段為完全透明的材質(zhì),導(dǎo)致計算機識別時將鞋跟與鞋底部分的白色背景也歸為了鞋跟,因此將其誤判成P:0.57,另外一個則是正確的檢測結(jié)果,C:0.93。圖8(c)與圖7(a)為同一只鞋,這是一款與訓(xùn)練集種的樣本款式完全不同的涼鞋,在以鞋跟為目標檢測時,也出現(xiàn)了識別錯誤,甚至將鞋面部分當成了鞋跟,將其誤判為坡跟P:0.66。
綜上分析識別錯誤的樣本,可以發(fā)現(xiàn)誤判原因主要是鞋的款式與訓(xùn)練集相差很大,或者由于鞋上的裝飾物干擾及后跟的材質(zhì)、顏色等不一致造成。由于測試集樣本存在的這些問題,使得利用Faster R CNN模型進行款式識別時雖然準確率較高(大于94%),但是尚未達到100%。然而這并不影響該方法的有效性,如果摒棄款式過于奇異的及與訓(xùn)練集款式差別甚大的樣本,相信會大幅提高模型的測試準確率。
2.4 不同識別方法對識別結(jié)果的影響
在相同實驗條件下,本文利用不同的檢測方法識別淺口高跟鞋,結(jié)果如表2所示。由表2可知,F(xiàn)aster R CNN無論是在總體精度還是在檢測速度上,都優(yōu)于其他方法,尤其是檢測速度。R CNN的訓(xùn)練和測試尤其耗時,且占用磁盤空間大;SPP-Net對整張圖片只進行一次特征提取,相比R CNN極大提高了檢測速度。而FAST R CNN將整張圖像歸一化后直接送入CNN,且一次性提取CNN特征和建議區(qū)域,候選區(qū)域的前幾層無須重復(fù)計算特征,且訓(xùn)練數(shù)據(jù)從GPU內(nèi)存直接進Loss層,不但提高了計算速度,還節(jié)省了存儲空間。而本文運用的Faster R CNN由于用RPN替了前面幾種方法的Selective Search(選擇性搜索)產(chǎn)生建議窗口;同時產(chǎn)生建議窗口的CNN和目標檢測的CNN通過共享卷積的方式相連接,并進行了聯(lián)合訓(xùn)練,因此無論在總體精度上抑或是檢測速度方面,都比前面幾種方法更具優(yōu)勢。
3 結(jié) 論
為探索利用圖片對服飾款式進行自動識別的技術(shù),本文以淺口高跟鞋為例,通過收集網(wǎng)購平臺上的產(chǎn)品圖像,建立了樣本庫:包含細跟、粗跟、坡跟三款淺口高跟鞋,每款300張圖像。每款隨機抽取200張作為訓(xùn)練集,剩余100張作為測試集,并對圖像進行標記。然后利用深度學(xué)習(xí)中的Faster R CNN檢測模型對淺口高跟鞋款式進行訓(xùn)練和識別,結(jié)果表明:
1)無論以鞋跟為目標區(qū)域,還是以整只鞋為檢測區(qū)域,F(xiàn)aster R CNN模型都能對淺口高跟鞋圖像進行良好的檢測識別,準確率可達94%以上,且不用經(jīng)過人為特征提取,方便可行,具有較好的先進性。
2)識別錯誤的樣本,主要是由于鞋的款式與訓(xùn)練集相差很大,或者因為鞋上的裝飾物干擾及鞋跟的材質(zhì)、顏色等不一致的原因造成。如果對測試集中的樣本進行優(yōu)選,去除與訓(xùn)練集差異甚大的,或者去除款式過于奇異的樣本,準確率將會進一步提高。
3)Faster R CNN由于用RPN代替R CNN、SPP-Net、FAST R CNN這幾種方法利用Selective Search產(chǎn)生建議窗口;同時產(chǎn)生建議窗口的CNN和目標檢測的CNN共享,使檢測模型的總體精度和檢測速度都更具優(yōu)勢。
因此,利用本文設(shè)計的方法對淺口高跟鞋的款式進行自動識別是可行的,研究結(jié)果可為實現(xiàn)網(wǎng)購時的圖像檢索提供參考,同時還能為買家快速搜到滿意的商品提供幫助。
參考文獻:
[1]LIU S, SONG Z, LIU G C, et al. Street-to-shop: cross-scenario clothing retrieval via parts alignment and auxiliary set[C]//Proceedings of IEEE Conference on Compute Vision and Pattern Recognition. Los Alamitos: IEEE Computer Society Press, 2012: 3330-3337.
[2]YANG W, LUO P, LIN L. Clothing co-parsing by joint image segmentation and labeling[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Los Alamitos: IEEE Computer Society Press, 2014: 3182-3189.
[3]LIU Z W, LUO P, QIU S, et al. Deep fashion: powering robust clothes recognition and retrieval with rich annotations[C]//Proceedings of the IEEE International Conference on Computer Vision and Pattern Recognition. Los Alamitos: IEEE Computer Society Press, 2016: 1096-1104.
[4]LIU Z, YAN S, LUO P, et al. Fashion landmark detection in the wild[C]//European Conference on Computer Vision. Switzerland: Springer Cham, 2016: 229-245.
[5]YANAGUCHI K, KIAPOUR M H, ORTIZ L E, et al. Parsing clothing in fashion photographs[C]//Proceedings of the IEEE on Conference on Computer Vision and Pattern Recognition. Los Alamitos: IEEE Computer Society Press, 2012: 3570-3577.
[6]LIU S, LIANG X D, LIU L Q, et al. Matching-CNN meets k NN: quasi-parametric human parsing[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. Los Alamitos: IEEE Computer Society Press, 2015: 1419-1427.
[7]NAN W, HAIZHOU A. Who blocks who: simultaneous clothing segmentation for grouping images[C]//IEEE International Conference on Computer Vision. 2011: 6-13.
[8]KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Image net classification with deep convolutional neural networks[J]. Advances in Neural Information Processing Systems, 2012, 25(2): 1106-1114.
[9]ZEILER M D, FERGUS R. Visualizing and understanding convolutional nerworks[C]//Europeon Conference on Computer Vision. Switzerland: Springer Cham, 2014: 818-833.
[10]周志華. 機器學(xué)習(xí)[M]. 北京: 清華大學(xué)出版社, 2016: 121-139.
ZHOU Zhihua. Machine Learning[M]. Beijing: Tsinghua University Press, 2016: 121-139.
[11]REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6): 1137-1149.
[12]胡金辰, 王雨晨, 蔣江紅, 等. 基于深度卷積網(wǎng)絡(luò)的目標檢測技術(shù)綜述[J]. 數(shù)字技術(shù)與應(yīng)用, 2018, 36(4): 97-98.
HU Jinchen, WANG Yuchen, JIANG Jianghong, et al. A review of object detection technology based on deep convolution network[J]. Digital Technology & Application, 2018, 36(4): 97-98.
[13]SIMONYAN K, ZISSE R M. Very deep convolutional network for large-scale image recognition[C]//International Conference on Learning Representations. 2015: 1-14.
[14]SUN J, HE X F, GE X, et al. Detection of key organs in tomato based on deep migration learning in a complex background[J]. Agriculture, 2018, 8(12): 196-211.
[15]陳俊杰, 葉東華, 產(chǎn)焰萍, 等. 基于Faster R-CNN模型的絕緣子故障檢測[J]. 電工電氣, 2020(4): 56-60.
CHEN Junjie, YE Donghua, CHAN Yanping, et al. Insulator fault detection based on Faster R-CNN[J]. Electrotechnics Electric, 2020(4): 56-60.