崔明光, 張秀梅, 韓維娜
(長(zhǎng)春工業(yè)大學(xué) 電氣與電子工程學(xué)院, 吉林 長(zhǎng)春 130012)
隨著木材加工業(yè)的深入發(fā)展,木材的質(zhì)量決定了其商品的使用價(jià)值[1]。近年來(lái),很多針對(duì)木材缺陷的識(shí)別方法被提出,如基于分型理論、超聲波頻譜分析技術(shù)[2]等。然而,這些方法不僅需要較高的實(shí)驗(yàn)器材,對(duì)實(shí)驗(yàn)所處的環(huán)境要求也很?chē)?yán)格。文獻(xiàn)[3]使用無(wú)監(jiān)督聚類(lèi)方法來(lái)檢測(cè)和識(shí)別木材缺陷,但檢測(cè)結(jié)果易受到噪聲的影響。文獻(xiàn)[4]采用Neural Network對(duì)樹(shù)干表面和內(nèi)部缺陷進(jìn)行辨別,模型雖然具有良好的學(xué)習(xí)能力,但它在數(shù)據(jù)表示方面還有所欠缺。
針對(duì)木材缺陷的檢測(cè)與分割問(wèn)題,提出一種基于深度學(xué)習(xí)的木材缺陷檢測(cè)算法。深度學(xué)習(xí)本質(zhì)上是一種特殊的神經(jīng)網(wǎng)絡(luò)[5],主要包括受限玻爾茲曼機(jī)、深度信念網(wǎng)絡(luò)、自動(dòng)編碼器、遞歸神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)[6]。其中,卷積神經(jīng)網(wǎng)絡(luò)提供一種端到端的學(xué)習(xí)模型,在訓(xùn)練時(shí),采用梯度下降法對(duì)模型參數(shù)進(jìn)行優(yōu)化,實(shí)現(xiàn)對(duì)圖像特征學(xué)習(xí)和分類(lèi)[7]。隨著深度學(xué)習(xí)算法的不斷發(fā)展,它在視覺(jué)領(lǐng)域有著突出的性能,使得傳統(tǒng)方法無(wú)法解決的問(wèn)題得以解決。近年來(lái),許多學(xué)者致力于深入學(xué)習(xí)的目標(biāo)檢測(cè)[8]。2012年,Krizhevsjy等[9]提出Alex-Net結(jié)構(gòu),并在圖像網(wǎng)絡(luò)圖像分類(lèi)大賽中獲得冠軍。文中采用卷積神經(jīng)網(wǎng)絡(luò)對(duì)木材缺陷進(jìn)行識(shí)別。實(shí)驗(yàn)表明,卷積神經(jīng)網(wǎng)絡(luò)具有較高的識(shí)別精度、較低的復(fù)雜度和魯棒性。He等[10]提出的深度殘差網(wǎng)絡(luò),在前饋卷積網(wǎng)絡(luò)上增加了一些跨層的連接,該結(jié)構(gòu)不僅在層數(shù)上刷新了記錄,而且在圖像網(wǎng)絡(luò)中取得了很好的效果,Sun等[11]提出的DeepId網(wǎng)絡(luò)中也有設(shè)計(jì)將最后的池化層和卷積層與全連接層相連。
卷積神經(jīng)網(wǎng)絡(luò)最初是由多倫多大學(xué)的Yann Lecun[12]教授提出的,因?yàn)槠渚哂芯植扛兄?、?quán)值共享和降采樣[13]三大特性,局部感知可以大大增強(qiáng)提取局部特征的能力,減少網(wǎng)絡(luò)的參數(shù);權(quán)值共享可以大大減少網(wǎng)絡(luò)的參數(shù),降低網(wǎng)絡(luò)的復(fù)雜程度;降采樣功能是對(duì)提取的特征進(jìn)行采樣,消除圖像信息提取帶來(lái)的冗余度;正是因?yàn)镃NN的這些特性,使其在人臉識(shí)別[14]、交通標(biāo)志識(shí)別[15]、手寫(xiě)字體識(shí)別[16]、目標(biāo)識(shí)別[17]等方面有著良好的應(yīng)用[18]。
常見(jiàn)的CNN基本結(jié)構(gòu)有三層:輸入層、隱含層和輸出層。輸入層主要是將原始圖片進(jìn)行預(yù)處理,統(tǒng)一其尺寸大小再進(jìn)行輸入;隱含層包括卷積層、池化層和全連接層,卷積層主要從圖像中提取特征,池化層的設(shè)計(jì)是為了減小圖像的大小并加快計(jì)算速度,全連接層是一種常見(jiàn)的隱含層,它通過(guò)全連接將網(wǎng)絡(luò)信息傳遞給分類(lèi)器;最后,輸出層輸出結(jié)果。
在卷積神經(jīng)網(wǎng)絡(luò)中,存在著四種操作,分別為內(nèi)卷積、外卷積、下采樣和上采樣。
(1)
式中,1≤i≤M-m+1,1≤j≤N-n+1。
它們的外卷積定義為
(2)
(3)
(4)
式中,(i-1)×λ+1≤s≤i×λ,(j-1)×τ+1≤t≤j×τ。
(5)
用大小為λ×τ的對(duì)矩陣A的下采樣定義為
(6)
對(duì)矩陣A進(jìn)行倍數(shù)為λ×τ的不重疊上采樣定義為
upλ×τ(A)=A?lλ×τ,
(7)
式中:lλ×τ----全為1的矩陣;
?----克羅內(nèi)克積。
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)不能有效地融合低層次特征和高層次特征來(lái)構(gòu)造更好的分類(lèi)器,為了解決這一問(wèn)題,引入跨層連接的思想,提出了一種跨層卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)模型包含一個(gè)輸入層、兩個(gè)卷積層、兩個(gè)池化層、一個(gè)全連接層和一個(gè)輸出層,結(jié)構(gòu)如圖1所示。
網(wǎng)絡(luò)的輸入為一張圖片,然后使用兩個(gè)互相交錯(cuò)的卷積層和池化層對(duì)圖片進(jìn)行特征提取,從兩個(gè)池層中提取的特征直接傳輸?shù)饺B接層進(jìn)行融合處理和分類(lèi),此時(shí),全連接層的節(jié)點(diǎn)數(shù)是兩個(gè)池化層節(jié)點(diǎn)數(shù)之和。在訓(xùn)練人工神經(jīng)網(wǎng)絡(luò)時(shí),如果其網(wǎng)絡(luò)結(jié)構(gòu)比較復(fù)雜,而用于訓(xùn)練的樣本數(shù)量較小,訓(xùn)練出來(lái)的模型可以很好地?cái)M合訓(xùn)練樣本,但采用測(cè)試樣本對(duì)其進(jìn)行測(cè)試時(shí),網(wǎng)絡(luò)可能不會(huì)很好地?cái)M合,即出現(xiàn)過(guò)擬合的情況。在這種情況下,Dropout技術(shù)可以用來(lái)減少過(guò)度擬合的可能性,提高模型的適應(yīng)性。簡(jiǎn)單地說(shuō),在每次訓(xùn)練的時(shí)候,讓一半的神經(jīng)元工作,這樣可以提高網(wǎng)絡(luò)的泛化能力。
圖1 改進(jìn)的網(wǎng)絡(luò)模型
在訓(xùn)練階段加入Dropou技術(shù)后,由伯努利隨機(jī)分布函數(shù)確定上下層之間的聯(lián)系。每個(gè)連接的網(wǎng)絡(luò)節(jié)點(diǎn)不同,使得網(wǎng)絡(luò)稀疏連接多樣化。經(jīng)驗(yàn)證,隱藏節(jié)點(diǎn)的概率等于0.5,原因是當(dāng)取值0.5的時(shí)候,Dropout隨機(jī)生成的網(wǎng)絡(luò)結(jié)構(gòu)最多。文中采用Dropout技術(shù),通過(guò)隨機(jī)連接整個(gè)連接層中的神經(jīng)節(jié)點(diǎn)來(lái)合成不同的結(jié)構(gòu)網(wǎng)絡(luò),在一定程度上對(duì)過(guò)擬合有著一定的影響。
對(duì)于第l個(gè)樣本xl,跨連卷積神經(jīng)網(wǎng)絡(luò)的計(jì)算過(guò)程為:
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
式中:σ(·)----激活函數(shù),g(x)=x;
downλ×τ(·)----下采樣函數(shù);
W1,j,b1,j----分別為第一個(gè)隱含層的第j個(gè)卷積核和偏置;
W3,j,b3,j----分別為第三個(gè)隱含層的第j個(gè)卷積核和偏置;
W6,b6----分別表示輸出層的權(quán)值和偏置;
系統(tǒng)的輸入為
期望的輸出為
實(shí)際的輸出為
則優(yōu)化的目標(biāo)函數(shù)為樣本的均方誤差,即
(16)
為了計(jì)算反向傳播,應(yīng)首先計(jì)算各層的反饋誤差δ,針對(duì)全連接層,因?yàn)槠洳捎昧薉ropout技術(shù),全連接層節(jié)點(diǎn)的輸出值以50%的概率被隨機(jī)清0,既然前向傳播時(shí)有些隱含節(jié)點(diǎn)值被清0了,那么在誤差方向傳播時(shí)也應(yīng)該有相應(yīng)的處理,同時(shí)還需要注意在第一個(gè)池化層的反饋誤差,因?yàn)槠洳粌H與下一層的卷積層相連,還與全連接層相連,因此,該層的反饋誤差為兩部分之和。
(17)
(18)
δ5=(δ21,1,δ21,2,…,δ21,6,δ4,1,δ4,2,…,δ4,12),
(19)
(20)
(21)
δ2=(δ21,j+δ22,j),1≤j≤6,
(22)
(23)
式中: °----矩陣表對(duì)應(yīng)元素相乘;
upλ×τ(·)----上采樣操作。
在獲得每一層傳遞誤差后,對(duì)網(wǎng)絡(luò)的各層參數(shù)求其偏導(dǎo)數(shù),如下:
(24)
(25)
(26)
最后,利用梯度下降法更新權(quán)值與偏導(dǎo)。
對(duì)于訓(xùn)練集S={(xl,yl),1≤l≤N},算法如下:
1)隨機(jī)初始化所有的權(quán)值和偏置;
2)for epoch=1 to maxepoch do;
3)for l=1 to N do;
4)通過(guò)設(shè)計(jì)的網(wǎng)絡(luò)計(jì)算每個(gè)樣本的實(shí)際輸出;
5)計(jì)算網(wǎng)絡(luò)每一層的反饋傳遞誤差;
6)計(jì)算網(wǎng)絡(luò)中權(quán)值與偏置的導(dǎo)數(shù);
7)使用梯度下降法更新網(wǎng)絡(luò)的權(quán)值與偏置;
8)End for;
9)End for。
采用的木材缺陷來(lái)自文獻(xiàn)[19],選取其中幾種常見(jiàn)的木材缺陷,如圖2所示。
(a) dry_knot
(b) edge_knot
(c) leaf_knot
(d) sound_knot圖2 木材缺陷圖片
將樣本集中的圖片進(jìn)行處理,使其尺寸達(dá)到一致,并采用相同的訓(xùn)練集和測(cè)試集,分別對(duì)傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)沒(méi)加入Dropout技術(shù)的跨層連接和加入Dropout技術(shù)的跨層連接進(jìn)行實(shí)驗(yàn),通過(guò)選擇相同的學(xué)習(xí)速率和訓(xùn)練次數(shù),得到相應(yīng)的網(wǎng)絡(luò)訓(xùn)練誤差曲線(xiàn)和誤差識(shí)別率。誤差曲線(xiàn)分別如圖3~圖5所示。
圖3 傳統(tǒng)CNN的訓(xùn)練誤差圖
圖4 沒(méi)加入Dropout技術(shù)的訓(xùn)練誤差圖
圖5 加入Dropout技術(shù)的訓(xùn)練誤差圖
由圖3和圖4可以看出,網(wǎng)絡(luò)在訓(xùn)練集中進(jìn)行訓(xùn)練與傳統(tǒng)的CNN相比,采用跨層連接可以將網(wǎng)絡(luò)的高層次特征和低層次特征相結(jié)合,在網(wǎng)絡(luò)訓(xùn)練中,為網(wǎng)絡(luò)更快收斂提供了更多的特征值,在相同的訓(xùn)練時(shí)間內(nèi),將跨層連接方法與傳統(tǒng)方法進(jìn)行了比較,它可以減小網(wǎng)絡(luò)的訓(xùn)練誤差,使誤差穩(wěn)定得更快。
由圖4和圖5可以看出,當(dāng)網(wǎng)絡(luò)達(dá)到穩(wěn)定或者最大迭代次數(shù)時(shí),加入Dropout后網(wǎng)絡(luò)在訓(xùn)練誤差精度上比沒(méi)有加入Dropout的要壞一些,其原因是網(wǎng)絡(luò)結(jié)構(gòu)采用Dropout技術(shù),可以增強(qiáng)網(wǎng)絡(luò)的泛化能力,使網(wǎng)絡(luò)結(jié)構(gòu)不會(huì)出現(xiàn)過(guò)擬合現(xiàn)象,所以網(wǎng)絡(luò)的訓(xùn)練誤差要比沒(méi)有加入Dropout精度低一些。交叉驗(yàn)證后,當(dāng)丟棄概率值為0.5時(shí),Dropout是最佳選擇,因?yàn)楫?dāng)概率值為0.5時(shí),隨機(jī)生成的網(wǎng)絡(luò)結(jié)構(gòu)最多。
跨層思想能有效地提高網(wǎng)絡(luò)的識(shí)別精度,減少網(wǎng)絡(luò)的訓(xùn)練誤差,算法比較見(jiàn)表1。
表1 算法比較
由表1可以看出,加入Dropout技術(shù)后,網(wǎng)絡(luò)的訓(xùn)練誤差雖然要比沒(méi)有加入Dropout技術(shù)的低一些,但其識(shí)別率有所提高,這證明了加入Dropout技術(shù)是對(duì)網(wǎng)絡(luò)的一種正則化,防止網(wǎng)絡(luò)出現(xiàn)過(guò)擬合現(xiàn)象。
對(duì)訓(xùn)練后的網(wǎng)絡(luò)進(jìn)行測(cè)試,測(cè)試結(jié)果分別如圖6~圖8所示。
圖6 傳統(tǒng)CNN的測(cè)試結(jié)果
圖7 未加入Dropout的測(cè)試結(jié)果
圖8 加入Dropout的測(cè)試結(jié)果
圖6中,圓形是樣品的實(shí)際值,三角形是預(yù)測(cè)值和實(shí)際值之間的差異,由圖6和圖7對(duì)比可以看出,采用跨層連接的測(cè)試結(jié)果比傳統(tǒng)CNN的要好,采用跨層連接其識(shí)別的錯(cuò)誤率僅為16.64%,而CNN的識(shí)別錯(cuò)誤率為19.11%。這可能是因?yàn)槲闹锌梢灾苯邮褂脙蓚€(gè)池化層提取到的特征去分類(lèi),而CNN直接使用一個(gè)池化層提取到的特征去分類(lèi),采用跨層連接的方法可以融合不同尺度的信息時(shí)能夠更加準(zhǔn)確地反映圖像信息,從而獲得更好的分類(lèi)性能。
由圖7和圖8可以看出,在加入了Dropout技術(shù)后,網(wǎng)絡(luò)的錯(cuò)誤識(shí)別率有所降低,為15.17%。一般情況下,對(duì)于同一組訓(xùn)練數(shù)據(jù),利用不同的神經(jīng)網(wǎng)絡(luò)訓(xùn)練之后,求其輸出的平均值可以減少過(guò)擬合。Dropout就是利用這個(gè)原理,每次丟掉一半的一隱藏層神經(jīng)元,相當(dāng)于在不同的神經(jīng)網(wǎng)絡(luò)上進(jìn)行訓(xùn)練,減少了神經(jīng)元之間的依賴(lài)性,所以,Dropout不僅減少過(guò)擬合,還能提高準(zhǔn)確率。
在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上提出了一個(gè)跨連卷積網(wǎng)絡(luò)模型,該模型能夠通過(guò)跨層連接融合兩個(gè)隱含層的圖像特征,從而更加準(zhǔn)確地反映圖像信息,并針對(duì)網(wǎng)絡(luò)的過(guò)擬合現(xiàn)象,采用Dropout技術(shù)防止模型產(chǎn)生過(guò)擬合。實(shí)驗(yàn)結(jié)果表明,針對(duì)木材缺陷的圖像識(shí)別,采用文中方法比傳統(tǒng)方法要好,因?yàn)槲闹蟹椒▽⒕W(wǎng)絡(luò)的高層次特征和低層次特征相結(jié)合,并且可以有效地防止網(wǎng)絡(luò)因?yàn)橛?xùn)練過(guò)度而產(chǎn)生的過(guò)擬合現(xiàn)象。