崔明光, 張秀梅, 韓維娜
(長春工業大學 電氣與電子工程學院, 吉林 長春 130012)
隨著木材加工業的深入發展,木材的質量決定了其商品的使用價值[1]。近年來,很多針對木材缺陷的識別方法被提出,如基于分型理論、超聲波頻譜分析技術[2]等。然而,這些方法不僅需要較高的實驗器材,對實驗所處的環境要求也很嚴格。文獻[3]使用無監督聚類方法來檢測和識別木材缺陷,但檢測結果易受到噪聲的影響。文獻[4]采用Neural Network對樹干表面和內部缺陷進行辨別,模型雖然具有良好的學習能力,但它在數據表示方面還有所欠缺。
針對木材缺陷的檢測與分割問題,提出一種基于深度學習的木材缺陷檢測算法。深度學習本質上是一種特殊的神經網絡[5],主要包括受限玻爾茲曼機、深度信念網絡、自動編碼器、遞歸神經網絡、卷積神經網絡[6]。其中,卷積神經網絡提供一種端到端的學習模型,在訓練時,采用梯度下降法對模型參數進行優化,實現對圖像特征學習和分類[7]。隨著深度學習算法的不斷發展,它在視覺領域有著突出的性能,使得傳統方法無法解決的問題得以解決。近年來,許多學者致力于深入學習的目標檢測[8]。2012年,Krizhevsjy等[9]提出Alex-Net結構,并在圖像網絡圖像分類大賽中獲得冠軍。文中采用卷積神經網絡對木材缺陷進行識別。實驗表明,卷積神經網絡具有較高的識別精度、較低的復雜度和魯棒性。He等[10]提出的深度殘差網絡,在前饋卷積網絡上增加了一些跨層的連接,該結構不僅在層數上刷新了記錄,而且在圖像網絡中取得了很好的效果,Sun等[11]提出的DeepId網絡中也有設計將最后的池化層和卷積層與全連接層相連。
卷積神經網絡最初是由多倫多大學的Yann Lecun[12]教授提出的,因為其具有局部感知、權值共享和降采樣[13]三大特性,局部感知可以大大增強提取局部特征的能力,減少網絡的參數;權值共享可以大大減少網絡的參數,降低網絡的復雜程度;降采樣功能是對提取的特征進行采樣,消除圖像信息提取帶來的冗余度;正是因為CNN的這些特性,使其在人臉識別[14]、交通標志識別[15]、手寫字體識別[16]、目標識別[17]等方面有著良好的應用[18]。
常見的CNN基本結構有三層:輸入層、隱含層和輸出層。輸入層主要是將原始圖片進行預處理,統一其尺寸大小再進行輸入;隱含層包括卷積層、池化層和全連接層,卷積層主要從圖像中提取特征,池化層的設計是為了減小圖像的大小并加快計算速度,全連接層是一種常見的隱含層,它通過全連接將網絡信息傳遞給分類器;最后,輸出層輸出結果。
在卷積神經網絡中,存在著四種操作,分別為內卷積、外卷積、下采樣和上采樣。


(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)
用大小為λ×τ的對矩陣A的下采樣定義為

(6)
對矩陣A進行倍數為λ×τ的不重疊上采樣定義為
upλ×τ(A)=A?lλ×τ,
(7)
式中:lλ×τ----全為1的矩陣;
?----克羅內克積。
傳統的卷積神經網絡不能有效地融合低層次特征和高層次特征來構造更好的分類器,為了解決這一問題,引入跨層連接的思想,提出了一種跨層卷積神經網絡,該網絡模型包含一個輸入層、兩個卷積層、兩個池化層、一個全連接層和一個輸出層,結構如圖1所示。
網絡的輸入為一張圖片,然后使用兩個互相交錯的卷積層和池化層對圖片進行特征提取,從兩個池層中提取的特征直接傳輸到全連接層進行融合處理和分類,此時,全連接層的節點數是兩個池化層節點數之和。在訓練人工神經網絡時,如果其網絡結構比較復雜,而用于訓練的樣本數量較小,訓練出來的模型可以很好地擬合訓練樣本,但采用測試樣本對其進行測試時,網絡可能不會很好地擬合,即出現過擬合的情況。在這種情況下,Dropout技術可以用來減少過度擬合的可能性,提高模型的適應性。簡單地說,在每次訓練的時候,讓一半的神經元工作,這樣可以提高網絡的泛化能力。

圖1 改進的網絡模型
在訓練階段加入Dropou技術后,由伯努利隨機分布函數確定上下層之間的聯系。每個連接的網絡節點不同,使得網絡稀疏連接多樣化。經驗證,隱藏節點的概率等于0.5,原因是當取值0.5的時候,Dropout隨機生成的網絡結構最多。文中采用Dropout技術,通過隨機連接整個連接層中的神經節點來合成不同的結構網絡,在一定程度上對過擬合有著一定的影響。
對于第l個樣本xl,跨連卷積神經網絡的計算過程為:

(8)

(9)

(10)

(11)

(12)

(13)

(14)

(15)
式中:σ(·)----激活函數,g(x)=x;
downλ×τ(·)----下采樣函數;
W1,j,b1,j----分別為第一個隱含層的第j個卷積核和偏置;
W3,j,b3,j----分別為第三個隱含層的第j個卷積核和偏置;

