黃 勇 郭劍輝
(南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 南京 210094)
地形識(shí)別主要是通過對(duì)圖像進(jìn)行有效的分類識(shí)別算法然后再進(jìn)行一系列的研究。這些圖像大多通過移動(dòng)機(jī)器人在野外通過傳感器進(jìn)行圖像采集而得到,移動(dòng)機(jī)器人完成任務(wù)的首要任務(wù)是能夠分辨出可以運(yùn)動(dòng)的路徑與不可運(yùn)動(dòng)的路徑。根據(jù)機(jī)器人在野外是否可通行,可將地形類別分為可通行和不可通行兩類[2],根據(jù)機(jī)器人能否正常行駛將圖像中的數(shù)據(jù)標(biāo)出為可通行范圍與不可通行的范圍。本文主要研究可通行地形識(shí)別分類算法的研究。
分類算法中支持向量機(jī)(Support Vector Machine,SVM)在小樣本數(shù)據(jù)集中具有良好的表現(xiàn),故而常被用于地形識(shí)別領(lǐng)域[2]。但SVM 屬于淺層學(xué)習(xí)算法,當(dāng)數(shù)據(jù)較為復(fù)雜,樣本數(shù)量較少的情況下對(duì)復(fù)雜函數(shù)的表示能力有限,復(fù)雜地形的數(shù)據(jù)的維度較大,其精度也會(huì)受到一定的影響。BP 算法是一種包含多層神經(jīng)網(wǎng)絡(luò)的算法,可能會(huì)有以下問題:因不合適的初始值造成局部最優(yōu)、梯度彌散、訓(xùn)練時(shí)間較長等。深度學(xué)習(xí)因具有多層神經(jīng)網(wǎng)絡(luò),可以在低維度的數(shù)據(jù)中,通過強(qiáng)大的學(xué)習(xí)調(diào)整能力,從低層數(shù)據(jù)特征抽離較高的數(shù)據(jù)特征。Hinton[3]等提出的深度信念網(wǎng)絡(luò)(Deep Belief Network,DBN)通過對(duì)數(shù)據(jù)進(jìn)行貪心無監(jiān)督的學(xué)習(xí)解決了傳統(tǒng)BP因不合適的初始值造成局部最優(yōu)和梯度彌散以及訓(xùn)練時(shí)間過長的問題。通過將受限波爾茲曼機(jī)(Restricted Boltzmann Machines,RBM)進(jìn)行有效的堆疊,而最后一層RBM 結(jié)構(gòu)隱含層輸出結(jié)果作為分類器的輸入數(shù)據(jù),這樣就構(gòu)成了一種常用的深度信念網(wǎng)絡(luò)(Deep Belief Network,DBN)。
本文研究了深度信念網(wǎng)絡(luò)(Deep Belief Network,DBN)與 支 持 向 量機(jī)(Support Vector Machine,SVM)的理論后,通過有效的結(jié)合進(jìn)行地形識(shí)別研究。提前標(biāo)注數(shù)據(jù)圖片中感興趣的部分并劃分得到兩組數(shù)據(jù)集,訓(xùn)練集作為輸入數(shù)據(jù)輸入到初始構(gòu)建的DBN 網(wǎng)絡(luò)結(jié)構(gòu)中進(jìn)行多次訓(xùn)練,將得到的模型用測試集驗(yàn)證。實(shí)驗(yàn)結(jié)果表明,本文提出的算法較SVM、GEPSVM等算法有了較大的提升。
OUTEX[4]是地形識(shí)別算法中常用的標(biāo)準(zhǔn)地形數(shù)據(jù)集。OUTEX 數(shù)據(jù)集共有20 幅圖像,考慮到實(shí)驗(yàn)對(duì)比參數(shù)的唯一性,將全部圖像調(diào)整大小為640*480,OUTEX 數(shù)據(jù)集較小故而僅采用2 折交叉驗(yàn)證的方式驗(yàn)證,選擇10副為訓(xùn)練樣本,10副為測試樣本[6]。圖片的整體數(shù)據(jù)量過于龐大,整張圖片的識(shí)別較難分類,為了進(jìn)行有效的評(píng)估,可以使用圖像識(shí)別算法中的局域二值模式,局域二值模式(LBP)[7]在紋理特征上具有較強(qiáng)的穩(wěn)定性可以較好地應(yīng)對(duì)如光照、陰影的影響,而等價(jià)模式的LBP 算法運(yùn)行復(fù)雜度并不高[8]。本文采用特征提取的方法是融合特征提取方法,將LBP與顏色直方圖進(jìn)行組合獲取特征,紋理特征提取時(shí)通過小塊來獲取,本文將圖像劃分為10*10 的小塊,最后的訓(xùn)練樣本與測試樣本的塊數(shù)為6561 塊和10094 塊。通過觀察可得OUTEX 數(shù)據(jù)集大致有4 類,分別為草地、樹、天空、路面。在OUTEX 數(shù)據(jù)集上完成地形識(shí)別中可通行識(shí)別任務(wù)。圖1顯示了三幅圖像實(shí)例。
圖1 OUTEX數(shù)據(jù)集中的三幅圖像
GEPSVM 是支持向量機(jī)的一種改進(jìn)分類算法,其中兩個(gè)數(shù)據(jù)集它們彼此不平行。通過算法生成兩個(gè)平面時(shí),使分類面盡可能地接近兩個(gè)數(shù)據(jù)集中的一個(gè),通過盡可能遠(yuǎn)離另一個(gè)數(shù)據(jù)集[5]。
樣本為n維空間上的數(shù)據(jù)集,通過GEPSVM找到兩個(gè)非平行平面:
獲得的兩個(gè)非平行平面,其受約束的條件是盡可能地接近某類樣本同時(shí)遠(yuǎn)離另一類樣本。為了得到第一個(gè)非平行平面,有如下的約束條件:
其中δ項(xiàng)為懲罰參數(shù):
則式(3)轉(zhuǎn)為
由于求解廣義Rayleigh 商問題較難,通過轉(zhuǎn)換可以轉(zhuǎn)變?yōu)榍蠼廨^容易的廣義特征值來求解得:
通過式(6)可以得到最優(yōu)解即為最小特征值和特征向量。
同樣對(duì)第二個(gè)平面有
則式(7)轉(zhuǎn)化為
從而
使用GEPSVM技術(shù),分類算法可以實(shí)現(xiàn)對(duì)地形識(shí)別的可通行處理。
GEPSVM 算法應(yīng)用于地形識(shí)別的算法流程如下:
1)樣本數(shù)據(jù)劃分為訓(xùn)練集和測試集,若樣本數(shù)量較少使用2折交叉驗(yàn)證的方式。
2)在訓(xùn)練集中的少數(shù)類樣本集中,通過計(jì)算兩點(diǎn)的歐氏距離得到最近的k 個(gè)最近鄰點(diǎn)(一般k =5)。
3)通過多次迭代對(duì)算法進(jìn)行優(yōu)化,最終得到最優(yōu)懲罰參數(shù)C。
4)將懲罰參數(shù)C 用于GEPSVM 算法中學(xué)習(xí)得到兩個(gè)非平行平面。
5)最后通過測試集進(jìn)行分類器算法的驗(yàn)證。
引入拉格朗日乘子后得:
將式(13)代入(12),即可將L(w,b,α)中的w和b消去,再考慮式(14)中的約束,就得到式(10)的對(duì)偶問題
深層信念網(wǎng)絡(luò)(Deep Belief Network,DBN)[3]是由多層受限波爾茲曼機(jī)(RBM)進(jìn)行有效的組合,以及最后一層的分類器構(gòu)成,最后一層的RBM 作為分類器的輸入數(shù)據(jù),經(jīng)過了DBN 的網(wǎng)絡(luò)結(jié)構(gòu)可以提取到底層數(shù)據(jù)更高級(jí)的特征表達(dá),進(jìn)而得到的分類器分類效果更佳。DBN是為了解決傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)的缺陷而提出的網(wǎng)絡(luò)結(jié)構(gòu),這種結(jié)構(gòu)可以組合成多種結(jié)構(gòu),是一種極其強(qiáng)大的深度學(xué)習(xí)思想應(yīng)用,故而被廣泛應(yīng)用,而地形識(shí)別的分類算法分類器也會(huì)因?yàn)檩^差的數(shù)據(jù)集導(dǎo)致分類效果不佳,所以可以將其應(yīng)用在地形識(shí)別領(lǐng)域。DBN 的主要訓(xùn)練流程有無監(jiān)督的預(yù)訓(xùn)練(pre-training)過程以及有監(jiān)督的微調(diào)(fine-tuning)過程。初始權(quán)值后通過預(yù)訓(xùn)練調(diào)整每層網(wǎng)絡(luò)結(jié)構(gòu)的權(quán)值,上一層RBM 輸出的數(shù)據(jù)作為下一層輸入數(shù)據(jù),在預(yù)訓(xùn)練結(jié)束后,對(duì)最后一層的BP網(wǎng)絡(luò)進(jìn)行有監(jiān)督的訓(xùn)練。通過設(shè)置好的誤差范圍對(duì)整個(gè)DBN進(jìn)行微調(diào)。
玻爾茲曼機(jī)(Boltzmann Machine,BM)是由一層可視層與一層隱含層組合而成,是一個(gè)全連接的網(wǎng)絡(luò)結(jié)構(gòu),通過限制僅在層間連接形成受限玻爾茲曼機(jī)(Restricted Boltzmann Machine,RBM)[14],RBM是一個(gè)兩層的有向無環(huán)圖,節(jié)點(diǎn)取值為0 或1 可以作為構(gòu)建深層結(jié)構(gòu)的基本單元[11]。由于BM 層內(nèi)連接層外全連接,使得其計(jì)算量倍增,而RBM 相較BM計(jì)算量大大減小。RBM的結(jié)構(gòu)如圖2。
圖2 RBM的結(jié)構(gòu)
可視層和隱含層組成的系統(tǒng)的能量公式如下:
可視層(變量為v,偏置量為a)、隱層(變量為h,偏置量為b),通過多次迭代可以求得最終的激活條件為
其中σ是sigmoid函數(shù)。σ(z)=1/(1+e-z)。
RBM參數(shù)更新公式如下(其中ε為學(xué)習(xí)率,l層表示為重構(gòu)層的數(shù)據(jù))[9]:
DBN-SVM分類算法流程如下:
1)設(shè)置初始化訓(xùn)練RBM 迭代次數(shù)gn,權(quán)值學(xué)習(xí)率,可視節(jié)點(diǎn)學(xué)習(xí)率,隱含結(jié)點(diǎn)學(xué)習(xí)率,權(quán)重衰減系數(shù)等。
2)進(jìn)行歸一化處理,得到數(shù)據(jù)V[NI][NF],其中NI,NF 分別為輸入個(gè)數(shù)和特征個(gè)數(shù),轉(zhuǎn)換成DBN能夠處理的格式[10]。
3)對(duì)訓(xùn)練樣本構(gòu)造,分塊,批量。
4)初始化3層RBM,n=3 同時(shí)設(shè)置RBM各隱含層的節(jié)點(diǎn)數(shù),使用CD-K 算法訓(xùn)練RBM,第一次的RBM的可視層不是二值的,而隱含層是二值的。
5)初始化DBN網(wǎng)絡(luò)的權(quán)值W=[W1,W2,W3] 。
6)將通過RBM 結(jié)構(gòu)隱含層后的輸出數(shù)據(jù)作為下一個(gè)RBM的輸入數(shù)據(jù),下同。
7)將訓(xùn)練好的RBM 的權(quán)重和偏執(zhí)堆棧成DBN。
8)調(diào)用DBN 訓(xùn)練算法,DBN 是無監(jiān)督的算法用于提取特征,若需要得到較好魯棒性的網(wǎng)絡(luò)結(jié)構(gòu)需要加上有監(jiān)督的回調(diào)優(yōu)化權(quán)值。
9)通過有監(jiān)督的fine-tune 優(yōu)化權(quán)值W,DBN最后的分類器選擇SVM。
10)將測試數(shù)據(jù)集中的樣本通過調(diào)整后的網(wǎng)絡(luò)結(jié)構(gòu),并將DBN輸出的結(jié)果通過SVM進(jìn)行分類。
在分類算法如果僅使用整體分類算法的精確度作為評(píng)價(jià)指標(biāo)[12],若數(shù)據(jù)集包含兩類,一類占比99%,另一類占比1%,即使1%全部分類錯(cuò)誤,整體仍然有極高的精確度,導(dǎo)致最終的分類器性能較差??梢钥紤]使用Recall、Accuracy、F-measure、G-mean 等指標(biāo),這些分類評(píng)價(jià)考慮了少數(shù)類的樣本分類性能,其中Recall用于評(píng)價(jià)少數(shù)樣本的正確率,G-mean可以對(duì)整體的數(shù)據(jù)分類性能進(jìn)行評(píng)價(jià),本文將采用Accuracy、Recall、G-mean 作為主要評(píng)價(jià)分類評(píng)價(jià)指標(biāo)[13]。通過對(duì)OUTEX 數(shù)據(jù)集進(jìn)行觀察發(fā)現(xiàn),假設(shè)可通行類為少數(shù)類是正樣本。則草和路為正樣本,樹和天空為負(fù)樣本。T 表示分類正確,F(xiàn) 表示分類錯(cuò)誤,P 表示為正類,N 表示為負(fù)類。TP、TN、FN、FP 分別代表正確分類的正類數(shù)量,正確分類的負(fù)類數(shù)量,錯(cuò)誤分類的負(fù)類數(shù)量和錯(cuò)誤分類的正類數(shù)量。如表1 所示。
表1 分類算法混淆矩陣
評(píng)價(jià)指標(biāo)中較為常見的即為準(zhǔn)確率,準(zhǔn)確率是指通過分類器預(yù)測的樣本示例正確分類的樣本占總體樣本的百分比,可由下式計(jì)算:
查準(zhǔn)率Precision 的高低表示對(duì)于數(shù)據(jù)分類器分類效果的好壞。
召回率Recall是指分類正確的正類樣本TP占全部正類樣本TP+FN的百分比。
Kubat 等提出幾何平均準(zhǔn)則(geometric means metric,G-mean)用于不平衡數(shù)據(jù)分類算法評(píng)價(jià)指標(biāo)[15]。G-mean 是指真陽性(TP)樣本在正確分類樣本TP+FN的比率與真陰性(TN)在分類錯(cuò)誤樣本TN+FP比率的乘積平方,G-mean 可以評(píng)價(jià)分類器性能以及各類別的準(zhǔn)確率[13]。
實(shí)驗(yàn)使用Matlab R2017a 進(jìn)行仿真。實(shí)驗(yàn)設(shè)備如 下:16GB 內(nèi) 存,處 理 器Intel(R)Core(TM)i5-9400F CPU @2.90GHz 2.90GHz,顯卡為NVIDIA GeForce GTX1660(6GB)。SVM 分 類 器 使 用 了LIBSVM 工具箱。DBN訓(xùn)練方法使用了DeepLearn-Toolbox 工具箱。由于地形識(shí)別領(lǐng)域暫時(shí)沒有通用的標(biāo)準(zhǔn)數(shù)據(jù)集,研究后多個(gè)地形數(shù)據(jù)集后,采用OUTEX 數(shù)據(jù)集對(duì)提出的算法進(jìn)行實(shí)驗(yàn)驗(yàn)證。通過對(duì)比SVM、GEPSVM 以及DBN+SVM 等的算法。如圖3,4,5為實(shí)驗(yàn)原圖以及對(duì)比實(shí)驗(yàn)結(jié)果圖。
圖3 實(shí)驗(yàn)原圖
圖4 GEPSVM算法處理結(jié)果
圖5 DBN-SVM算法處理結(jié)果
由前文的SVM 實(shí)驗(yàn)可視化的結(jié)果圖可以發(fā)現(xiàn),DBN-SVM分類的清晰度明顯上升,層次化樹木都較為清晰。第一幅圖中天空、地面樹木、草地都是分布較為均衡,所以分類效果較好。同時(shí)可以發(fā)現(xiàn)陰影的一些不同,一些因?yàn)殛柟鈱?dǎo)致路面上的陰影也沒能造成較大影響。第二幅圖片中樹木可以清晰分辨,同時(shí)天空因?yàn)榻患^少所以分類很好而草地與陰影由于光照的影響,導(dǎo)致分類的結(jié)果有些偏差。第三幅圖片中樹的樣本比例最大,而天空較少,在光照陰影情況下造成了樹木之間有些差異,對(duì)算法的結(jié)果造成了一些影響。由于OUTEX 數(shù)據(jù)集樹木與草地,路面與草地之間交叉較多,同時(shí)光照和陰影使草地分類出現(xiàn)了一些偏差。樹枝與陰影的重疊,對(duì)于分類的結(jié)果也是有些影響的,通過與SVM 可視化效果圖對(duì)比,明顯發(fā)現(xiàn)通過DBN 與SVM 結(jié)合后形成的網(wǎng)絡(luò)結(jié)果對(duì)于可視化結(jié)果有極大的提高,但DBN 在特征相似的特征間學(xué)習(xí)能力還有一些欠缺,可能是參數(shù)學(xué)習(xí)的并不足夠,更有可能是樣本數(shù)量較少,訓(xùn)練得到的模型不夠完善,缺少了一些魯棒性。
表2~表4 為OUTEX 數(shù)據(jù)集下算法的Accuracy、Recall、G-mean,我們將其與SVM、GEPSVM 進(jìn)行對(duì)比。通過比較發(fā)現(xiàn),在精確度,召回率以及幾何平均值上,DBN-SVM 在訓(xùn)練集上的明顯較高。但是在測試集上,發(fā)現(xiàn)訓(xùn)練的結(jié)果不如訓(xùn)練集效果好??赡苁且?yàn)橛?xùn)練樣本較少,導(dǎo)致模型過擬合現(xiàn)象,不能適應(yīng)新的測試樣本數(shù)據(jù)集。
表2 OUTEX數(shù)據(jù)集下算法的Accuracy值
表3 OUTEX數(shù)據(jù)集下算法的Recall值
表4 OUTEX數(shù)據(jù)集下算法的G-mean值
針對(duì)地形識(shí)別領(lǐng)域,從分類算法的精度問題角度出發(fā),由于傳統(tǒng)的分類算法如SVM、GEPSVM 等淺層學(xué)習(xí)算法在復(fù)雜地形環(huán)境中的函數(shù)表征能力不足,而深度學(xué)習(xí)領(lǐng)域中對(duì)于復(fù)雜函數(shù)的表達(dá)能力較強(qiáng),同時(shí)深度學(xué)習(xí)領(lǐng)域中的深度信念網(wǎng)絡(luò)具有多層RBM 可以從復(fù)雜的底層特征數(shù)據(jù)中進(jìn)一步提取出較為高級(jí)的特征等。通過研究了深度信念網(wǎng)絡(luò)(DBN)與支持向量機(jī)(SVM),并將其進(jìn)行結(jié)合后使用OUTEX 地形數(shù)據(jù)集對(duì)我們提出的算法進(jìn)行了檢驗(yàn),實(shí)驗(yàn)結(jié)果表明結(jié)合DBN-SVM 算法較其他分類算法有較好的性能。在訓(xùn)練集上較其他分類算法的Accuracy 和Recall 以及G-mean 等評(píng)價(jià)指標(biāo)有了明顯的進(jìn)步,但是在測試集的表現(xiàn)并不理想。有一些過擬合現(xiàn)象出現(xiàn)。深度學(xué)習(xí)往往建立在大數(shù)據(jù)、大樣本集的前提下進(jìn)行研究的,而OUTEX 數(shù)據(jù)集較小可能造成模型過于契合訓(xùn)練集,也有可能是參數(shù)訓(xùn)練較差如迭代次數(shù)不足或迭代次數(shù)過多等等導(dǎo)致的問題,但是總體而言相對(duì)于淺層學(xué)習(xí)算法而言,DBN-SVM分類雖然效果不是特別的優(yōu)秀,但是在地形識(shí)別領(lǐng)域中的研究提供新的研究方向。