一種基于卷積神經(jīng)網(wǎng)絡的服裝分類方法
【技術領域】
[0001] 本發(fā)明涉及一種基于卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)的服 裝分類方法,屬于圖像信息處理技術領域。
【背景技術】
[0002] 目前,研究者們已經(jīng)提出了諸多的實現(xiàn)服裝自動分類的算法。Pan等人提出使用 BP神經(jīng)網(wǎng)絡識別針織物。Ben等人提出基于文本特征和支持向量機對針織物的識別方法。 Liu等人提出了基于姿態(tài)的估計和使用顏色,SIFT,HOG等特征來將衣服分成23類。Bourdev 等人研究出一個系統(tǒng)來描述人們的外貌形象,他們使用了 9種屬性,例如男性、T恤、長發(fā)等 特性。另外,對于衣服的分割也是研究熱點。Hu等人提出使用基于受限德勞內(nèi)三角(CDT) 的前景和背景估計,這種方法不需要任何預定義的服裝模型。Weber等人則引入一個新穎的 方法,利用姿態(tài)檢測器去處理服裝的遮擋問題。Manfred提出了流行商店數(shù)據(jù)庫里的服裝分 割方法。研究者們也致力于對衣服屬性的分類,比如顏色、領子、衣袖等屬性。Chen引入了 一個全自動的系統(tǒng),這個系統(tǒng)能夠產(chǎn)生可命名屬性列表的衣服。Lorenzo-Navarro等人則做 了一組實驗,實驗的目的是評價LBP和HOG描述子在衣服屬性方面的能力。
[0003] 服裝分類是非常具有發(fā)展前景的研究話題,傳統(tǒng)的分類算法一般采用兩步方法, 第一步從輸入圖像中計算出人為設置的特征,第二步根據(jù)算出的特征去訓練一個分類器, 用于測試數(shù)據(jù)的分類。由于人工設計的特征的局限性,傳統(tǒng)方法效果的好壞很大程度上取 決于認為選擇的特征是否合理,具有很大的盲目性,普遍存在分類準確率低的問題。因此, 目前的服裝分類算法主要存在兩點局限性。第一,傳統(tǒng)的特征不能達到滿意的分類效果,尤 其是對相似屬性的類別。第二,目前沒有公開的服裝數(shù)據(jù)庫來客觀評價現(xiàn)有的算法。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術問題是:提供一種基于卷積神經(jīng)網(wǎng)絡的服裝分類方法,設 計卷積神經(jīng)網(wǎng)絡模型,學習數(shù)據(jù)庫中圖像的特征,建立全局的特征表達,提高了服裝分類準 確率。
[0005] 本發(fā)明為解決上述技術問題采用以下技術方案:
[0006] -種基于卷積神經(jīng)網(wǎng)絡的服裝分類方法,包括以下步驟:
[0007] 步驟1,獲取服裝圖像樣本,將服裝圖像樣本分為訓練樣本和測試樣本;
[0008] 步驟2,對訓練樣本和測試樣本進行預處理;
[0009] 步驟3,構建卷積神經(jīng)網(wǎng)絡模型,該卷積神經(jīng)網(wǎng)絡模型包括5層卷積層,3層下采樣 層,3層全連接層;
[0010] 步驟4,利用步驟2預處理后的訓練樣本對步驟3所述卷積神經(jīng)網(wǎng)絡模型進行前向 傳播和后向傳播兩個階段的訓練,當后向傳播訓練計算出的誤差達到期望值時,訓練結束, 并得到卷積神經(jīng)網(wǎng)絡模型的參數(shù);
[0011] 步驟5,利用步驟4訓練結束的卷積神經(jīng)網(wǎng)絡模型對步驟2預處理后的測試樣本進 行測試,并輸出最終服裝分類結果。
[0012] 優(yōu)選的,步驟1所述獲取服裝圖像樣本的過程為:將服裝分成男裝8類、女裝8類 進行圖像樣本獲取,其中男裝8類為夾克、襯衫、風衣、西服、沖鋒衣、針織衫、羽絨服、T恤, 女裝8類為旗袍、襯衫、風衣、西服、連衣裙、衛(wèi)衣、羽絨服、T恤。
[0013] 優(yōu)選的,步驟2所述對訓練樣本和測試樣本進行預處理的過程為:將訓練樣本和 測試樣本的大小調(diào)整到120 X 120像素。
[0014] 優(yōu)選的,步驟3所述卷積層的計算公式為: I其中,4為 卷積層第1。層的第j個輸出圖,f為激活函數(shù),M ,為輸入特征映射的集合,*為卷積操作, 為卷積層第1。層的第j個輸出圖與上一層第i個輸入圖之間的卷積核,I < i < max (1 _), Hiax(Icin)為第Ic層輸入圖的最大個數(shù),1彡i彡max(l raut),max(l_t)為第Ic層輸出圖的 最大個數(shù),對為卷積層第1。層的第j個輸出圖的附加偏差,1。= 1,…,5。
[0015] 優(yōu)選的,步驟3所述下采樣層的計算公式為:,其中,4為 下采樣層第IJl的第j個輸出圖,f為激活函數(shù),S為下采樣函數(shù),rx、/<分別為下采樣層 第Is層的第j個輸出圖的乘子偏差、附加偏差,I s= 1,…,3。
[0016] 優(yōu)選的,步驟4所述誤差的計算公式為:
其中,n為訓練樣 本的樣本總數(shù),m為類別數(shù),t為由網(wǎng)絡激勵函數(shù)f(x) = max(0,x)輸出的一個mXl的矩 陣,tlatel為訓練樣本的標簽,是一個mXl的二值矩陣。
[0017] 本發(fā)明采用以上技術方案與現(xiàn)有技術相比,具有以下技術效果:
[0018] 1、本發(fā)明基于卷積神經(jīng)網(wǎng)絡的服裝分類方法,設計的卷積神經(jīng)網(wǎng)絡框架可以把服 裝圖像直接作為網(wǎng)絡的輸入,隱式地對圖像的特征進行提取,建立全局的特征表達,相比于 人工設計的特征提取更加方便和精確。
[0019] 2、本發(fā)明基于卷積神經(jīng)網(wǎng)絡的服裝分類方法,解決了現(xiàn)有算法對衣服分類準確率 低的問題。
【附圖說明】
[0020] 圖1是本發(fā)明基于卷積神經(jīng)網(wǎng)絡的服裝分類方法的流程示意圖。
[0021] 圖2是本發(fā)明實施例中卷積神經(jīng)網(wǎng)絡結構示意圖。
[0022] 圖3是本發(fā)明實施例中各卷積層輸出特征示意圖。
[0023] 圖4是本發(fā)明分類方法對比其他三種不同方法的分類結果示意圖。
[0024] 圖5是本發(fā)明分類方法與其他三種不同方法對每一類服裝的分類結果示意圖。
【具體實施方式】
[0025] 下面詳細描述本發(fā)明的實施方式,所述實施方式的示例在附圖中示出,其中自始 至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參 考附圖描述的實施方式是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
[0026] 如圖1所示,為本發(fā)明基于卷積神經(jīng)網(wǎng)絡的服裝分類方法的流程示意圖,根據(jù)圖1 對下面的實施例進行詳細說明。
[0027] 步驟1、獲取服裝圖像,建立訓練樣本和測試樣本。根據(jù)市場上常見的衣服款式把 服裝分成16類,其中男裝8類,女裝8類,通過相關軟件及人工的方式從互聯(lián)網(wǎng)上下載該屬 性對應的圖片,創(chuàng)建新的數(shù)據(jù)庫。其中男裝具體細分為夾克、襯衫、風衣、西服、沖鋒衣、針織 衫、羽絨服、T恤八種屬性的服裝;女裝具體細分為旗袍、襯衫、風衣、西服、連衣裙、衛(wèi)衣、羽 絨服、T恤八種屬性的服裝。服裝圖像樣本數(shù)量一共是33965,從中隨機選取27565個樣本 作為訓練樣本,6400個樣本作為測試樣本,測試比例為18. 84%。
[0028] 步驟2、對服裝圖像進行預處理,調(diào)整數(shù)據(jù)庫中圖像大小。統(tǒng)一把圖像大小調(diào)整為 120X 120像素,作為卷積神經(jīng)網(wǎng)絡的輸入。
[0029] 步驟3、設計有效的網(wǎng)絡結構去從學習合適的特征來表達復雜的服裝圖像。本發(fā)明 的卷積神經(jīng)網(wǎng)絡總共23層,這里只提了 5層卷積層