W6,b6----分別表示輸出層的權值和偏置;

系統的輸入為
期望的輸出為
實際的輸出為
則優化的目標函數為樣本的均方誤差,即

(16)
為了計算反向傳播,應首先計算各層的反饋誤差δ,針對全連接層,因為其采用了Dropout技術,全連接層節點的輸出值以50%的概率被隨機清0,既然前向傳播時有些隱含節點值被清0了,那么在誤差方向傳播時也應該有相應的處理,同時還需要注意在第一個池化層的反饋誤差,因為其不僅與下一層的卷積層相連,還與全連接層相連,因此,該層的反饋誤差為兩部分之和。

(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)
式中: °----矩陣表對應元素相乘;
upλ×τ(·)----上采樣操作。
在獲得每一層傳遞誤差后,對網絡的各層參數求其偏導數,如下:

(24)

(25)

(26)
最后,利用梯度下降法更新權值與偏導。
對于訓練集S={(xl,yl),1≤l≤N},算法如下:
1)隨機初始化所有的權值和偏置;
2)for epoch=1 to maxepoch do;
3)for l=1 to N do;
4)通過設計的網絡計算每個樣本的實際輸出;
5)計算網絡每一層的反饋傳遞誤差;
6)計算網絡中權值與偏置的導數;
7)使用梯度下降法更新網絡的權值與偏置;
8)End for;
9)End for。
采用的木材缺陷來自文獻[19],選取其中幾種常見的木材缺陷,如圖2所示。

(a) dry_knot

(b) edge_knot

(c) leaf_knot

(d) sound_knot圖2 木材缺陷圖片
將樣本集中的圖片進行處理,使其尺寸達到一致,并采用相同的訓練集和測試集,分別對傳統的卷積神經網絡沒加入Dropout技術的跨層連接和加入Dropout技術的跨層連接進行實驗,通過選擇相同的學習速率和訓練次數,得到相應的網絡訓練誤差曲線和誤差識別率。誤差曲線分別如圖3~圖5所示。

圖3 傳統CNN的訓練誤差圖

圖4 沒加入Dropout技術的訓練誤差圖

圖5 加入Dropout技術的訓練誤差圖
由圖3和圖4可以看出,網絡在訓練集中進行訓練與傳統的CNN相比,采用跨層連接可以將網絡的高層次特征和低層次特征相結合,在網絡訓練中,為網絡更快收斂提供了更多的特征值,在相同的訓練時間內,將跨層連接方法與傳統方法進行了比較,它可以減小網絡的訓練誤差,使誤差穩定得更快。
由圖4和圖5可以看出,當網絡達到穩定或者最大迭代次數時,加入Dropout后網絡在訓練誤差精度上比沒有加入Dropout的要壞一些,其原因是網絡結構采用Dropout技術,可以增強網絡的泛化能力,使網絡結構不會出現過擬合現象,所以網絡的訓練誤差要比沒有加入Dropout精度低一些。交叉驗證后,當丟棄概率值為0.5時,Dropout是最佳選擇,因為當概率值為0.5時,隨機生成的網絡結構最多。
跨層思想能有效地提高網絡的識別精度,減少網絡的訓練誤差,算法比較見表1。

表1 算法比較
由表1可以看出,加入Dropout技術后,網絡的訓練誤差雖然要比沒有加入Dropout技術的低一些,但其識別率有所提高,這證明了加入Dropout技術是對網絡的一種正則化,防止網絡出現過擬合現象。
對訓練后的網絡進行測試,測試結果分別如圖6~圖8所示。

圖6 傳統CNN的測試結果

圖7 未加入Dropout的測試結果

圖8 加入Dropout的測試結果
圖6中,圓形是樣品的實際值,三角形是預測值和實際值之間的差異,由圖6和圖7對比可以看出,采用跨層連接的測試結果比傳統CNN的要好,采用跨層連接其識別的錯誤率僅為16.64%,而CNN的識別錯誤率為19.11%。這可能是因為文中可以直接使用兩個池化層提取到的特征去分類,而CNN直接使用一個池化層提取到的特征去分類,采用跨層連接的方法可以融合不同尺度的信息時能夠更加準確地反映圖像信息,從而獲得更好的分類性能。
由圖7和圖8可以看出,在加入了Dropout技術后,網絡的錯誤識別率有所降低,為15.17%。一般情況下,對于同一組訓練數據,利用不同的神經網絡訓練之后,求其輸出的平均值可以減少過擬合。Dropout就是利用這個原理,每次丟掉一半的一隱藏層神經元,相當于在不同的神經網絡上進行訓練,減少了神經元之間的依賴性,所以,Dropout不僅減少過擬合,還能提高準確率。
在卷積神經網絡的基礎上提出了一個跨連卷積網絡模型,該模型能夠通過跨層連接融合兩個隱含層的圖像特征,從而更加準確地反映圖像信息,并針對網絡的過擬合現象,采用Dropout技術防止模型產生過擬合。實驗結果表明,針對木材缺陷的圖像識別,采用文中方法比傳統方法要好,因為文中方法將網絡的高層次特征和低層次特征相結合,并且可以有效地防止網絡因為訓練過度而產生的過擬合現象。