范 榮
(四川大學計算機學院,成都 610000)
?
基于卷積神經網絡的服裝種類識別
范榮
(四川大學計算機學院,成都610000)
摘要:隨著網絡購物和電子商務的普及,越來越多的電商平臺推出了移動端的應用,這其中不少都集成圖片搜索的功能,根據輸入的圖片判斷商品的種類進行搜索。基于卷積神經網絡的服裝種類識別正是為了解決其中對服裝的分類而提出的方法,具體包括數據預處理、卷積運算和Softmax回歸模型訓練三個步驟。在來自真實購物平臺的服裝圖片組成的實驗數據集上,能夠保持較高的識別準確率,在服裝識別問題上具有很大的優勢。
關鍵詞:服裝種類識別;卷積神經網絡;Softmax回歸
電商行業的發展為我們生活帶來方便的同時,也對傳統的搜索提出了新的要求:對圖片中物體的識別進行搜索,其中應用領域較為廣闊的一類問題就是服裝種類識別,即通過輸入圖片,對其中包含的服裝的種類做出識別分類。傳統的識別分類技術主要借助數字圖像處理、模式識別的方法,通過對圖像檢測分割、特征提取分類識別等操作。然而上面提及的特征多數是人為規定的特征,并不能在所有的場景下都很好地刻畫待識別物體的屬性,而且往往需要較大的計算量,不適合在便攜式設備上進行計算。
隨著深度學習概念的提出,開始通過神經網絡來模擬人類大腦多層抽象的機制來對現實的對象進行抽象表達,主要包含文本、語音和圖像等形式的數據,而且對數據特征的抽象過程盡可能少地減少人為干預。實踐已經證明深度學習方法在識別以及分配問題上取得了很高的準確率。常見的深度學習模型有卷積神經網絡、受限波爾茲曼機和堆棧式自編碼器[1],本文正是利用卷積神經網絡,結合Softmax回歸模型,提出了對服裝圖片進行分類的方法。
卷積神經網絡(Convolutional Neural Networks,CNN)是人工神經網絡的一種,已成為當前圖像識別領域的研究熱點。與傳統神經網絡相比,在結構上受到生物神經網絡的啟發,主要區別在以下兩點:首先,網絡中的神經元之間是非全連接的;其次,同一層中部分神經元之間的權值是共享的。這種特殊的連接方式降低了模型的復雜度,減少了權值的數量,同時使得網絡在訓練時有更強大的泛化能力。當輸入數據為圖像時其優勢更加明顯,可以將圖像數據直接作為網絡的輸入而避免了傳統算法中對數據的重建和特征提取的過程。卷積網絡是為識別二維形狀而特殊設計的一個多層感知器,這種網絡結構對平移、比例縮放、傾斜或者共他形式的變形具有高度不變性。
以輸入數據為圖像為例,卷積神經網絡的一般結構如下圖1所示。輸入的圖像與若干個可訓練的濾波器(又稱作“卷積核”,Kernel)及可選偏置進行卷積運算,然后得到C1層的特征圖(Feature map)后對其進行池化(Pooling)得到S1層。將S1層輸出的若干個特征圖求和,帶入Sigmoid函數得到一次卷積的輸出特征圖,可以將此特征圖再進行若干次卷積和池化,最后得到的特征圖連接成一個向量接入傳統神經網絡或其他分類器[2]。同一個卷積濾波器會作用于圖像的每一部分,實現了權值的共享,其隱含的原理是圖像中一部分區域上的特征與其他部分的特征是一樣的,進而可以應用到整個圖像中。

圖1 卷積神經網絡結構示范
Softmax回歸模型是Logistic回歸在多分類問題上的推廣,在二分類問題下Softmax回歸退化為Logistic回歸[3]。作為一種監督學習中的非線性分類器,Softmax回歸常常與深度學習中的其他無監督學習算法相結合,在實際使用中往往可以取得非常高的準確率。
假設Softmax回歸模型中的樣本來自k個不同的類,包含有m個樣本的訓練集為{(x(1),y(1)),(x(2),y(2)),…,(x(m),y(m))},其中第i個訓練樣本值為x(i)∈Rn+1,其類標y(i)∈{1,2,…,k}。類比Logistic回歸的定義,Softmax回歸的假設函數可以定義為:

其中θ1,θ2,…,θk∈Rn+1為模型的參數,而假設向量的每一個元素p(y(i)=j|x(i);θ)都是對應輸入樣本屬于第j類的概率,如果將回歸模型的參數集中表示為θ=

其中1{·}為示性函數,當花括號中的表達式為真時取1,否則取0。加號后面的項是權重衰減項,其作用是懲罰過大的參數,防止模型的過擬合,保證代價函數變成嚴格凸函數,權重衰減因子λ的值需要在實際實驗過程中調整。這樣就可以使用梯度下降法迭代求得代價函數的最小值以及對應的參數值θ,通過計算推到可知代價函數的梯度為:

