趙志宏,續(xù)欣瑩,陳 琪,謝 珺
(太原理工大學 a.電氣與動力工程學院;b.信息與計算機學院,山西 晉中 030600)
圖像分類作為圖像檢索和機器人視覺的基本任務[1],在計算機視覺和機器學習中受到廣泛的關(guān)注。圖像分類的研究主要有預處理、特征提取和分類器訓練三個方向[2]。在特征提取方面,國內(nèi)外學者提出了LBP、HOG、稀疏編碼等[3]方法;在分類器訓練方面提出了神經(jīng)網(wǎng)絡(luò)、決策樹、極限學習機以及支持向量機(SVM)等[4]多種分類方法。傳統(tǒng)圖像分類方法通過特征提取采得圖像的各種特征,之后將提取到的特征利用分類器進行分類,從而達到圖像分類的目的。對于不同的數(shù)據(jù)集,傳統(tǒng)方法的特征提取與分類器均是通過實驗人工選取的,算法的普適性較差[5]。
近年來提出的深度神經(jīng)網(wǎng)絡(luò)[6]由于其優(yōu)異的性能在計算機視覺的各個領(lǐng)域得到廣泛的研究。其中卷積神經(jīng)網(wǎng)絡(luò)(CNN)[7]由于其考慮了圖像的二維結(jié)構(gòu)信息以及強局部關(guān)系,在圖像分類領(lǐng)域性能較為突出。CNN摒棄了傳統(tǒng)分類方法先特征提取后分類的思維定勢,將兩者合并。利用設(shè)定好的網(wǎng)絡(luò)結(jié)構(gòu),完全從訓練數(shù)據(jù)中學習圖像的層級結(jié)構(gòu)性特征,能更加接近圖像的高級語義特征。因此也得到了廣泛的研究。2012年的AlexNet,2014年的GooleNet、VGG,2015年的Deep Residual Learning,這些根據(jù)CNN提出的改進版本從模型深度、組織結(jié)構(gòu)等方面對CNN進行了改進,使得分類精度有所上升[8]。但與此同時,復雜的深層網(wǎng)絡(luò)結(jié)構(gòu)也使得模型的參數(shù)成倍增加,大大降低了使用的便捷性。2015年黃廣斌等在極限學習機[9](ELM)基礎(chǔ)上受CNN的思想的啟發(fā),構(gòu)建了基于局部感受野的極限學習機(ELM-LRF)[10]。ELM-LRF僅有一個隱含層(包含一個卷積層和一個池化層),模型參數(shù)和訓練時間均較CNN大大減小,分類精度也很高;但由于網(wǎng)絡(luò)的特征圖輸入權(quán)重是隨機產(chǎn)生的,穩(wěn)定性有待增強[11]。
本文提出了一種改進的ELM-LRF算法。利用粒子群算法優(yōu)化選擇ELM-LRF算法卷積過程中各個特征圖的輸入權(quán)重,將逐次迭代后得到的最優(yōu)特征圖權(quán)重作為最終分類網(wǎng)絡(luò)的參數(shù),避免了復雜的人為選取參數(shù)過程,使用更加便捷。在數(shù)據(jù)庫Caltech 101 dataset[DB/OL][12]和CIFAR-10上將本文算法與其他算法進行比較,實驗結(jié)果表明改進的ELM-LRF算法不僅提高了算法的穩(wěn)定性,還充分發(fā)揮了粒子群的全局優(yōu)化能力,大大提高了分類精度。
極限學習機(ELM)是2004年新加坡南洋理工大學黃廣斌等人提出的一種新型單隱層前饋神經(jīng)網(wǎng)絡(luò)(SLFNs)[13]。該算法無需復雜的迭代計算,只需要設(shè)置隱含層節(jié)點個數(shù),網(wǎng)絡(luò)便能通過隨機輸入權(quán)重和隱含層偏置產(chǎn)生唯一的最優(yōu)解,參數(shù)選擇容易、學習速度快而且泛化性能好[9]。
ELM求解過程如下:對于n個任意的樣本(xi,ti),其中xi=[x1,x2,…,xn]代表第i個輸入向量,ti=[t1,t2,…,tn]表示第i個訓練樣本的目標標簽,則一個具有L個隱含層節(jié)點,激勵函數(shù)為G(x)的前饋神經(jīng)網(wǎng)絡(luò)的輸出可以表示為:
(1)
式中:wi=(wi1,wi2,…,win)T是第i個隱含層節(jié)點與訓練樣本之間的權(quán)重;bi是第i個隱含層節(jié)點的偏置;βi=(βi1,βi2,…,βim)T是第i個隱含層節(jié)點和輸出節(jié)點之間的權(quán)重;Yi=(y1,y2,…,yn)T是輸出期望向量。
ELM的目標是最小化輸出與期望的誤差。上述等式可以表示為:
Hβ=L.
(2)
最后使用最小二乘法來計算輸出權(quán)重,如下式:
(3)
式中,H+是H的廣義逆矩陣。
基于局部感受野的極限學習機(ELM-LRF)是一種特殊的ELM。其架構(gòu)中輸入層和隱含層節(jié)點之間的連接是根據(jù)連續(xù)概率分布隨機生成的,這種隨機的連接構(gòu)成了局部感受野[10]。ELM-LRF通過類似卷積神經(jīng)網(wǎng)絡(luò)(CNN)的單層卷積、池化網(wǎng)絡(luò)來自行提取輸入中的特征,并且通過ELM的輸出權(quán)重公式進行分類,具體結(jié)構(gòu)如圖1所示。
圖1 ELM-LRF精簡架構(gòu)Fig.1 Simple architecture of ELM-LRF
為了更充分地表示輸入,采用K個不同的輸入權(quán)重,從而得到K個不同的特征圖[14],如圖2所示。其具體實現(xiàn)分為以下3個步驟:
1) 隨機生成初始權(quán)重Ainit.設(shè)輸入圖像大小為d×d,局部感受野大小為r×r,那么特征圖的大小為(d-r+1)×(d-r+1).
(4)
之后采用奇異值分解(SVD)將初始權(quán)重Ainit正交化,記正交化的結(jié)果為A,A中每一列αK都是Ainit的一組正交基。第k個特征圖的輸入權(quán)重是αk∈Rr×r,由αk逐列排成。第k個特征圖的卷積節(jié)點(i,j)的值ci,j,k由下式計算:
(5)
2) 平方根池化。池化大小e表示池化中心到邊的距離[15],在ELM-LRF中池化圖與特征圖大小相同,都為(d-r+1)×(d-r+1).ci,j,k和hp,q,k分別表示第k個特征圖中的節(jié)點(i,j)和第k個池化圖中的組合節(jié)點(p,q).
(6)
3) 計算輸出權(quán)重矩陣。對于每一個輸入樣本x計算其對應的特征圖和池化圖,并把池化圖中的各個組合節(jié)點合成一個行向量;之后將N個輸入樣本的行向量連接起來,得到組合層矩陣H∈RN×Kg(d-r+1)2,最后組合層與輸出層采用全連接。輸出權(quán)重為β,采用正則化最小二乘解析計算。具體公式如下[10]:
如果N≤Kg(d-r+1)2
(7)
如果N>Kg(d-r+1)2
(8)
圖2 含K個特征圖的ELM-LRF網(wǎng)絡(luò)架構(gòu)Fig.2 Architecture of ELM-LRF with K maps
粒子群算法又叫鳥群算法,其思想源于鳥群覓食行為,每個粒子代表一組可能的解,所有的粒子組成一個群體,粒子在空間中根據(jù)自身的歷史信息和群體的歷史信息決定自己的速度和位置,直到找到問題的最優(yōu)解,其迭代更新公式[16]如下:
(9)
為使算法前期擁有較好的全局搜索能力,在較大區(qū)域內(nèi)尋找最優(yōu)解,后期擁有較好的局部搜索能力,在局部精細搜索,采用慣性權(quán)重線性下降處理,如式(10)所示[17]:
(10)
式中:wmax,wmin分別為權(quán)重最大值和最小值;kn和kmax分別為當前和最大迭代次數(shù)。
本文提出的改進ELM-LRF圖像分類算法是運用PSO算法對傳統(tǒng)ELM-LRF算法中隨機生成的K個特征圖的初始權(quán)重Ainit進行優(yōu)化選擇,最終選取最優(yōu)值作為模型的參數(shù)。與常規(guī)PSO優(yōu)化ELM網(wǎng)絡(luò)不同的是,本文通過PSO改進的ELM-LRF算法(命名為IPSO-ELM-LRF)針對圖像強的局部關(guān)系以及二維結(jié)構(gòu)信息,優(yōu)化的參數(shù)為ELM-LRF算法中各個卷積核的初始權(quán)重,由于卷積核的加入,使得優(yōu)化后的算法比傳統(tǒng)經(jīng)PSO優(yōu)化的ELM對圖像有更強的針對性。IPSO-ELM-LRF的算法流程如圖3所示。
圖3 IPSO-ELM-LRF算法流程圖Fig.3 Arithmetic flow chart for IPSO-ELM-LRF
具體步驟為:
1) 將圖像轉(zhuǎn)化為d×d大小,之后將圖像灰度化、歸一化作為算法的輸入樣本。
2) 產(chǎn)生初始種群:根據(jù)感受野大小(r×r)和特征圖數(shù)量K產(chǎn)生D=(r×r)gK個初始粒子。
3) 根據(jù)式(5)計算粒子對應的特征圖矩陣。
4) 根據(jù)式(6)計算池化圖矩陣。
5) 計算粒子對應的輸出權(quán)重矩陣β(式7)。
6) 計算適應度函數(shù):首先根據(jù)Hβ=L計算出預測標簽L,適應度即為圖像的分類準確率。第i個粒子的適應度記為fitness_i(注:對于第一個粒子A1,令最優(yōu)適應度值fitness_best=fitness_1,并將A1作為個體最優(yōu)值PBest)。
7) PSO更新粒子:
由式(9)—(10)更新種群中各粒子的速度和位置。然后執(zhí)行下列偽代碼:
For (1
// popsize為種群中的粒子個數(shù)
{
計算Ai的適應度值fitness_i;
If fitness_i>fitness_best
PBest(i)=Ai
fitness_best=fitness_i
Else
}
令fitness_best對應的粒子A為全局最優(yōu)值GBest;
8) 滿足預設(shè)的迭代次數(shù)或者GBest達到預設(shè)值,進入下一步,否則轉(zhuǎn)到3)。
9) 得到GBest對應的粒子(輸入權(quán)值),利用ELM-LRF求得輸出權(quán)值矩陣。由Hβ=L計算出預測類別。
需要注意的是,第7)步中,隨著粒子的更新,其粒子位置可能超出預先規(guī)定的位置上下限Xmax,Xmin.本文采用如下方式進行約束:若粒子位置大于上限Xmax,則讓其等于上限;若粒子位置小于下限Xmin,則讓其等于下限。由于粒子是由高斯分布隨機數(shù)產(chǎn)生,故這里規(guī)定其位置上下限為±3.
為了驗證IPSO-ELM-LRF算法的有效性,我們在以下兩個數(shù)據(jù)集上進行圖像分類實驗。數(shù)據(jù)集一為Caltech 101 dataset[DB/OL][12],該數(shù)據(jù)包含101類物體圖像。為了方便與其他算法作對比,本文選取了該數(shù)據(jù)庫官方給出的常用10個類,分別為Airplane, Bonsai, Car_side, Chandelier, Face,Hawksbill,Ketch,Leopards,Motorbikes,Watch.每類包含123~800幅圖像,每類圖像具有復雜的背景且大小不一,其中還夾雜大量灰度圖像,這給常規(guī)分類算法帶來了一定的挑戰(zhàn)。為保證公平的測試條件,根據(jù)常規(guī)的實驗設(shè)定,本文從每類中隨機抽取100個樣本,并通過下述方法進行數(shù)據(jù)增強:1) 水平和垂直方向作鏡像處理;2) 將圖像分別沿上、下、左、右、左上、左下、右上、右下八個方向進行5個像素點的平移,平移之后的空白用0補全。通過上述兩種方法將數(shù)據(jù)集擴充為原來的10倍,共10 000張圖像,選擇其中7 000幅用做訓練圖像,1 500幅用做優(yōu)化算法的驗證圖像,剩余的1 500幅作為實驗最終的測試圖像。
數(shù)據(jù)集二為CIFAR-10 dataset,該數(shù)據(jù)集包含Bird,Cat,F(xiàn)rog等10類圖像,每類圖像6 000幅。本文隨機選擇每類的5 000幅圖像為訓練集,500幅為驗證集,剩余500幅為測試集。將兩個數(shù)據(jù)集圖像均轉(zhuǎn)化為32dip×32dip, 之后將圖像灰度化、歸一化作為輸入樣本。
本文提出的IPSO-ELM-LRF算法中,最重要的有兩類參數(shù),一類是ELM-LRF中的平衡參數(shù)C和特征圖個數(shù)K,另一類是優(yōu)化算法中的種群大小P和迭代次數(shù)N.對于慣性權(quán)重w、學習因子c1和c2等相關(guān)參數(shù)的選取,已較為成熟穩(wěn)定,本文參照文獻[18]中的相關(guān)參數(shù)設(shè)置。具體數(shù)值如表1所示。
表1 IPSO-ELM-LRF算法的相關(guān)參數(shù)Table 1 Related parameters of IPSO-ELM-LRF
為了分析平衡參數(shù)C和特征圖個數(shù)K對算法的影響,本文首先做了參數(shù)敏感性實驗。將變量C的范圍設(shè)定在{10-4,10-3,10-2,…,102,103},K的范圍設(shè)定在{12,24,36,48,60},在此基礎(chǔ)上分析參數(shù)對算法的影響。結(jié)果如圖4所示。圖中可以看出:對于Caltech 101 dataset,當C=0.01,K=48時,測試準確率最高;對于CIFAR-10 dataset,當C=0.1,K=48時,準確率最高。
圖4 IPSO-ELM-LRF算法中C,K參數(shù)敏感性測試Fig.4 Sensitivity test of C and K parameters in IPSO-ELM-LRF algorithm
針對種群大小P和迭代次數(shù)N對算法的影響,本文首先設(shè)置IPSO-ELM-LRF的迭代次數(shù)為10,種群大小分別選擇P=5,10,15,…,40,每次實驗做20組取平均值(下同),測試IPSO-ELM-LRF的測試誤差,測試結(jié)果如圖5所示??梢妼τ?個數(shù)據(jù)集,當種群大小分別為20和30時,生成最優(yōu)解。
圖5 種群大小對測試誤差的影響曲線Fig.5 Influence curve of population size on test error
設(shè)置Caltech 101 dataset種群大小為20,CIFAR-10 dataset種群大小為30,將迭代次數(shù)逐漸增大。由圖6可見,隨著迭代次數(shù)的增加,測試誤差逐漸減小。Caltech 101迭代次數(shù)為90時,趨于平穩(wěn);CIFAR-10迭代次數(shù)為105時,趨于平穩(wěn)。
圖6 迭代次數(shù)對測試誤差的影響曲線Fig.6 Influence curve of iteration times on test error
為驗證IPSO-ELM-LRF算法在圖像分類上的性能,在上述兩個數(shù)據(jù)集上,本文將該算法與傳統(tǒng)ELM-LRF以及其他深度學習算法進行了比較。其中IPSO-ELM-LRF采用表1的參數(shù),相應的傳統(tǒng)ELM-LRF算法中的平衡參數(shù)C、特征圖個數(shù)K、核大小Ke和池化大小e也與表中參數(shù)相同。CNN和DBN的模型參數(shù)參照文獻[19-20]設(shè)定,具體參見表2。實驗在Intel 2.5 GHz CPU,64G RAM和Matlab R2015a環(huán)境下進行。實驗運行20次后取平均值進行對比,實驗結(jié)果如表3所示。
表2 CNN與DBN分類時的相關(guān)參數(shù)Table 2 Related parameters in the classification of CNN and DBN
對于Caltech 101數(shù)據(jù)集,在測試準確率方面本文提出的IPSO-ELM-LRF算法達到了92.39%,比傳統(tǒng)ELM-LRF算法高5.37%,且均高于經(jīng)典的深度學習算法CNN和DBN;在訓練時間方面,傳統(tǒng)ELM-LRF算法的訓練時間遠遠小于其它3種算法,比用時最長的DBN縮短近百倍,這也對其進行優(yōu)化提供了條件;測試時間方面,IPSO-ELM-LRF算法優(yōu)于其它3種算法,說明其在實際預測過程中有較為優(yōu)秀的性能;在測試準確率標準差方面,傳統(tǒng)ELM-LRF算法最高,達到了2.87%,通過本文改進后降為0.77%。綜上,本文提出的IPSO-ELM-LRF算法雖然訓練時間比傳統(tǒng)ELM-LRF算法上升,但其準確率和穩(wěn)定性均大大提高,且其訓練時間與DBN和CNN相比仍占據(jù)優(yōu)勢。
表3 不同算法分類結(jié)果對比Table 3 Comparison of classification results of different algorithms
對于CIFAR-10數(shù)據(jù)集,在訓練準確率方面,五種算法幾乎都達到了100%;在測試準確率方面ELM-LRF算法的準確率略高于CNN和DBN,而改進之后的IPSO-ELM-LRF算法準確率達到了87.20%,雖然與該數(shù)據(jù)集官方給出的89.62%(Maxout算法[21])有一定的差距,但也相差甚微;訓練時間方面,在相同實驗環(huán)境下ELM-LRF的訓練時間遠遠小于傳統(tǒng)深度學習方法。本文提出的IPSO-ELM-LRF算法通過迭代尋優(yōu)提高了傳統(tǒng)ELM-LRF的準確率,雖然訓練時間也相應地增大,但由于ELM-LRF較快的訓練速度,使得迭代尋優(yōu)后的IPSO-ELM-LRF算法在訓練時間上仍要優(yōu)于傳統(tǒng)深度學習算法。測試準確率方面表現(xiàn)最優(yōu)的Maxout算法訓練耗時也比本文提出的算法要長。分析Maxout的原理可知,該算法是通過Kn(人工設(shè)定)個隱層節(jié)點計算激活值,最終選取Kn個值中的最大值作為輸出。Kn的設(shè)定使得Maxout的層間參數(shù)擴大了Kn倍,從而使得訓練時間也成倍增加。測試時間方面,IPSO-ELM-LRF與傳統(tǒng)ELM-LRF時間近似,均遠遠小于其它3種深度學習算法;測試準確率標準差方面,IPSO-ELM-LRF算法同樣也較ELM-LRF算法大大降低。
因此可以說IPSO-ELM-LRF算法在準確率、穩(wěn)定性等方面均優(yōu)于傳統(tǒng)ELM-LRF;而且與CNN和DBN相比,本文的IPSO-ELM-LRF算法在分類性能、訓練時間和測試時間上也表現(xiàn)得更為優(yōu)秀。
圖7為Caltech 101數(shù)據(jù)上IPSO-ELM-LRF與傳統(tǒng)ELM-LRF之間的穩(wěn)定性比較。由圖可見,IPSO-ELM-LRF的穩(wěn)定性穩(wěn)定在1%以內(nèi),性能優(yōu)于傳統(tǒng)ELM-LRF.
圖7 IPSO-ELM-LRF與ELM-LRF的穩(wěn)定性對比Fig.7 Stability comparison between IPSO-ELM-LRF and ELM-LRF
為了更清晰地觀察分類結(jié)果,本文繪制了Caltech 101數(shù)據(jù)集10個類的混淆矩陣圖,如圖8所示??v軸表示實際標簽,橫軸表示預測標簽。圖中混淆矩陣對角線上的顏色越紅(深),對角線以外的雜點越少,代表該類的分類正確率越高。因此在圖中進一步看出IPSO-ELM-LRF比傳統(tǒng)ELM-LRF及其他深度學習算法有更為精確的分類結(jié)果。
圖8 各算法的混淆矩陣圖Fig.8 Confusion matrix graph of each algorithm
針對傳統(tǒng)ELM-LRF算法穩(wěn)定性較差的缺陷,提出一種基于粒子群優(yōu)化的ELM-LRF算法IPSO-ELM-LRF.利用粒子群優(yōu)化選擇ELM-LRF的輸入權(quán)重,不僅增強了算法的穩(wěn)定性,還充分發(fā)揮了粒子群的優(yōu)勢,大大提高了分類的準確率。此外本文還給出了IPSO-ELM-LRF參數(shù)選取的具體步驟,根據(jù)該步驟可快速找到IPSO-ELM-LRF算法針對不同數(shù)據(jù)集的最佳參數(shù)。與常規(guī)深度學習算法相比,IPSO-ELM-LRF算法的參數(shù)較少,無需復雜的人工參數(shù)選取,使用非常便捷,準確率也顯著升高。