本發(fā)明涉及圖像處理和計(jì)算機(jī)視覺(jué)技術(shù)領(lǐng)域,特別涉及一種基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)方法及系統(tǒng)。
背景技術(shù):
目前,圖像分類(lèi)領(lǐng)域傳統(tǒng)分類(lèi)算法是:首先人工設(shè)計(jì)相對(duì)具有特異性的特征,再提取特征,最后通過(guò)分類(lèi)器對(duì)特征進(jìn)行分類(lèi),或者手動(dòng)設(shè)計(jì)性能更好的分類(lèi)器,以提高分類(lèi)性能,從而實(shí)現(xiàn)圖像分類(lèi)的目的。然而,與深度學(xué)習(xí)相比較,很多現(xiàn)存的方法只能提取原始圖像的淺層特征,對(duì)于分類(lèi)任務(wù),這些特征還不夠健壯,而深度學(xué)習(xí)恰好能從原始數(shù)據(jù)中逐層提取更加復(fù)雜、更加抽象的特征,而且這些特征更加健壯,從而提高分類(lèi)精度。
其中,深度學(xué)習(xí)的基本思想是:利用多個(gè)非線性運(yùn)算層構(gòu)建深度學(xué)習(xí)網(wǎng)絡(luò),網(wǎng)絡(luò)底層能夠從原始數(shù)據(jù)中學(xué)習(xí)到精細(xì)的外觀信息,底層的輸出直接作為高層的輸入,以此逐層從輸入數(shù)據(jù)中自適應(yīng)地學(xué)習(xí)到高階的更加抽象、更加復(fù)雜的特征表示,最后用這些特征表示來(lái)解決分類(lèi)問(wèn)題,大量實(shí)驗(yàn)表明,深度學(xué)習(xí)網(wǎng)絡(luò)在圖像分類(lèi)方面具有非常優(yōu)越的性能。
相關(guān)技術(shù)中,深度學(xué)習(xí)最初主要處理簡(jiǎn)單的圖像分類(lèi)任務(wù),例如mnist手寫(xiě)體分類(lèi)。在2012年的imagenet比賽上,首次將深度學(xué)習(xí)用于這種復(fù)雜的圖像分類(lèi)任務(wù)。imagenet數(shù)據(jù)集總共有100萬(wàn)張圖片,1000個(gè)類(lèi)別,分辨率為300*300左右,在該賽事上將圖像的分類(lèi)準(zhǔn)確率從74.3%提高到了84.7%,而后在2014年的imagenet比賽上,獲得冠軍的是深度學(xué)習(xí)模型googlenet,分類(lèi)準(zhǔn)確率是93.4%,最后深度殘差學(xué)習(xí)模型已經(jīng)將imagenet數(shù)據(jù)集的分類(lèi)精度提高到95%以上,幾乎接近于人類(lèi)的水平。
然而,上述提到的模型均是在朝著網(wǎng)絡(luò)更深、更復(fù)雜的方向發(fā)展,并沒(méi)有證明相對(duì)簡(jiǎn)化的模型不能夠達(dá)到上述效果,所以用于圖像分類(lèi)的深度學(xué)習(xí)網(wǎng)絡(luò)模型的設(shè)計(jì)還有很大的探索空間。相關(guān)技術(shù)中,傳統(tǒng)分類(lèi)方法是提取合適的特征,再根據(jù)特征分類(lèi),但是這類(lèi)方法只能提取淺層特征,且操作復(fù)雜,適用性不強(qiáng),難以普及。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問(wèn)題之一。
為此,本發(fā)明的一個(gè)目的在于提出一種基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)方法,該方法可以有效提高圖像分類(lèi)的準(zhǔn)確性和便捷性。
本發(fā)明的另一個(gè)目的在于提出一種基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)統(tǒng)。
為達(dá)到上述目的,本發(fā)明一方面實(shí)施例提出了一種基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)方法,包括以下步驟:輸入待分類(lèi)圖像;對(duì)所述待分類(lèi)圖像進(jìn)行分塊,以在所述待分類(lèi)圖像上得到多個(gè)圖像塊;設(shè)計(jì)多通路cnn(convolutionalneuralnetworks,多通路卷積神經(jīng)網(wǎng)絡(luò))模型,所述多通路cnn模型至少包括局部特征提取通路和全局特征提取通路;對(duì)訓(xùn)練圖像進(jìn)行分塊,以在所述訓(xùn)練圖像上得到多個(gè)訓(xùn)練圖像塊;根據(jù)所述多通路cnn模型和所述多個(gè)訓(xùn)練圖像塊進(jìn)行模型訓(xùn)練,以生成cnn分類(lèi)模型;根據(jù)所述多個(gè)圖像塊通過(guò)所述cnn分類(lèi)模型得到圖像分類(lèi)結(jié)果。
本發(fā)明實(shí)施例的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)方法,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)理論和深度學(xué)習(xí)網(wǎng)絡(luò)模型訓(xùn)練方法獲得基于多通路cnn的圖像分類(lèi)模型,從而可以實(shí)現(xiàn)端到端的分類(lèi),且可以用于全自動(dòng)地對(duì)圖像進(jìn)行分類(lèi),實(shí)現(xiàn)基于像素級(jí)的分類(lèi)目的,不受待分類(lèi)圖像類(lèi)別的限制,適用性強(qiáng),模型性能好,具有魯棒性,使分類(lèi)不但更加便捷、有效,而且操作簡(jiǎn)單且性能更好,從而有效提高圖像分類(lèi)的準(zhǔn)確性和便捷性。
另外,根據(jù)本發(fā)明上述實(shí)施例的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)方法還可以具有以下附加的技術(shù)特征:
可選地,在本發(fā)明的一個(gè)實(shí)施例中,所述cnn分類(lèi)模型選擇所述多個(gè)圖像塊的尺度。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述局部特征提取通路包括第一卷積塊和第二卷積塊,所述第一卷積塊和第二卷積塊均包含三個(gè)連續(xù)的卷積層,卷積核大小均為3*3,且所述局部特征提取通路的卷積層輸出的fms(featuremaps,特征圖)大小與卷積層輸入的fms大小相等,以及所述卷積層輸出的fms隔層串聯(lián)。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述全局特征提取通路包括第三卷積塊,所述第三卷積塊包含三個(gè)連續(xù)的卷積層,卷積核大小均為9*9,且所述全局特征提取通路的卷積層輸出的fms個(gè)數(shù)分別為120、120、250,以及計(jì)算所述全局特征提取通路的每個(gè)卷積層輸出的fms尺度為:
c=m-n+1,
其中,c×c為所述卷積層輸出的fms尺度,m×m為卷積層輸入的fms尺度,n×n為卷積核的尺度。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述設(shè)計(jì)多通路cnn模型,進(jìn)一步包括:對(duì)所述多通路cnn模型使用正則項(xiàng),其中,在所述局部特征提取通路上,對(duì)所述局部特征提取通路的每個(gè)卷積層的權(quán)重施加正則項(xiàng)l2:
其中,c表示有正則項(xiàng)的代價(jià)函數(shù),c0表示原始代價(jià)函數(shù),正則項(xiàng)l2為
在所述全局特征提取通路上,使用dropout正則化方法,以在訓(xùn)練模型時(shí),隨機(jī)按比例保留所述全局特征提取通路的卷積層的預(yù)設(shè)節(jié)點(diǎn)的權(quán)重。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,使用隨機(jī)梯度下降法訓(xùn)練所述多通路cnn模型,并使用學(xué)習(xí)率函數(shù)調(diào)整模型權(quán)重,以及使用keras深度學(xué)習(xí)框架,其中,所述隨機(jī)梯度下降法的參數(shù)設(shè)置形式如下公式:
sgd=sgd(lr=lr_base,momentum=0.9,nesterov=true),
學(xué)習(xí)率函數(shù)如下公式:
其中,sgd(·)為keras深度學(xué)習(xí)框架中的隨機(jī)梯度下降法的函數(shù),momentum為動(dòng)量參數(shù),nesterov=true表示使用nesterov動(dòng)量,lr為每一輪訓(xùn)練的學(xué)習(xí)率,lr_base表示開(kāi)始訓(xùn)練時(shí)的學(xué)習(xí)率,epoch為訓(xùn)練的輪次,epoches為設(shè)置的訓(xùn)練總輪數(shù),lr_power為設(shè)置的指數(shù)參數(shù)。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述多通路cnn模型和所述多個(gè)訓(xùn)練圖像塊進(jìn)行模型訓(xùn)練,進(jìn)一步包括:利用earlystopping控制訓(xùn)練過(guò)程,以在訓(xùn)練過(guò)程中,驗(yàn)證集的精確度不再提高或者訓(xùn)練輪次達(dá)到最大時(shí),終止模型訓(xùn)練。
為達(dá)到上述目的,本發(fā)明另一方面實(shí)施例提出了一種基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)統(tǒng),包括:輸入模塊,用于輸入待分類(lèi)圖像;第一分塊模塊,用于對(duì)所述待分類(lèi)圖像進(jìn)行分塊,以在所述待分類(lèi)圖像上得到多個(gè)圖像塊;設(shè)計(jì)模塊,用于設(shè)計(jì)多通路cnn模型,所述多通路cnn模型至少包括局部特征提取通路和全局特征提取通路;第二分塊模塊,用于對(duì)訓(xùn)練圖像進(jìn)行分塊,以在所述訓(xùn)練圖像上得到多個(gè)訓(xùn)練圖像塊;訓(xùn)練模塊,用于根據(jù)所述多通路cnn模型和所述多個(gè)訓(xùn)練圖像塊進(jìn)行模型訓(xùn)練,以生成cnn分類(lèi)模型;分類(lèi)模塊,用于根據(jù)所述多個(gè)圖像塊通過(guò)所述cnn分類(lèi)模型得到圖像分類(lèi)結(jié)果。
本發(fā)明實(shí)施例的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)統(tǒng),通過(guò)卷積神經(jīng)網(wǎng)絡(luò)理論和深度學(xué)習(xí)網(wǎng)絡(luò)模型訓(xùn)練方法獲得基于多通路cnn的圖像分類(lèi)模型,從而可以實(shí)現(xiàn)端到端的分類(lèi),且可以用于全自動(dòng)地對(duì)圖像進(jìn)行分類(lèi),實(shí)現(xiàn)基于像素級(jí)的分類(lèi)目的,不受待分類(lèi)圖像類(lèi)別的限制,適用性強(qiáng),模型性能好,具有魯棒性,使分類(lèi)不但更加便捷、有效,而且操作簡(jiǎn)單且性能更好,從而有效提高圖像分類(lèi)的準(zhǔn)確性和便捷性。
另外,根據(jù)本發(fā)明上述實(shí)施例的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)統(tǒng)還可以具有以下附加的技術(shù)特征:
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述局部特征提取通路包括第一卷積塊和第二卷積塊,所述第一卷積塊和第二卷積塊均包含三個(gè)連續(xù)的卷積層,卷積核大小均為3*3,且所述局部特征提取通路的卷積層輸出的fms大小與卷積層輸入的fms大小相等,以及所述卷積層輸出的fms隔層串聯(lián)。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,所述全局特征提取通路包括第三卷積塊,所述第三卷積塊包含三個(gè)連續(xù)的卷積層,卷積核大小均為9*9,且所述全局特征提取通路的卷積層輸出的fms個(gè)數(shù)分別為120、120、250,以及計(jì)算所述全局特征提取通路的每個(gè)卷積層輸出的fms尺度為:
c=m-n+1,
其中,c×c為所述卷積層輸出的fms尺度,m×m為卷積層輸入的fms尺度,n×n為卷積核的尺度。
本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過(guò)本發(fā)明的實(shí)踐了解到。
附圖說(shuō)明
本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中:
圖1為根據(jù)本發(fā)明實(shí)施例的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)方法的流程圖;
圖2為根據(jù)本發(fā)明一個(gè)實(shí)施例的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)方法的流程圖;
圖3為根據(jù)本發(fā)明一個(gè)實(shí)施例的不同背景下的綠色植物圖片示意圖;
圖4為根據(jù)本發(fā)明一個(gè)實(shí)施例的不同種類(lèi)的綠色植物圖片示意圖;
圖5為根據(jù)本發(fā)明一個(gè)實(shí)施例的在原圖上取圖像塊的過(guò)程圖片示意圖;
圖6為根據(jù)本發(fā)明一個(gè)實(shí)施例的多通路cnn模型框架示意圖;
圖7為根據(jù)本發(fā)明一個(gè)實(shí)施例的局部特征提取通路的結(jié)構(gòu)示意圖;
圖8為根據(jù)本發(fā)明一個(gè)實(shí)施例的全局特征提取通路的結(jié)構(gòu)示意圖;
圖9為根據(jù)本發(fā)明一個(gè)實(shí)施例的淺層次信息與深層信息相融合的形式示意圖;
圖10為根據(jù)本發(fā)明一個(gè)實(shí)施例的卷積塊與池化層的連接形式示意圖;
圖11為根據(jù)本發(fā)明一個(gè)實(shí)施例的選擇合適尺度圖像塊的過(guò)程實(shí)例示意圖;
圖12為根據(jù)本發(fā)明一個(gè)實(shí)施例的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類(lèi)似的標(biāo)號(hào)表示相同或類(lèi)似的元件或具有相同或類(lèi)似功能的元件。下面通過(guò)參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。
下面參照附圖描述根據(jù)本發(fā)明實(shí)施例提出的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)方法及系統(tǒng),首先將參照附圖描述根據(jù)本發(fā)明實(shí)施例提出的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)方法。
圖1是本發(fā)明一個(gè)實(shí)施例的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)方法的流程圖。
如圖1所示,該基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)方法包括以下步驟:
在步驟s101中,輸入待分類(lèi)圖像。
可以理解的是,如圖2所示,步驟a1:輸入待分類(lèi)的綠色植物圖像數(shù)據(jù)。例如,待分類(lèi)的圖像包含不同的類(lèi)別,每一類(lèi)圖像均在不同的自然場(chǎng)景下拍攝。同一類(lèi)植物,在不同自然場(chǎng)景下拍攝的圖像如圖3所示,不同類(lèi)別的植物葉片如圖4所示。
在步驟s102中,對(duì)待分類(lèi)圖像進(jìn)行分塊,以在待分類(lèi)圖像上得到多個(gè)圖像塊。
其中,在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)cnn分類(lèi)模型選擇多個(gè)圖像塊的尺度,需要說(shuō)明的是,cnn分類(lèi)模型會(huì)在下面進(jìn)行詳細(xì)描述。
可以理解是,如圖2所示,步驟a2:在待分類(lèi)圖像上取圖像塊。例如,訓(xùn)練數(shù)據(jù)為500×331的綠色植物圖像,在每個(gè)待分類(lèi)圖像上隨機(jī)取圖像塊時(shí),圖像塊尺度與訓(xùn)練圖像塊尺度相同,圖像塊個(gè)數(shù)為80個(gè),所取圖像塊如圖5所示。在訓(xùn)練集的每個(gè)圖像上,按照設(shè)定值選取合適尺度的圖像塊,極大提高訓(xùn)練的樣本數(shù)。
在步驟s103中,設(shè)計(jì)多通路cnn模型,多通路cnn模型至少包括局部特征提取通路和全局特征提取通路。
其中,在本發(fā)明的一個(gè)實(shí)施例中,局部特征提取通路包括第一卷積塊和第二卷積塊,第一卷積塊和第二卷積塊均包含三個(gè)連續(xù)的卷積層,卷積核大小均為3*3,且局部特征提取通路的卷積層輸出的fms大小與卷積層輸入的fms大小相等,以及卷積層輸出的fms隔層串聯(lián)。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,全局特征提取通路包括第三卷積塊,第三卷積塊包含三個(gè)連續(xù)的卷積層,卷積核大小均為9*9,且全局特征提取通路的卷積層輸出的fms個(gè)數(shù)分別為120、120、250,以及計(jì)算全局特征提取通路的每個(gè)卷積層輸出的fms尺度為:
c=m-n+1,
其中,c×c為卷積層輸出的fms尺度,m×m為卷積層輸入的fms尺度,n×n為卷積核的尺度。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,設(shè)計(jì)多通路cnn模型,進(jìn)一步包括:對(duì)多通路cnn模型使用正則項(xiàng),其中,在局部特征提取通路上,對(duì)局部特征提取通路的每個(gè)卷積層的權(quán)重施加正則項(xiàng)l2:
其中,c表示有正則項(xiàng)的代價(jià)函數(shù),c0表示原始代價(jià)函數(shù),正則項(xiàng)l2為
在全局特征提取通路上,使用dropout正則化方法,以在訓(xùn)練模型時(shí),隨機(jī)按比例保留全局特征提取通路的卷積層的預(yù)設(shè)節(jié)點(diǎn)的權(quán)重。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,使用隨機(jī)梯度下降法訓(xùn)練多通路cnn模型,并使用學(xué)習(xí)率函數(shù)調(diào)整模型權(quán)重,以及使用keras深度學(xué)習(xí)框架,其中,
隨機(jī)梯度下降法的參數(shù)設(shè)置形式如下公式:
sgd=sgd(lr=lr_base,momentum=0.9,nesterov=true),
學(xué)習(xí)率函數(shù)如下公式:
其中,sgd(·)為keras深度學(xué)習(xí)框架中的隨機(jī)梯度下降法的函數(shù),momentum為動(dòng)量參數(shù),nesterov=true表示使用nesterov動(dòng)量,lr為每一輪訓(xùn)練的學(xué)習(xí)率,lr_base表示開(kāi)始訓(xùn)練時(shí)的學(xué)習(xí)率,epoch為訓(xùn)練的輪次,epoches為設(shè)置的訓(xùn)練總輪數(shù),lr_power為設(shè)置的指數(shù)參數(shù)。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)多通路cnn模型和多個(gè)訓(xùn)練圖像塊進(jìn)行模型訓(xùn)練,進(jìn)一步包括:利用earlystopping控制訓(xùn)練過(guò)程,以在訓(xùn)練過(guò)程中,驗(yàn)證集的精確度不再提高或者訓(xùn)練輪次達(dá)到最大時(shí),終止模型訓(xùn)練。
需要說(shuō)明的是,對(duì)多通路cnn模型使用正則項(xiàng),包括在局部通路上,為每個(gè)卷積層的權(quán)重施加正則項(xiàng)l2,如公式1所示。在全局通路上,使用dropout正則化方法。
其中,c表示有正則項(xiàng)的代價(jià)函數(shù),c0表示原始代價(jià)函數(shù),正則項(xiàng)l2為
舉例而言,多通路cnn模型如圖6所示。其中,圖中(1)表示綠色植物圖像,(2)、(5)和(9)表示卷積塊,均包含三個(gè)卷積,(3)和(6)表示fms串聯(lián),即淺層信息與深層信息融合,(4)和(7)表示最大池化層,(11)和(12)均為fc(fullyconnectedlayers,全連接層),(11)表示特征融合層,融合局部特征和全局特征,(12)為分類(lèi)層,(13)表示一定尺度的圖像塊。多通路cnn模型包括提取局部特征的通路和提取全局特征的通路兩種形式,其中,局部特征通路如圖7所示,且多通路cnn模型提取全局特征的通路如圖8所示。
可以理解的是,如圖2所示,步驟a3:設(shè)計(jì)多通路cnn模型。該多通路cnn模型由兩個(gè)通路組成,包括全局通路和局部通路,模型如圖6所示。該模型的輸入大小為m×m×3,其中,m×m表示圖像塊尺度,“3”表示圖像塊的三個(gè)通道,分別是r(red,紅色)、g(green,綠色)、b(blue,藍(lán)色)三個(gè)通道。(13)表示選取的圖像塊,(2)、(3)、(4)、(5)、(6)、(7)和(8)組成局部信息提取通路,其中,(2)表示卷積塊1,包括三個(gè)卷積層,(3)表示卷積1、3層的輸出fms的融合層,(4)和(7)表示最大池化層,(5)表示卷積塊2,(6)表示卷積4、6層的輸出fms融合層,(8)表示局部通路輸出的fms;(9)和(10)組成全局信息提取通路,其中,(9)包括三個(gè)卷積核均為9*9的卷積層;(11)是全連接層,融合局部信息(8)與全局信息(10);(12)是分類(lèi)層,該層計(jì)算出輸入圖像塊屬于80個(gè)類(lèi)別的概率,取最大概率的類(lèi)別為圖像塊的類(lèi)別。
可以理解是,如圖2所示,本發(fā)明實(shí)施例中的局部信息提取通路為:在(2)中,卷積層1的輸入為33*33*3,另外兩個(gè)卷積層的輸入均為33*33*64;在(5)中,三個(gè)卷積層輸入均為16*16*128;(4)和(7)的池化窗口均為3*3,滑動(dòng)步長(zhǎng)均為2。局部通路有兩個(gè)卷積塊,每個(gè)卷積塊包含3個(gè)連續(xù)的卷積層,卷積核大小為3*3,卷積層輸出fms的大小與其輸入fms的大小相等,卷積層輸出的fms隔層串聯(lián),其形式如圖9所示。其中,conv1、conv2、conv3為卷積層,fm1s、fm2s、fm3s為卷積層輸出的fms。在局部通路上,卷積塊之后是池化層,池化窗口大小為3*3,步長(zhǎng)為2*2,其形式如圖10所示。其中,(1)、(2)和(3)為卷積層,(4)表示fms串聯(lián),(5)為池化層。
進(jìn)一步地,如圖2所示,全局信息提取通路:三個(gè)卷積層的輸入形式分別為33*33*3,25*25*120,17*17*120,輸出形式分別是25*25*120,17*17*120,9*9*250。所有卷積層的激活函數(shù)均為lrelu函數(shù)(leakyrectifiedlinearunit),其表達(dá)式如公式2所示,分類(lèi)層的激活函數(shù)為softmax函數(shù)。其中,需要說(shuō)明是,lrelu函數(shù)、softmax函數(shù)沒(méi)有相應(yīng)的中文名稱(chēng),softmax函數(shù)是最常用的多分類(lèi)函類(lèi),其輸出是屬于各種類(lèi)的概率。在局部通路上,施加給卷積層權(quán)重的正則項(xiàng)均為
lrelu函數(shù)形式為,如公式2所示:
其中,yi表示該函數(shù)的輸入,ai表示斜率。
全局通路有三個(gè)連續(xù)的卷積層,卷積核均為9*9,輸出的fms的個(gè)數(shù)分別為120、120、250,計(jì)算每個(gè)卷積層輸出的fms的尺度公式如公式3所示:
c=m-n+1,(3)
其中,c×c為卷積層輸出的fms的尺度,m×m為卷積層輸入的fms的尺度,n×n為卷積核的尺度。
需要說(shuō)明的是,該多通路cnn分類(lèi)模型通過(guò)一塊gpu(graphicsprocessingunit,圖形處理器)顯卡nvidiatitanx(pascal)訓(xùn)練得到,效果顯著,不需要像傳統(tǒng)圖像處理方法先手動(dòng)提取圖像特征,再進(jìn)行分類(lèi)等繁瑣的步驟,而是直接可以提取特征,并對(duì)圖像塊進(jìn)行分類(lèi)。而且,除了選擇合適的圖像塊尺度進(jìn)行模型預(yù)訓(xùn)練,不需要再對(duì)圖像做任何預(yù)處理。
在步驟s104中,對(duì)訓(xùn)練圖像進(jìn)行分塊,以在訓(xùn)練圖像上得到多個(gè)訓(xùn)練圖像塊。
可以理解是,如圖2所示,步驟a4:在訓(xùn)練圖像上取圖像塊。例如,先從訓(xùn)練集的每類(lèi)中隨機(jī)抽取30%的圖像,按1:1分成訓(xùn)練數(shù)據(jù)和驗(yàn)證數(shù)據(jù)作預(yù)訓(xùn)練,選擇使驗(yàn)證集分類(lèi)精度最高的圖像尺度,取圖像塊流程如圖11所示。在每張訓(xùn)練集圖像上隨機(jī)選240個(gè)圖像塊,并取圖像塊所在圖像的類(lèi)別為圖像塊的類(lèi)別,組成訓(xùn)練集。
舉例而言,本發(fā)明實(shí)施例的方法通過(guò)實(shí)施模型預(yù)訓(xùn)練來(lái)選擇合適尺度的圖像塊。先從訓(xùn)練集的每類(lèi)中隨機(jī)抽取30%的圖像,按1:1分成訓(xùn)練數(shù)據(jù)和驗(yàn)證數(shù)據(jù)做訓(xùn)練,選擇使驗(yàn)證集分類(lèi)精度最高的圖像尺度,取圖像塊流程如圖11所示,這里以綠色植物圖像為例。其中,(1)表示在原始圖像上取圖像塊。在預(yù)訓(xùn)練階段,每次在訓(xùn)練數(shù)據(jù)中的每張圖像上隨機(jī)選擇若干個(gè)(與圖像類(lèi)別個(gè)數(shù)相同)一定尺度的圖像塊,輸入模型進(jìn)行訓(xùn)練,通過(guò)驗(yàn)證數(shù)據(jù)獲得模型分類(lèi)精度,選擇使模型分類(lèi)精度最高的圖像塊尺度。
在步驟s105中,根據(jù)多通路cnn模型和多個(gè)訓(xùn)練圖像塊進(jìn)行模型訓(xùn)練,以生成cnn分類(lèi)模型。
可以理解是,如圖2所示,步驟a5:模型訓(xùn)練,生成cnn分類(lèi)模型。其中,步驟a5模型訓(xùn)練可以包括a51、a52、a53和a54中的四個(gè)步驟。
步驟a51:首先,模型參數(shù)初始化;其次,卷積層與全連接層中權(quán)重的初始化方式均為xavier正態(tài)分布初始化法,偏置向量的初始化方式為全零初始化。
其中,xavier正態(tài)分布初始化法是2010年glorot等人提出的一種有效的神經(jīng)網(wǎng)絡(luò)初始化方法。
步驟a52:調(diào)整模型的權(quán)重。訓(xùn)練模型時(shí),采用sgd(stochasticgradientdescent,隨機(jī)梯度下降法)優(yōu)化模型,使用keras深度學(xué)習(xí)框架,sgd的參數(shù)設(shè)置形式如公式4所示。采用變化的學(xué)習(xí)率,學(xué)習(xí)率函數(shù)如公式5所示。
其中,在步驟a52中,使用sgd訓(xùn)練模型,使用學(xué)習(xí)率函數(shù)調(diào)整模型權(quán)重。使用keras深度學(xué)習(xí)框架,sgd的參數(shù)設(shè)置形式如公式4所示:
sgd=sgd(lr=lr_base,momentum=0.9,nesterov=true),(4)
學(xué)習(xí)率函數(shù)如公式5所示:
其中,sgd(·)為keras深度學(xué)習(xí)框架中的sgd的函數(shù),momentum為動(dòng)量參數(shù),nesterov=true表示使用nesterov動(dòng)量(牛頓動(dòng)量),lr為每一輪訓(xùn)練的學(xué)習(xí)率,lr_base表示開(kāi)始訓(xùn)練時(shí)的學(xué)習(xí)率,epoch為訓(xùn)練的輪次,epoches為設(shè)置的訓(xùn)練總輪數(shù),lr_power為設(shè)置的指數(shù)參數(shù)。使用深度學(xué)習(xí)方法進(jìn)行圖像分類(lèi),既能極大簡(jiǎn)化分類(lèi)流程,減少人為干預(yù),又能獲得很高的分類(lèi)精度,是非常有前景的做法。
步驟a53:設(shè)置訓(xùn)練的終止條件。
模型訓(xùn)練過(guò)程中使用earlystopping方法,當(dāng)驗(yàn)證集的精確度不再提高時(shí),或者當(dāng)訓(xùn)練次數(shù)達(dá)到設(shè)定的最大值時(shí),訓(xùn)練過(guò)程自動(dòng)終止。
可選地,earlystopping是指在模型訓(xùn)練過(guò)程中,滿(mǎn)足設(shè)定的終止條件后,不管是否達(dá)到最大訓(xùn)練輪次,訓(xùn)練自動(dòng)終止。
其中,步驟a53為利用earlystopping控制訓(xùn)練過(guò)程。在訓(xùn)練過(guò)程中,驗(yàn)證集的精確度不再提高或者訓(xùn)練輪次達(dá)到最大時(shí),終止訓(xùn)練。earlystopping是指在模型訓(xùn)練過(guò)程中,滿(mǎn)足設(shè)定的終止條件后,不管是否達(dá)到最大訓(xùn)練輪次,訓(xùn)練自動(dòng)終止;訓(xùn)練過(guò)程中的驗(yàn)證集占總訓(xùn)練集的20%。
需要說(shuō)明的是,本發(fā)明實(shí)施例可以采用基于時(shí)間變化的學(xué)習(xí)率來(lái)訓(xùn)練模型,基于時(shí)間變化的學(xué)習(xí)率既能加快收斂速度,又能有效避免在模型訓(xùn)練過(guò)程中,可能出現(xiàn)的超調(diào)現(xiàn)象或者劇烈震蕩現(xiàn)象,并且利用網(wǎng)格搜索法確定模型的相關(guān)參數(shù),如卷積核數(shù)、激活函數(shù)、正則化操作dropout的參數(shù)取值等等,有效降低優(yōu)化模型時(shí)選參數(shù)的難度,以及利用earlystopping方式,使得在訓(xùn)練過(guò)程中,模型性能不再提高時(shí)及時(shí)終止訓(xùn)練。
步驟a54:保存訓(xùn)練好的模型。
當(dāng)訓(xùn)練終止后,保存訓(xùn)練好的模型:包括保存模型權(quán)重(文件類(lèi)型為.hdf)、模型結(jié)構(gòu)信息(類(lèi)型為.json)、模型結(jié)構(gòu)圖(文件類(lèi)型為.png)。
在步驟s106中,根據(jù)多個(gè)圖像塊通過(guò)cnn分類(lèi)模型得到圖像分類(lèi)結(jié)果。
可以理解是,如圖2所示,步驟a6:輸出綠色植物物種分類(lèi)結(jié)果。
其中,如表1所示,確定每張待分類(lèi)圖像類(lèi)別的流程。其中,表1為確定待分類(lèi)綠色植物圖像類(lèi)別的流程表。
表1
需要說(shuō)明是,本發(fā)明實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序指令相關(guān)的硬件完成,程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
具體而言,本發(fā)明實(shí)施例的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)方法可以包括:輸入待分類(lèi)的圖像數(shù)據(jù);在待分類(lèi)圖像數(shù)據(jù)上取圖像塊;訓(xùn)練cnn模型,具體包括設(shè)計(jì)多通路cnn模型,將訓(xùn)練數(shù)據(jù)進(jìn)行預(yù)處理,利用預(yù)處理后的訓(xùn)練數(shù)據(jù)和設(shè)計(jì)好的cnn模型進(jìn)行模型訓(xùn)練。其中,設(shè)計(jì)多通路cnn模型包含局部特征提取的通路和全局特征提取的通路,在訓(xùn)練數(shù)據(jù)上取圖像塊,構(gòu)成訓(xùn)練集,模型訓(xùn)練過(guò)程包括初始化模型的權(quán)值,調(diào)整模型的權(quán)重,設(shè)置訓(xùn)練的終止條件;輸出圖像分類(lèi)結(jié)果,具體包括將待分類(lèi)的圖像塊輸入訓(xùn)練好的cnn模型,對(duì)待測(cè)圖像數(shù)據(jù)進(jìn)行正確分類(lèi)。
根據(jù)本發(fā)明實(shí)施例提出的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)方法,通過(guò)卷積神經(jīng)網(wǎng)絡(luò)理論和深度學(xué)習(xí)網(wǎng)絡(luò)模型訓(xùn)練方法獲得基于多通路cnn的圖像分類(lèi)模型,從而可以實(shí)現(xiàn)端到端的分類(lèi),且可以用于全自動(dòng)地對(duì)圖像進(jìn)行分類(lèi),實(shí)現(xiàn)基于像素級(jí)的分類(lèi)目的,不受待分類(lèi)圖像類(lèi)別的限制,適用性強(qiáng),模型性能好,具有魯棒性,使分類(lèi)不但更加便捷、有效,而且操作簡(jiǎn)單且性能更好,從而有效提高圖像分類(lèi)的準(zhǔn)確性和便捷性。
其次參照附圖描述根據(jù)本發(fā)明實(shí)施例提出的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)統(tǒng)。
圖12是本發(fā)明一個(gè)實(shí)施例的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)統(tǒng)10的結(jié)構(gòu)示意圖。
如圖12所示,該基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)統(tǒng)10包括:輸入模塊100、第一分塊模塊200、設(shè)計(jì)模塊300、第二分塊模塊400、訓(xùn)練模塊500和分類(lèi)模塊600。
其中,輸入模塊100用于輸入待分類(lèi)圖像。第一分塊模塊200用于對(duì)待分類(lèi)圖像進(jìn)行分塊,以在待分類(lèi)圖像上得到多個(gè)圖像塊。設(shè)計(jì)模塊300用于設(shè)計(jì)多通路cnn模型,多通路cnn模型至少包括局部特征提取通路和全局特征提取通路。第二分塊模塊400用于對(duì)訓(xùn)練圖像進(jìn)行分塊,以在訓(xùn)練圖像上得到多個(gè)訓(xùn)練圖像塊。訓(xùn)練模塊500用于根據(jù)多通路cnn模型和多個(gè)訓(xùn)練圖像塊進(jìn)行模型訓(xùn)練,以生成cnn分類(lèi)模型。分類(lèi)模塊600用于根據(jù)多個(gè)圖像塊通過(guò)cnn分類(lèi)模型得到圖像分類(lèi)結(jié)果。該基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)統(tǒng)10可以基于多通路cnn全自動(dòng)地對(duì)圖像進(jìn)行分類(lèi),實(shí)現(xiàn)基于像素級(jí)的分類(lèi)目的,不受待分類(lèi)圖像類(lèi)別的限制,而且適應(yīng)性強(qiáng),模型性能好,從而有效提高圖像分類(lèi)的準(zhǔn)確性和便捷性。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,局部特征提取通路包括第一卷積塊和第二卷積塊,第一卷積塊和第二卷積塊均包含三個(gè)連續(xù)的卷積層,卷積核大小均為3*3,且局部特征提取通路的卷積層輸出的fms大小與卷積層輸入的fms大小相等,以及卷積層輸出的fms隔層串聯(lián)。
進(jìn)一步地,在本發(fā)明的一個(gè)實(shí)施例中,全局特征提取通路包括第三卷積塊,第三卷積塊包含三個(gè)連續(xù)的卷積層,卷積核大小均為9*9,且全局特征提取通路的卷積層輸出的fms個(gè)數(shù)分別為120、120、250,以及計(jì)算全局特征提取通路的每個(gè)卷積層輸出的fms尺度為:
c=m-n+1,
其中,c×c為卷積層輸出的fms尺度,m×m為卷積層輸入的fms尺度,n×n為卷積核的尺度。
需要說(shuō)明的是,前述對(duì)方法實(shí)施例的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)方法解釋說(shuō)明也適用于該實(shí)施例的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)統(tǒng),此處不再贅述。
根據(jù)本發(fā)明實(shí)施例提出的基于多通路卷積神經(jīng)網(wǎng)絡(luò)的圖像分類(lèi)統(tǒng),通過(guò)卷積神經(jīng)網(wǎng)絡(luò)理論和深度學(xué)習(xí)網(wǎng)絡(luò)模型訓(xùn)練方法獲得基于多通路cnn的圖像分類(lèi)模型,從而可以實(shí)現(xiàn)端到端的分類(lèi),且可以用于全自動(dòng)地對(duì)圖像進(jìn)行分類(lèi),實(shí)現(xiàn)基于像素級(jí)的分類(lèi)目的,不受待分類(lèi)圖像類(lèi)別的限制,適用性強(qiáng),模型性能好,具有魯棒性,使分類(lèi)不但更加便捷、有效,而且操作簡(jiǎn)單且性能更好,從而有效提高圖像分類(lèi)的準(zhǔn)確性和便捷性。
在本發(fā)明的描述中,需要理解的是,術(shù)語(yǔ)“中心”、“縱向”、“橫向”、“長(zhǎng)度”、“寬度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”“內(nèi)”、“外”、“順時(shí)針”、“逆時(shí)針”、“軸向”、“徑向”、“周向”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡(jiǎn)化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對(duì)本發(fā)明的限制。
此外,術(shù)語(yǔ)“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個(gè)該特征。在本發(fā)明的描述中,“多個(gè)”的含義是至少兩個(gè),例如兩個(gè),三個(gè)等,除非另有明確具體的限定。
在本發(fā)明中,除非另有明確的規(guī)定和限定,術(shù)語(yǔ)“安裝”、“相連”、“連接”、“固定”等術(shù)語(yǔ)應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或成一體;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過(guò)中間媒介間接相連,可以是兩個(gè)元件內(nèi)部的連通或兩個(gè)元件的相互作用關(guān)系,除非另有明確的限定。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語(yǔ)在本發(fā)明中的具體含義。
在本發(fā)明中,除非另有明確的規(guī)定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接觸,或第一和第二特征通過(guò)中間媒介間接接觸。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或僅僅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或僅僅表示第一特征水平高度小于第二特征。
在本說(shuō)明書(shū)的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書(shū)中,對(duì)上述術(shù)語(yǔ)的示意性表述不必須針對(duì)的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說(shuō)明書(shū)中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對(duì)本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對(duì)上述實(shí)施例進(jìn)行變化、修改、替換和變型。