本發(fā)明涉及一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖片分類方法,屬于圖像分類技術(shù)領(lǐng)域。
背景技術(shù):
近年來,隨著數(shù)以百萬帶標(biāo)簽訓(xùn)練集的出現(xiàn)以及基于GPU訓(xùn)練算法的出現(xiàn),使訓(xùn)練復(fù)雜卷積網(wǎng)絡(luò)模型不再奢望,卷積神經(jīng)網(wǎng)絡(luò)逐漸發(fā)展,并引起廣泛重視的一種高效識別方法。大量基于卷積神經(jīng)網(wǎng)絡(luò)的模型在手寫體識別,ImageNet庫的分類測試中取得不俗的成績,許多論文都利用卷積神經(jīng)網(wǎng)絡(luò),在視覺分類任務(wù)中取得不錯成績。
卷積神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)包括兩層,其一為特征提取層,每個神經(jīng)元的輸入與前一層的局部接受域相連,并提取該局部的特征。一旦該局部特征被提取后,它與其它特征間的位置關(guān)系也隨之確定下來;其二是特征映射層,網(wǎng)絡(luò)的每個計算層由多個特征映射組成,每個特征映射是一個平面,平面上所有神經(jīng)元的權(quán)值相等。
由于卷積神經(jīng)網(wǎng)絡(luò)參數(shù)龐大,在人臉識別領(lǐng)域,網(wǎng)絡(luò)參數(shù)數(shù)量達(dá)幾兆到幾百兆不等,導(dǎo)致神經(jīng)網(wǎng)絡(luò)訓(xùn)練時間長,消耗大量內(nèi)存空間,對訓(xùn)練樣本數(shù)量也有比較高的要求,同時易出現(xiàn)過擬合或者收斂至局部最小區(qū)域。另外,網(wǎng)絡(luò)模型的訓(xùn)練分析過程中得到的特征,不易觀察,難以分析以調(diào)整網(wǎng)絡(luò)。最后,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練方法為梯度下降算法,該方法不但易受初始值的影響,而且無法反映神經(jīng)元的不變性能力。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是提供一種針對卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)進(jìn)行改進(jìn),能夠有效提高圖像分類準(zhǔn)確性和效率的基于卷積神經(jīng)網(wǎng)絡(luò)的圖片分類方法。
本發(fā)明為了解決上述技術(shù)問題采用以下技術(shù)方案:本發(fā)明設(shè)計了一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖片分類方法,卷積神經(jīng)網(wǎng)絡(luò)由輸入開始依次包括至少一個隱含層、一個全連層、一個分類輸出層,各個隱含層依次相連,且各個隱含層中分別還包括位于歸一化層之后的特征過濾層;所述圖像分類方法包括如下步驟:
步驟001.構(gòu)建訓(xùn)練樣本圖片組,針對訓(xùn)練樣本圖片組中各張訓(xùn)練樣本圖片進(jìn)行預(yù)處理,接著由經(jīng)過預(yù)處理的各張訓(xùn)練樣本圖片針對卷積神經(jīng)網(wǎng)絡(luò)各個工作參數(shù)進(jìn)行訓(xùn)練,獲得訓(xùn)練后的工作卷積神經(jīng)網(wǎng)絡(luò),然后初始化n=1,并進(jìn)入步驟002;其中,n={1,…,N},N為隱含層的個數(shù);
步驟002.針對至少兩張待分類圖片進(jìn)行預(yù)處理,接著將經(jīng)過預(yù)處理的各張待分類圖片輸入工作卷積神經(jīng)網(wǎng)絡(luò)中,并進(jìn)入步驟003;
步驟003.各張待分類圖片分別輸入第n個隱含層,并依次經(jīng)過卷積層、矯正層、降采樣層、歸一化層,獲得各張待分類圖片分別對應(yīng)卷積層中M個濾波器的M張歸一化特征圖像,即獲得K×M張歸一化特征圖像,然后將K×M張歸一化特征圖像輸入至第n個隱含層中的特征過濾層,依次執(zhí)行如下步驟00401至步驟00405,然后進(jìn)入步驟005;其中,M表示卷積層中預(yù)設(shè)濾波器的個數(shù),且各個濾波器的大小預(yù)設(shè);K表示待分類圖像的張數(shù);
步驟00401.根據(jù)指定像素的屬性值,獲得第n個隱含層所接收所有歸一化特征圖像的歸一化特征均值圖像,并進(jìn)入步驟00402;
步驟00402.分別針對各張歸一化特征圖像,計算其相對歸一化特征均值圖像的L2范數(shù),獲得各張歸一化特征圖像所對應(yīng)的L2范數(shù),并針對各張歸一化特征圖像,按對應(yīng)的L2范數(shù),由大至小進(jìn)行排序,然后進(jìn)入步驟00403;
步驟00403.將由最大L2范數(shù)所對應(yīng)歸一化特征圖像為起始、依序預(yù)設(shè)第一百分比張數(shù)的歸一化特征圖像構(gòu)成待過濾歸一化特征圖像集合,并將第n個隱含層所接收所有歸一化特征圖像中剩余各張歸一化特征圖像構(gòu)成第一歸一化特征圖像集合,然后進(jìn)入步驟00404;其中,第一百分比大于0,且小于100%;
步驟00404.針對待過濾歸一化特征圖像集合,隨機(jī)刪除其中預(yù)設(shè)第二百分比張數(shù)的歸一化特征圖像,并將待過濾歸一化特征圖像集合中剩余各張歸一化特征圖像構(gòu)成第二歸一化特征圖像集合,然后進(jìn)入步驟00405;其中,第二百分比大于0,且小于100%;
步驟00405.將第一歸一化特征圖像集合中的各張歸一化特征圖像,與第二歸一化特征圖像集合中的各張歸一化特征圖像,合并或更新為初級歸一化特征圖像集合;
步驟005.判斷n是否等于N,是則進(jìn)入步驟007;否則將n的值加1,并將結(jié)果賦予n,然后進(jìn)入步驟006;
步驟006.將初級歸一化特征圖像集合中的各張歸一化特征圖像輸入至第n個隱含層中的特征過濾層,依次執(zhí)行如下步驟00401至步驟00405,然后進(jìn)入步驟005;
步驟007.將初級歸一化特征圖像集合中的各張歸一化特征圖像輸入至卷積神經(jīng)網(wǎng)絡(luò)中的全連層,并經(jīng)過分類輸出層實現(xiàn)針對各張待分類圖片的分類。
作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述步驟001包括如下步驟:
步驟00101.構(gòu)建訓(xùn)練樣本圖片組,統(tǒng)一訓(xùn)練樣本圖片組中各張訓(xùn)練樣本圖片的分辨率,然后進(jìn)入步驟00102;
步驟00102.根據(jù)指定像素的屬性值,獲得訓(xùn)練樣本圖片組所有訓(xùn)練樣本圖片的訓(xùn)練樣本均值圖片,然后進(jìn)入步驟00103;
步驟00103.將訓(xùn)練樣本圖片組中各張訓(xùn)練樣本圖片分別減去訓(xùn)練樣本均值圖片,獲得訓(xùn)練樣本圖片組中各張訓(xùn)練樣本圖片分別所對應(yīng)的訓(xùn)練樣本差值圖片,然后進(jìn)入步驟00104;
步驟00104.分別針對各張訓(xùn)練樣本差值圖片,針對訓(xùn)練樣本差值圖片上各個像素值進(jìn)行縮放,使不同位置像素值的方差均等于1,然后進(jìn)入步驟00105;
步驟00105.針對各張訓(xùn)練樣本差值圖片制定輸入順序,使得相鄰訓(xùn)練樣本差值圖片不屬于預(yù)設(shè)分類標(biāo)準(zhǔn)中的同一類,然后將各張訓(xùn)練樣本差值圖片按輸入順序,依次輸入至卷積神經(jīng)網(wǎng)絡(luò)當(dāng)中,針對卷積神經(jīng)網(wǎng)絡(luò)各個工作參數(shù)進(jìn)行訓(xùn)練,獲得訓(xùn)練后的工作卷積神經(jīng)網(wǎng)絡(luò)。
作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述步驟00102中,若訓(xùn)練樣本圖片組中的訓(xùn)練樣本圖片為灰度圖,則根據(jù)像素灰度值,獲得訓(xùn)練樣本圖片組所有訓(xùn)練樣本圖片的訓(xùn)練樣本均值圖片;若訓(xùn)練樣本圖片組中的訓(xùn)練樣本圖片為彩色圖,則根據(jù)像素RGB值,獲得訓(xùn)練樣本圖片組所有訓(xùn)練樣本圖片的訓(xùn)練樣本均值圖片。
作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述步驟002中,針對至少兩張待分類圖片,統(tǒng)一各張待分類圖片的分辨率,實現(xiàn)針對各張待分類圖片預(yù)處理。
作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述步驟003中,各張待分類圖片分別輸入第n個隱含層,并依次經(jīng)過卷積層、矯正層、降采樣層、歸一化層,獲得各張待分類圖片分別對應(yīng)卷積層中M個濾波器的M張歸一化特征圖像,即獲得K×M張歸一化特征圖像,包括如下步驟:
步驟00301.將各張待分類圖片分別輸入第n個隱含層的卷積層,分別針對各張待分類圖片,將待分類圖片分別與卷積層中各個濾波器進(jìn)行卷積操作,獲得該待分類圖片分別對應(yīng)卷積層中M個濾波器的M張?zhí)卣鲌D像,進(jìn)而獲得各張待分類圖片分別對應(yīng)卷積層中M個濾波器的M張?zhí)卣鲌D像,即獲得K×M張?zhí)卣鲌D像,然后進(jìn)入步驟00302;
步驟00302.將K×M張?zhí)卣鲌D像分別輸入第n個隱含層的矯正層,分別針對各張?zhí)卣鲌D像,將小于0的像素值置為0,更新K×M張?zhí)卣鲌D像,然后進(jìn)入步驟00303;
步驟00303.將K×M張?zhí)卣鲌D像分別輸入第n個隱含層的降采樣層,分別針對各張?zhí)卣鲌D像進(jìn)行降維處理,更新K×M張?zhí)卣鲌D像,然后進(jìn)入步驟00304;
步驟00304.將K×M張?zhí)卣鲌D像分別輸入第n個隱含層的歸一化層,分別針對各張?zhí)卣鲌D像進(jìn)行歸一化處理,獲得K×M張歸一化特征圖像。
本發(fā)明所述基于卷積神經(jīng)網(wǎng)絡(luò)的圖片分類方法采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:本發(fā)明所設(shè)計基于卷積神經(jīng)網(wǎng)絡(luò)的圖片分類方法,針對卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)進(jìn)行改進(jìn),在隱含層中新增特征過濾層,通過對卷積網(wǎng)絡(luò)提取的大量特征進(jìn)行過濾,去除部分帶有較多噪聲的特征,提高卷積網(wǎng)絡(luò)訓(xùn)練效率,減少訓(xùn)練時間,降低內(nèi)存使用需求,并且集合多種訓(xùn)練技巧,使卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練收斂到更好的解,避免訓(xùn)練參數(shù)陷入局部最小區(qū)域,通過減少網(wǎng)絡(luò)參數(shù)數(shù)量,降低神經(jīng)網(wǎng)絡(luò)過擬合的可能,進(jìn)而能夠有效提高圖像分類準(zhǔn)確性和效率。
附圖說明
圖1是本發(fā)明設(shè)計的一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖片分類方法的流程圖。
具體實施方式
下面結(jié)合說明書附圖對本發(fā)明的具體實施方式作進(jìn)一步詳細(xì)的說明。
如圖1所示,本發(fā)明所設(shè)計的一種基于卷積神經(jīng)網(wǎng)絡(luò)的圖片分類方法,在實際應(yīng)用過程當(dāng)中,卷積神經(jīng)網(wǎng)絡(luò)由輸入開始依次包括至少一個隱含層、一個全連層、一個分類輸出層,各個隱含層依次相連,且各個隱含層中分別還包括位于歸一化層之后的特征過濾層;應(yīng)用中,所述圖像分類方法包括如下步驟:
步驟001.構(gòu)建訓(xùn)練樣本圖片組,針對訓(xùn)練樣本圖片組中各張訓(xùn)練樣本圖片進(jìn)行預(yù)處理,接著由經(jīng)過預(yù)處理的各張訓(xùn)練樣本圖片針對卷積神經(jīng)網(wǎng)絡(luò)各個工作參數(shù)進(jìn)行訓(xùn)練,獲得訓(xùn)練后的工作卷積神經(jīng)網(wǎng)絡(luò),然后初始化n=1,并進(jìn)入步驟002;其中,n={1,…,N},N為隱含層的個數(shù)。
其中,上述步驟001具體包括如下步驟:
步驟00101.構(gòu)建訓(xùn)練樣本圖片組,統(tǒng)一訓(xùn)練樣本圖片組中各張訓(xùn)練樣本圖片的分辨率,然后進(jìn)入步驟00102。
步驟00102.根據(jù)指定像素的屬性值,獲得訓(xùn)練樣本圖片組所有訓(xùn)練樣本圖片的訓(xùn)練樣本均值圖片,其中,若訓(xùn)練樣本圖片組中的訓(xùn)練樣本圖片為灰度圖,則根據(jù)像素灰度值,獲得訓(xùn)練樣本圖片組所有訓(xùn)練樣本圖片的訓(xùn)練樣本均值圖片;若訓(xùn)練樣本圖片組中的訓(xùn)練樣本圖片為彩色圖,則根據(jù)像素RGB值,獲得訓(xùn)練樣本圖片組所有訓(xùn)練樣本圖片的訓(xùn)練樣本均值圖片,然后進(jìn)入步驟00103。
步驟00103.將訓(xùn)練樣本圖片組中各張訓(xùn)練樣本圖片分別減去訓(xùn)練樣本均值圖片,獲得訓(xùn)練樣本圖片組中各張訓(xùn)練樣本圖片分別所對應(yīng)的訓(xùn)練樣本差值圖片,然后進(jìn)入步驟00104。
步驟00104.分別針對各張訓(xùn)練樣本差值圖片,針對訓(xùn)練樣本差值圖片上各個像素值進(jìn)行縮放,使不同位置像素值的方差均等于1,然后進(jìn)入步驟00105。
步驟00105.針對各張訓(xùn)練樣本差值圖片制定輸入順序,使得相鄰訓(xùn)練樣本差值圖片不屬于預(yù)設(shè)分類標(biāo)準(zhǔn)中的同一類,然后將各張訓(xùn)練樣本差值圖片按輸入順序,依次輸入至卷積神經(jīng)網(wǎng)絡(luò)當(dāng)中,針對卷積神經(jīng)網(wǎng)絡(luò)各個工作參數(shù)進(jìn)行訓(xùn)練,獲得訓(xùn)練后的工作卷積神經(jīng)網(wǎng)絡(luò)。
上述步驟00105中,所述預(yù)設(shè)分類標(biāo)準(zhǔn)可以是基于像素灰度值大小,按預(yù)設(shè)各區(qū)間進(jìn)行劃分;也可以是基于像素亮度值大小,按預(yù)設(shè)各區(qū)間進(jìn)行劃分。
步驟002.針對至少兩張待分類圖片,統(tǒng)一各張待分類圖片的分辨率,實現(xiàn)針對各張待分類圖片預(yù)處理,接著將經(jīng)過預(yù)處理的各張待分類圖片輸入工作卷積神經(jīng)網(wǎng)絡(luò)中,并進(jìn)入步驟003。
步驟003.各張待分類圖片分別輸入第n個隱含層,并依次經(jīng)過卷積層、矯正層、降采樣層、歸一化層,獲得各張待分類圖片分別對應(yīng)卷積層中M個濾波器的M張歸一化特征圖像,即獲得K×M張歸一化特征圖像,這里具體按如下步驟00301-00304進(jìn)行操作,實際應(yīng)用中,卷積層中的濾波器數(shù)量為3,各個預(yù)設(shè)大小的濾波器分別為1*1、3*3、5*5。
步驟00301.將各張待分類圖片分別輸入第n個隱含層的卷積層,分別針對各張待分類圖片,將待分類圖片分別與卷積層中各個濾波器進(jìn)行卷積操作,獲得該待分類圖片分別對應(yīng)卷積層中M個濾波器的M張?zhí)卣鲌D像,進(jìn)而獲得各張待分類圖片分別對應(yīng)卷積層中M個濾波器的M張?zhí)卣鲌D像,即獲得K×M張?zhí)卣鲌D像,然后進(jìn)入步驟00302.
步驟00302.將K×M張?zhí)卣鲌D像分別輸入第n個隱含層的矯正層,分別針對各張?zhí)卣鲌D像,將小于0的像素值置為0,更新K×M張?zhí)卣鲌D像,然后進(jìn)入步驟00303。
步驟00303.將K×M張?zhí)卣鲌D像分別輸入第n個隱含層的降采樣層,分別針對各張?zhí)卣鲌D像進(jìn)行降維處理,更新K×M張?zhí)卣鲌D像,然后進(jìn)入步驟00304。
步驟00304.將K×M張?zhí)卣鲌D像分別輸入第n個隱含層的歸一化層,分別針對各張?zhí)卣鲌D像進(jìn)行歸一化處理,獲得K×M張歸一化特征圖像。
然后將K×M張歸一化特征圖像輸入至第n個隱含層中的特征過濾層,依次執(zhí)行如下步驟00401至步驟00405,然后進(jìn)入步驟005;其中,M表示卷積層中預(yù)設(shè)濾波器的個數(shù),且各個濾波器的大小預(yù)設(shè);K表示待分類圖像的張數(shù)。
步驟00401.根據(jù)指定像素的屬性值,獲得第n個隱含層所接收所有歸一化特征圖像的歸一化特征均值圖像,并進(jìn)入步驟00402。
步驟00402.分別針對各張歸一化特征圖像,計算其相對歸一化特征均值圖像的L2范數(shù),獲得各張歸一化特征圖像所對應(yīng)的L2范數(shù),并針對各張歸一化特征圖像,按對應(yīng)的L2范數(shù),由大至小進(jìn)行排序,然后進(jìn)入步驟00403。
步驟00403.將由最大L2范數(shù)所對應(yīng)歸一化特征圖像為起始、依序預(yù)設(shè)第一百分比張數(shù)的歸一化特征圖像構(gòu)成待過濾歸一化特征圖像集合,并將第n個隱含層所接收所有歸一化特征圖像中剩余各張歸一化特征圖像構(gòu)成第一歸一化特征圖像集合,然后進(jìn)入步驟00404;其中,第一百分比大于0,且小于100%。
步驟00404.針對待過濾歸一化特征圖像集合,隨機(jī)刪除其中預(yù)設(shè)第二百分比張數(shù)的歸一化特征圖像,并將待過濾歸一化特征圖像集合中剩余各張歸一化特征圖像構(gòu)成第二歸一化特征圖像集合,然后進(jìn)入步驟00405;其中,第二百分比大于0,且小于100%。
步驟00405.將第一歸一化特征圖像集合中的各張歸一化特征圖像,與第二歸一化特征圖像集合中的各張歸一化特征圖像,合并或更新為初級歸一化特征圖像集合。
步驟005.判斷n是否等于N,是則進(jìn)入步驟007;否則將n的值加1,并將結(jié)果賦予n,然后進(jìn)入步驟006。
步驟006.將初級歸一化特征圖像集合中的各張歸一化特征圖像輸入至第n個隱含層中的特征過濾層,依次執(zhí)行如下步驟00401至步驟00405,然后進(jìn)入步驟005。
步驟007.將初級歸一化特征圖像集合中的各張歸一化特征圖像輸入至卷積神經(jīng)網(wǎng)絡(luò)中的全連層,并經(jīng)過分類輸出層實現(xiàn)針對各張待分類圖片的分類。
上述技術(shù)方案所設(shè)計基于卷積神經(jīng)網(wǎng)絡(luò)的圖片分類方法,針對卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)進(jìn)行改進(jìn),在隱含層中新增特征過濾層,通過對卷積網(wǎng)絡(luò)提取的大量特征進(jìn)行過濾,去除部分帶有較多噪聲的特征,提高卷積網(wǎng)絡(luò)訓(xùn)練效率,減少訓(xùn)練時間,降低內(nèi)存使用需求,并且集合多種訓(xùn)練技巧,使卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練收斂到更好的解,避免訓(xùn)練參數(shù)陷入局部最小區(qū)域,通過減少網(wǎng)絡(luò)參數(shù)數(shù)量,降低神經(jīng)網(wǎng)絡(luò)過擬合的可能,進(jìn)而能夠有效提高圖像分類準(zhǔn)確性和效率。
上面結(jié)合附圖對本發(fā)明的實施方式作了詳細(xì)說明,但是本發(fā)明并不限于上述實施方式,在本領(lǐng)域普通技術(shù)人員所具備的知識范圍內(nèi),還可以在不脫離本發(fā)明宗旨的前提下做出各種變化。