官 飛
(福建林業職業技術學院 自動化工程系,福建 南平 353000)
珍貴木材識別的準確率和權威性目前主要依靠存儲的樣本量和鑒定的經驗。實際中由于鑒定水平不同,存在鑒定結果不同的情況,不同檢測機構使用的方法不同,也可能導致結果不同。這種傳統的依靠專業人員觀察、比較和分析木材的主要特征的鑒別手段,需要依靠扎實的木材解剖學知識以及豐富的實踐經驗來支撐,很大程度上限制了鑒別方法的使用。運用數字圖像技術[1]提取珍貴木材圖像特征信息,并構建BP神經網絡架構,保障了珍貴木材的識別速度和準確率[2-3]。
顏色特征是區分木材的主要特征,在輸入神經網絡[4]之前,需要提取目標樣本的RGB(red,green,blue)值,但是RGB顏色模型和感知上的顏色模型很難建立關系,不能直接做為識別的重要特征。而感知上的模型顏色正是HSV的模型所符合的,適合基于顏色的圖像相似比較。因此,需要把目標樣片的RGB顏色模型轉換成HSV值,再放入構建好的BP神經網絡進行比對運算。
通過顏色來辨別木材以及它的特征是最為有效和簡單的方法??梢悦枋銎揭疲D,縮放等,并且顏色沒有變形特性。RGB顏色模型是實際中使用最廣泛的模型之一?;谀静念伾卣鞯腞、G、B通道,我們可以得到9個新通道,包括R/G、R/B、B/G、G/R、B/R、G/B、(RG)/(R+G)、(RB)/(R+B)、(GB)/(G+B),然后計算均值、方差與每個像素值的總和,因此總共可以獲得24個珍貴木材的顏色特征。
進行顏色特征提取時,采用了HSV顏色空間[5]。該特征可以充分體現木材的色調h(hue)、飽和度s(saturation)和亮度v(value)3個重要特征,因此需要把木材圖像的RGB顏色特征轉換成HSV特征,提供給系統進行分析計算。顏色特征RGB取值范圍在0~255之間,轉換成HSV顏色空間后H,S,V的值如下:


其中假設

Gabor濾波器[6]用于提取圖像的特征,該濾波器本質上是一個2D Gaussian函數,可以調制目標圖像波長的正、余弦值,其實部和虛部的數學公式如下:

其中x'=x cosθ+y sinθ,y'=-x sinθ+y cosθ,λ為目標圖像的正弦波波長,γ為鋁箔函數形狀的橢圓率,δ為目標圖像的尺度,θ為木材紋理方向特征。木材紋理尺度和方向特征是區分木材的重要依據。采用5個尺度和16個方向。不同方向和尺度的Gabor響應,反映了木材圖像局部像素點處的差異性。
木材識別神經網絡[7]的學習包含正向傳播和反向傳播的過程,通過反向傳播,可以連續改變神經網絡的閾值和權重,得到最小化網絡的平方誤差之和。在訓練過程中,樣本在隱藏層中進行數據處理,然后將數據輸送到對應的輸出層。比較輸出層中的2個數據即實際的輸出值與預期所設定的輸出值如果數據不匹配,則過程將進入錯誤的反向傳播階段。在反方向傳播期間,輸出的數據將通過隱藏層的某種形式將數據傳輸回輸入層,獲得每一層的誤差信號,把該信號反饋給神經網絡多次交替修正,使得網絡模型處于最優的狀態。
2.1.1 網絡模型
構建的木材圖像特征神經網絡包含隱藏層、輸入層和輸出層3個神經元部分,把提取到的木材圖像顏色特征信號放入網絡模型經過正向傳播與誤差反向傳播多次交替,通過閾值以及權值的不斷調整,讓網絡的誤差的平方和減至最小。
整個運算過程模擬認識事物的人類大腦過程,具體模型結構如圖1所示。

圖1 BPNN模擬人腦認知過程模型的結構Fig.1 BPNN simulating the structure of human brain cognitive process model
簡單的事物可以用一個向量來表達它的特征信息,針對復雜的木片圖像,那么紋理、色澤等信息就得用函數矩陣才能體現完全,也可以使用三階張量(tensor)來表達。構建好木材圖像識別神經網絡模型結構后,就需要把提取到的HSV特征、Gabor特征放入神經網絡進行運算,最終輸出測試的結果。整個木材分類神經網絡結構圖如下所示。

圖2 BP神經網絡結構Fig.2 BPneural network structure
木材識別BP神經網絡的輸入層是由木片特征樣本輸入向量x所構成的,向量x與矩陣V(px(n+1))相乘后得出隱藏層向量s,向量z與矩陣W(mx(p+1))相乘后得出預測輸出層的輸入子層向量U,標簽層y不屬于BP神經網絡結構,該層是樣本木片的實際類別向量。

在隱藏層中,向量s經過激活函數h(s)變換后,得到向量z;在輸出層中,向量u經過輸出函數f(u)變換后,得到向量t。即有如下公式:

2.1.2 參數說明
(1)把輸入x設為n+1維列向量,特征數為n,公式變換(1)中加1變換:

T表示轉置,下同。使x0=1,將(1)公式中的偏移向量b放入數據的第一列將其放入權重矩陣v數據中,并將公式轉換為公式(2),這樣就可以同時訓練權重值和偏移。

(2)把隱藏層輸入向量s設為p維的列向量,p為超參數,并人為設置:

(3)把神經網絡隱藏層輸出子層向量z設為多一維的向量,具體變換公式如下:

令z0=1,將偏置向量b′放入矩陣中,變換公式為:

(4)把神經網絡輸出層輸入向量u設為m維的列向量,i為分類數:

(5)使輸出層輸出向量t為m維的列向量,m為分類數:

(6)使權重矩陣v為輸入層的數據到隱藏層的數據矩陣px(n+1):

(7)使權重矩陣w為隱藏層的數據到輸出層的數據矩陣mx(p+1):

(8)使標簽層y向量變成維度為m的列向量:
第1類:[(1),(0),(0),(0),(0)]T
第2類:[(0),(1),(0),(0),(0)]T
第3類:[(0),(0),(1),(0),(0)]T
第m類:[(0),(0),(0),(0),(1)]T
(9)木片樣本的總數設置為Q,將整個木片樣本庫劃分成兩個部分:其中一部分作為訓練集(trainset),比例占總數的80%,另一部分作為測試集(testset),比例占總數的20%。
2.2.1 訓練說明
構建成功后的BP神經網絡是分批次進行訓練的,把設定好的木片樣本的總數Q,平均分為N個批次,每個批次的樣本數量為R(R=Q_train//N)。網絡運算的時候把同一批次樣本逐個訓練,本批次訓練結束后轉入另一個批次再訓練,直到樣本Q全部訓練結束,不斷循環訓練周期,使其滿足所需條件進行誤差收斂。同一批次的樣本訓練包含了正向傳播和反向傳播兩個過程,具體過程是用兩組不同的批次來回變換數據已進行訓練的所達到權重更新。
在正向傳播訓練過程中,w和v的值是固定值不變的,每個木片特征樣本從輸入層到隱藏層,最后到達輸出層,每次訓練結束后都會得出一個誤差值,而在同一批次的樣本誤差值在訓練結束后會不斷的累加。產生的反饋到網絡模型中產生Δw和Δv的更新量,然后在下一輪樣本訓練當中采用新的權重矩陣w和v,重復循環訓練,獲得誤差最小的權重矩陣,精確BP神經網絡的運算值。
(1)誤差損失函數
樣本x由神經網絡訓練以獲得預測的輸出向量t,t中的元素ti表示x樣本是屬于第i類(i=1,2,...,m)的估計概率。測量概率值和實際概率值的誤差用交叉熵來表示,其誤差值損失函數定義為:

(2)梯度下降算法
BP神經網絡模型中向量y表示實際標簽值,得出損失函數H(y,t)的值取決于變量t的值。當變量值沿著導數(梯度)的反方向進行變化時,可以使得損失函數H(y,t)在某個值時以最快速率下降,具體公式如下:

上述公式中Δt表示變量的改變值,常量a表示學習率。變量t和模型中的矩陣V(px(n+1))和矩陣W(mx(p+1))緊密關聯,它們之間的值互相影響,在訓練過程的反向傳播中產生Δw和Δv,因此要先求出損失函數H(y,t)對上面兩個矩陣的偏導數,公式如下:

(3)BP神經網絡正向傳播
正向傳播的計算過程為:輸入層x→隱藏層輸入子層s→隱藏層輸出子層z(z=h(s))→預測輸出層輸入子層u(u=w·z)→預測輸出層輸出子層t(t=f(u))→標簽層H,在訓練過程中矩陣V(px(n+1))和矩陣W(mx(p+1))不變,依次計算模型的各層向量。
(4)BP神經網絡反向傳播
訓練過程中矩陣V(px(n+1))和矩陣W(mx(p+1))保持不變,依次計算出模型的各層向量偏導數,再把誤差信號反饋給下一個樣本訓練。
(5)權重更新
該部分運用了小批量梯度下降算法,一個訓練批次包含樣本數量為R(R=Q_train//N),當每個樣本訓練結束后v和w將會刷新成其他值(w=w+Δw jk;v=v+Δv jk),當其所有訓練完訓練樣本后,得出的權重矩陣w和i,實驗證明輸出效果較優。

BP神經網絡運算之后,運用混淆矩陣來分析分類效果。在混淆矩陣之中每一列的總數即是木片特征樣本的預測類別的總數,每一行的總數即是木片特征樣本的真實歸屬類別的總數?;煜仃嚱Y構的第1類錯誤中,TP表示positive的數量,FN表示negative的數量。第2類錯誤中,FP表示positive的數量,TN表示negative的數量。預測性分類模型,為了讓輸出準確率變得高,對應到混淆矩陣中,就需要數量較大的TP(精準率)與TN(召回率)。當獲得混淆矩陣后,觀察矩陣中對應象限中的TP和TN數量,可以得出木片特征樣本預測分類的識別率情況。

圖3 混淆矩陣的結構Fig.3 Structure of the confusion matrix
本實驗共479張數據,其中訓練集80%,測試集20%。圖4為算法1:木材特征(RGB)+神經網絡(BP)的實驗結果,從圖4(a)中我們可以得到分類的準確率為0.972,召回率為95.1%,精準率為93.9%圖4(b)的曲線圖我們可以看出次模型訓練良好(train曲線和validation曲線都平滑下降),圖5為算法2:木材特征(RGB)+木材特征(gabor)+神經網絡(BP)的實驗結果,從圖5(a)中我們可以得到分類的準確率為0.986,召回率為97.1%,精準率為97.4圖5(b)validation settrian曲線圖我們可以看出次模型訓練良好(train曲線和validation曲線都平滑下降)。從實驗結果我們可以看出,運用本文提出的木材特征(RGB)+木材特征(gabor)+神經網絡(BP)能很好的實現木材的分類。

圖4 第二、四象限Fig.4 Second and fourth quadrants

圖5 第一、三四象限Fig.5 First,third and fourth quadrants