李 偉,黃鶴鳴,武風(fēng)英,張會云
(1.青海師范大學(xué) 計算機(jī)學(xué)院,西寧 810008;2.青海省基礎(chǔ)測繪院,西寧 810001)
隨著圖像采集技術(shù)和處理技術(shù)的飛速發(fā)展,圖像已成為人們獲取信息的主要方式。人們從浩瀚的圖像數(shù)據(jù)庫中搜索圖像時,需要對數(shù)據(jù)庫中的圖像進(jìn)行分析處理,而分析處理的前提是對這些海量圖像進(jìn)行分類。
隨著大數(shù)據(jù)技術(shù)和硬件計算能力的發(fā)展,神經(jīng)網(wǎng)絡(luò)作為一種新興的深度學(xué)習(xí)方法,在各個領(lǐng)域取得了突破性進(jìn)展[1]。其中,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)作為一種帶有卷積計算的深層前饋型神經(jīng)網(wǎng)絡(luò)[2-4],能更好地獲取圖像的空間位置和形狀信息,有利于圖像分類。2005 年,STEINKRAUS 等[5]提出基于GPU 的高效CNN 訓(xùn)練方法,大幅提高了CNN 的運(yùn)算能力;2012 年,KRIZHEVSKY 等[6]提出AlexNet 網(wǎng)絡(luò),采用ReLU 激活函數(shù)并使用GPU 分組卷積方式進(jìn)行并行訓(xùn)練[5];GoogLeNet[7]由SZEGEDY 等 于2014 年提出;2015 年,LOFFE 等[8]將批標(biāo)準(zhǔn)化應(yīng)用于神經(jīng)網(wǎng)絡(luò),保證了網(wǎng)絡(luò)中各層的輸出分布基本穩(wěn)定,大幅降低了網(wǎng)絡(luò)對初始參數(shù)的依賴,提升了網(wǎng)絡(luò)性能。
CNN 具有良好的擴(kuò)展性和魯棒性,利用CNN 進(jìn)行圖像分類時,能夠快速且全面地提取空間位置和形狀等相關(guān)特征,但是CNN 對顏色特征不敏感。在進(jìn)行圖像分類時,CNN 通過RGB 三顏色通道讀取圖像內(nèi)容進(jìn)行分類的效果與它讀取二值化圖像信息進(jìn)行分類的效果差別不大或者無差別。由于顏色特征具有很強(qiáng)的魯棒性和靈活性,但不能體現(xiàn)圖像空間分布的特點(diǎn)。為此,本文提出將主顏色特征與空間位置和形狀相關(guān)特征進(jìn)行深度融合的混合特征提取方法,并運(yùn)用改進(jìn)的差分演化算法優(yōu)化多種特征之間的權(quán)值,以解決固定權(quán)值不能充分考慮圖像自身特性的問題。
為更好地讀取圖像內(nèi)容信息,本文構(gòu)建基于深度多特征融合的CNN 網(wǎng)絡(luò)模型總體框架。該框架共有4 個卷積層:第1 個卷積層稱為數(shù)據(jù)特征融合層,可以充分融合去噪深度卷積特征和主顏色特征,隨后是一個池化層,池化層的作用是降低網(wǎng)絡(luò)參數(shù),加快融合速度;第2 個卷積層稱為深度特征融合層,進(jìn)一步進(jìn)行特征融合,同第一個卷積層,隨后也是一個池化層;第3 個卷積層稱為特征抽象表示層,該層中的卷積核大小由前2 個卷積層中的5×5 改為3×3,即有助于消除特征中的噪聲并提高特征的抽象表示,隨后也是一個池化層;第4 個卷積層稱為特征高級表示層,有助于消除冗余特征并提高代表性特征,后面是一個池化層,隨后是三層全連接層,用于特征分類以及反向傳播過程中的參數(shù)優(yōu)化。在網(wǎng)絡(luò)的最后,采用Softmax 層進(jìn)行分類。Softmax 是應(yīng)對多分類問題的有監(jiān)督學(xué)習(xí)方法[9-11],為分類提供重要的置信度。
卷積層、非線性激活變換和池化層是CNN 的3 個基本組成部分[2]。通過疊加多個具有非線性運(yùn)算的卷積層和池化層,可以形成一個深度CNN,而分層提取的輸入特征具有不變性和魯棒性[12]。具有非線性運(yùn)算的卷積層[13]如式(1)所示:
基于深度多特征融合的CNN 網(wǎng)絡(luò)模型總體框架如圖1 所示。圖1 中的去噪深度卷積特征稱為fc,是經(jīng)過3 層卷積神經(jīng)網(wǎng)絡(luò)以后的去噪空間位置和形狀關(guān)系信息,如圖2 所示。
圖1 基于深度多特征融合的CNN 網(wǎng)絡(luò)模型總體框架Fig.1 Overall framework of CNN networks model based on deep fusion of multi-features
圖2 去噪卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Structure of denoising convolutional neural networks
CNN 的卷積層內(nèi)部包含多個卷積核,每個卷積核能夠提取空間位置和形狀相關(guān)特征,卷積層內(nèi)每個神經(jīng)元均與前一層位置鄰近區(qū)域,也被稱為“感受野”[3]的多個神經(jīng)元相連,從而依賴于網(wǎng)絡(luò)分層學(xué)習(xí)上下文不變特征[13]:形狀和空間位置特征信息,這對于圖像分類特別有用;另外,CNN 還具有對輸入圖像特征的去噪功能。綜合CNN 的以上特點(diǎn),圖2 所示去噪卷積神經(jīng)網(wǎng)絡(luò)輸出的是去噪深度卷積特征。
不同于k-means 算法隨機(jī)選取數(shù)據(jù)集中的k個點(diǎn)作為聚類中心,“硬聚類”算法k-means++[14]隨機(jī)選取數(shù)據(jù)集中的一個點(diǎn)作為聚類中心,假設(shè)已經(jīng)選取了n個初始聚類中心(0 按照式(2)級聯(lián)去噪卷積神經(jīng)網(wǎng)絡(luò)輸出的去噪深度卷積特征fc和使用k-means++聚類算法提取的主顏色特征fl,得到深度數(shù)據(jù)融合特征fm: 由于特征維度比較高且訓(xùn)練樣本有限,可能會產(chǎn)生過擬合現(xiàn)象。本文研究使用Dropout 方法解決過擬合問題。Dropout 方法在不同的訓(xùn)練階段,通過隨機(jī)丟棄不同的神經(jīng)元形成不同的神經(jīng)網(wǎng)絡(luò),從而有效防止復(fù)雜的共適應(yīng),學(xué)習(xí)到更加正確的特征。 為增強(qiáng)網(wǎng)絡(luò)的魯棒性,本文研究還使用了ReLU激活函數(shù)[15]。如果神經(jīng)元的輸出為正,則該函數(shù)接受該神經(jīng)元的輸出;如果輸出為負(fù),則返回0。ReLU函數(shù)的表達(dá)式如式(3)所示: 通過使用Dropout 方法和ReLU 激活函數(shù),使多數(shù)神經(jīng)元的輸出變?yōu)?,再利用多層ReLU 和Dropout 實(shí)現(xiàn)基于稀疏的深度網(wǎng)絡(luò)正則化,從而解決深度多特征融合圖像分類的過擬合問題。 融合多特征進(jìn)行圖像分類時,為使分類結(jié)果盡可能更優(yōu),引入改進(jìn)的差分演化算法尋找最優(yōu)特征權(quán)重值的方法。差分演化算法[16-18]是一種高效的全局優(yōu)化算法,具有結(jié)構(gòu)簡單、易實(shí)現(xiàn)、優(yōu)化能力強(qiáng)等特點(diǎn)。 融合主顏色與空間位置和形狀相關(guān)特征時,為不影響實(shí)驗(yàn)的準(zhǔn)確度,本文研究未對主顏色特征執(zhí)行批標(biāo)準(zhǔn)化處理。經(jīng)過多次實(shí)驗(yàn)證明,空間位置和形狀相關(guān)特征在深度多特征融合時起主導(dǎo)作用,而主顏色特征起輔助作用,所以設(shè)去噪深度卷積特征權(quán)重值β=1,主顏色特征權(quán)重值為α。個體α的適應(yīng)度值由5 次交叉驗(yàn)證的平均分類結(jié)果和Top10 圖像的分類錯誤數(shù)決定,如式(4)所示: 其 中:n是epoch 的個數(shù);VALi是1 次交叉 驗(yàn)證的 平均分類結(jié)果;ZVAL 是5 次交叉驗(yàn)證的平均分類結(jié)果是圖像庫中前10 個圖像的分類錯誤數(shù)。 由于待優(yōu)參數(shù)只有1 個,因此舍棄雜交操作,對標(biāo)準(zhǔn)差分演化算法[19]中的變異和選擇操作進(jìn)行改進(jìn)。得到基于差分演化的自適應(yīng)權(quán)值CNN 圖像分類算法,算法詳細(xì)步驟如下: 步驟1在區(qū)間[10-1,10-10]內(nèi),初始化種群P,產(chǎn)生規(guī)模為NP 的個體α。 步驟2按照式(4)計算初始群體P中所有個體的適應(yīng)度值。 步驟3如果t<最大迭代次數(shù),則轉(zhuǎn)步驟4,否則終止進(jìn)化,將得到的最佳個體作為最優(yōu)解輸出。 步驟4按照式(7)對每個個體αi按照公式進(jìn)行差分變異,產(chǎn)生trialαi。 其中:αbest為當(dāng)前群體的最優(yōu)個體;r1、r2為群體中隨機(jī)選擇的2 個個體,且r1≠r2。 步驟5利用式(4)評估每個個體αi的適應(yīng)度值。 步驟6對每個個體αi進(jìn)行更新操作。 步驟7跳轉(zhuǎn)至步驟3。 本文研究所用圖像庫是Corel 公司提供的標(biāo)準(zhǔn)圖像素材庫Corel-1000。該庫包含了人物、建筑物、公交車、花卉、動物等10 類共1 000 幅圖像。選擇其中的800 幅作為訓(xùn)練集,而剩余的200 幅作為測試集。為了方便網(wǎng)絡(luò)讀取,對圖像庫進(jìn)行了預(yù)處理操作,將圖像大小由原來的3×256×328 壓縮成3×48×48。 神經(jīng)網(wǎng)絡(luò)模型的Epoch 設(shè)為50,每次迭代次數(shù)為8,批處理大小為100 幅圖像。第1 個卷積層的卷積核大小是5×5,濾波器32 個;第2 個卷積層的卷積核大小是5×5,濾波器64 個;第3 個、第4 個卷積層的卷積核大小是3×3,濾波器是128 個。卷積步長設(shè)為1,填充設(shè)為0。池化層步長設(shè)置為2,池化窗口大小為2×2。最后,Softmax 層有10 個神經(jīng)單元,將圖像分為10 類。另外,演化代數(shù)設(shè)為50,種群規(guī)模為37,縮放因子F為0.5。 通過最小化損失函數(shù)來獲得最優(yōu)解,本文研究使用交叉熵誤差函數(shù)[20]作為損失函數(shù),其表達(dá)式為: 此外,實(shí)驗(yàn)采用Adam 優(yōu)化器[21]優(yōu)化損失函數(shù)。結(jié)合AdaGrad 和RMSProp 2 種優(yōu)化算法的優(yōu)點(diǎn),綜合考慮梯度的一階矩估計(梯度的均值)和二階矩估計(梯度的未中心化的方差),計算更新步長。 1)計算時刻t的梯度: 2)計算梯度的指數(shù)移動平均數(shù): 其中:m0初始值設(shè)置為0;系數(shù)β1是指數(shù)衰減率,默認(rèn)為0.9。 3)計算梯度平方的指數(shù)移動平均數(shù): 其中:v0初始值設(shè)置為0;β2是指數(shù)衰減率,控制之前梯度平方的影響情況。 4)對梯度均值mt進(jìn)行偏差糾正: 5)對梯度方差vt進(jìn)行偏差糾正: 6)更新參數(shù),默認(rèn)學(xué)習(xí)率α=0.001: 其中:ε=10-8,避免除數(shù)為0。步長通過梯度均值和梯度均方根進(jìn)行自適應(yīng)調(diào)節(jié)。 本文研究將主顏色特征與空間位置和形狀相關(guān)特征進(jìn)行深度多特征融合的卷積神經(jīng)網(wǎng)絡(luò)稱為MCNN;將基于深度多特征融合的自適應(yīng)卷積神經(jīng)網(wǎng)絡(luò)稱為AMCNN。當(dāng)α=1e-5,β=1 時,CNN 和MCNN、AMCNN 在測試集上的實(shí)驗(yàn)結(jié)果如表1 所示。 表1 CNN、MCNN 和AMCNN 在測試集的準(zhǔn)確率Table 1 Accuracy of CNN,MCNN and AMCNN on test set % 分類算法的提高率為: 其中:a代表圖像庫中的圖像總數(shù);r代表圖像庫中分類正確的圖像數(shù)目。 從實(shí)驗(yàn)效果可以看到,進(jìn)行深度多特征融合時由于加入了主顏色特征彌補(bǔ)了CNN 對顏色特征不敏感的欠缺,因此MCNN 比CNN 分類準(zhǔn)確率提高了5.49 個百分點(diǎn);而AMCNN 算法在融合深度多特征的基礎(chǔ)上進(jìn)一步優(yōu)化權(quán)重值,尋找出各特征的最優(yōu)權(quán)值,從而更大程度地提升了分類準(zhǔn)確率,比CNN分類準(zhǔn)確率提高了11.21 個百分點(diǎn)。 圖3 是AMCNN、MCNN 和CNN 在測試集上的曲線精度對比,可以看到:和CNN 相比,AMCNN 和MCNN(α=1e-5)在有效提高分類精度的同時加快了收斂速度。此外,由于各網(wǎng)絡(luò)模型都使用了去噪深度卷積特征,因此網(wǎng)絡(luò)模型的性能相對穩(wěn)定和健壯。在整個測試集的曲線精度對比上沒有出現(xiàn)分類精度大幅度起伏的情況。 圖3 AMCNN、MCNN 和CNN 在測試集上的曲線精度對比Fig.3 Comparison of curve accuracy of AMCNN,MCNN and CNN on test set 使用MCNN 網(wǎng)絡(luò)模型對圖像庫進(jìn)行分類時,不同的α、β值會產(chǎn)生不同的實(shí)驗(yàn)效果,故選取不同的α、β值進(jìn)行實(shí)驗(yàn),表2 是其在測試集上的實(shí)驗(yàn)結(jié)果。 表2 測試集上不同α、β 值的實(shí)驗(yàn)結(jié)果Table 2 Experimental results of different α and β values on test set 從表2 可以看出:當(dāng)α值設(shè)置為1e-5,β值設(shè)置為1 時,準(zhǔn)確率為86.5%;而 當(dāng)α值被設(shè)置為1e-6 時,準(zhǔn)確率為89%,提升了2.5 個百分點(diǎn)。從而可見,不同的α、β值對MCNN 網(wǎng)絡(luò)模型產(chǎn)生的實(shí)驗(yàn)效果不盡相同,當(dāng)各特征權(quán)值達(dá)到最優(yōu)時,AMCNN 模型的準(zhǔn)確率達(dá)到91.2%。因?yàn)閷?shí)驗(yàn)使用的標(biāo)準(zhǔn)圖像素材庫Corel-1000 中只有1 000 幅10 種類別的圖像,所以當(dāng)準(zhǔn)確率達(dá)到91.2%時,是一個較好的分類結(jié)果。 AMCNN、MCN 和CNN 在測試集上的準(zhǔn)確率如圖4 所示。 圖4 AMCNN、MCNN 和CNN 在測試集上的準(zhǔn)確率Fig.4 Accuracy of AMCNN,MCNN and CNN on test set 從圖4 可以看出:CNN 的最大、最小和中值準(zhǔn)確率以及上四分位數(shù)和下四分位數(shù)均小于MCNN(α=1e-5)和AMCNN 的相應(yīng)數(shù)字特征。此外,還可以觀察到:AMCNN 的性能也相對穩(wěn)定,拋出的異常值也是最優(yōu)的。 當(dāng)MCNN 網(wǎng)絡(luò)模型進(jìn)行深度多特征融合時,使用深度去噪卷積特征和未使用深度去噪卷積特征(NMCNN)在測試集上得到的實(shí)驗(yàn)結(jié)果如表3 所示。 表3 MCNN 和NMCNN 在測試集的準(zhǔn)確率Table 3 Accuracy of MCNN and NMCNN on test set 從表3 可以看出:當(dāng)進(jìn)行深度多特征融合時,深度去噪卷積特征可以提高圖像分類的準(zhǔn)確率;相對于NMCNN,MCNN 的實(shí)驗(yàn)性能提升了3 個百分點(diǎn)。同時,與表1 中使用了深度去噪卷積特征的CNN 實(shí)驗(yàn)效果相比,融合主顏色特征比只使用深度去噪卷積特征的實(shí)驗(yàn)性能提升了1.5 個百分點(diǎn)。 本文提出一種基于深度多特征融合的自適應(yīng)CNN 圖像分類算法。該算法利用卷積神經(jīng)網(wǎng)絡(luò)提取空間位置和形狀特征,彌補(bǔ)CNN 網(wǎng)絡(luò)模型只讀取圖像空間位置信息而對顏色信息不太敏感的不足,并在此基礎(chǔ)上運(yùn)用改進(jìn)的差分演化算法優(yōu)化各特征權(quán)重值的方法。實(shí)驗(yàn)結(jié)果表明,與CNN 算法相比,該算法的圖像分類準(zhǔn)確率有較大程度的提升,而且模型性能更加穩(wěn)定和健壯。下一步將嘗試通過對抗網(wǎng)絡(luò)增大圖像庫樣本數(shù)量,使模型性能達(dá)到更優(yōu)。2.2 深度多特征融合算法
2.3 自適應(yīng)權(quán)值圖像分類算法
3 實(shí)驗(yàn)結(jié)果與分析
3.1 實(shí)驗(yàn)參數(shù)
3.2 實(shí)驗(yàn)結(jié)果
4 結(jié)束語