在解決對服裝圖片進行分類的問題時,本文提出了基于卷積神經網絡的解決方法,最后通過Softmax回歸對服裝的種類做出判斷,具體包括以下三個步驟:數據預處理、卷積神經網絡訓練和Softmax回歸模型的訓練。
(1)數據預處理
對卷積核的預訓練主要分為如下三個個步驟:對圖像數據的灰度處理,數據降維,以及對卷積核中權值的初始化。對輸入圖像數據的灰度處理主要是為了最大程度的消除圖像采集過程中外部光線因素對同一類服裝的圖片造成的較大差異。為減少計算量,首先將圖片尺寸縮放到同一大小,然后采用主成分分析法對待輸入向量降維。設計隱含層與卷積核維度相同的稀疏自編碼器,隨機的從數據集中選取若干的圖像片段輸入自編器訓練,代價函數穩定后隱含層的權值作為卷積核的初始值(如圖2所示)。這種做法與隨機初始化相比,可以使卷積核刻畫的特征更接近與圖像本來的特征,網絡訓練過程更容易收斂。

圖2 稀疏自編碼器得到的卷積核初始值可視化
(2)卷及神經網絡訓練
將處理過的數據作為卷積神經網絡的輸入,稀疏自編碼器中輸入層與隱含層之間的權值作為各卷積核的初始值,進行迭代訓練。本文所采用的卷積神經網絡在結構上包含有一層卷積層和一層池化層,其中池化層采用的是均值函數。當訓練過程收斂或達到一定迭代次數的時候,完成對卷積神經網絡的訓練。
(3)Softmax回歸模型訓練
使用卷積和池化之后得到的特征圖作為Softmax回歸模型的輸入,結合訓練數據的樣本標簽對Softmax分類器進行訓練。完成指定迭代次數的訓練后,對整個分類模型的訓練結束。
本文提出的對服裝種類的識別方法在真實數據集上進行了測試,為了保證數據的均衡性,實驗中采用的圖片采集于日常生活中,共包括男士外衣、男褲、女士T恤、女褲和長裙五個類別,每個類別各500張圖片共計2500張(如圖3示例)。實驗中隨機從每個類別中選取75%的樣本作為訓練數據,其余25%的數據作為測試數據。輸入卷積層的圖片大小統一調整為64×64,其中卷積核的維度為16×16,卷積步長為1,池化步長為17。當Softmax回歸模型中的權重衰減因子λ的值取0.0011時分類準確度最高,使用直接卷積后的特征圖進行分類其準確率為89.57%,使用訓練過的卷積神經網路準確率為95.23%,由此可見卷積神經網絡對于圖像特征還是有很強的學習能力,證實了本方法的有效性。

圖3 實驗數據示例
本文給出了基于卷積神經網絡的模型,用以解決服裝種類的分類問題,具有一定的實際意義。并且利用MATLAB編寫程序,結合真實數據進行了測試,取得了較高的準確率。在今后使用中,如果想改進模型取得接近100%的準確率,可以分別從多個角度嘗試對模型進行改進,如收集更多的訓練數據、采用深度更大結構更為復雜的神經網絡[4],借助GPU計算加速訓練過程[5],以及在Softmax回歸模型的參數選擇上進行更為廣泛的測試。
參考文獻:
[1]劉建偉,劉媛,羅雄麟.深度學習研究進展[J].成都:計算機應用研究,2014:1922-1928.
[2]Jake Bouvrie. Notes on Convolutional Neural Networks[Z]. USA: Milliman,MIT,2006.
[3]Friedman,Jerome; Hastie,Trevor; Tibshirani,Rob. Regularization Paths for Generalized Linear Models Via Coordinate Descent[J]. Journal of Statistical Software,2010,33(1).
[4]Alex Krizhevsky,Ilya Sutskever,Geoffrey E. Hinton.ImageNet Classification with Deep Convolutional Neural Networks[C].NIPS,2012.
[5]張家康,陳慶奎.基于CUDA技術的卷積神經網絡識別算法[J].上海:計算機工程,2010:179-181.
范榮(1989~),男,山西大同人,在讀舒適研究生,本科,研究方向為深度學習
Classification of Clothing Type Based on Convolutional Neural Network
FAN Rong
(College of Computer Science,Sichuan University,Chengdu 610000)
Abstract:With the prevalence of online shopping and Electronic Commerce,increasing number of e-commerce companies have released their applications embedded on mobile devices,some of which are integrated with image searching function. Users can search kinds of goods with input image. Classification of clothing type based on convolutional neural network rightly resolves the classification problems on clothing types. This method contains three steps: pre-processing, convolution and Softmax regression. It shows a good classification accuracy on the dataset collecting from reality shopping platform, which makes it have great strength on clothing type recognition.
Keywords:Clothing Type Classification; Convolutional Neural Network; Softmax Regression
收稿日期:2016-02-02修稿日期:2016-03-03
作者簡介:
文章編號:1007-1423(2016)09-0029-004
DOI:10.3969/j.issn.1007-1423.2016.09.006