孫 靜
(黎明職業(yè)大學 智能制造工程學院, 福建 泉州 362000)
目前傳統(tǒng)的木材識別幾乎完全依賴于人工目測,識別結(jié)果往往受主觀判斷、過往經(jīng)驗等因素影響。自然界中有成百上千種不同的木材,即使是有經(jīng)驗的科學家都很難識別。所以,僅僅依靠人工識別已遠不能滿足相關(guān)木材行業(yè)的發(fā)展。近年來,隨著機器視覺、圖像處理技術(shù)的進一步發(fā)展,紋理分析與識別技術(shù)也取得了很大發(fā)展。紋理的檢測主要包括灰度直方圖法、灰度共生矩陣法(GLCM)、灰度游程長度法等[1-3]。灰度直方圖只能反應圖像的灰度分布情況,但因為木板紋理的灰度級都集中在較窄的范圍內(nèi),識別效果不佳。GLCM是灰度圖像中一種基于二階直方圖統(tǒng)計計算的方法,是目前最常見且效果最好的紋理分析法。為此,系統(tǒng)采用灰度共生矩陣法獲取木板紋理特征。
1973年Haralick等人提出了用灰度共生矩陣來描述紋理特征[4-6]。其定義為:從圖像灰度值為i的像素點(x,y)出發(fā),統(tǒng)計與其相隔距離為d、相鄰方向為θ、灰度值為j的點的像元(x+a,y+b)的概率P(i,j,d,θ),即所有估計的值可以表示成一個矩陣的形式,表達式為:
P(i,j,d,θ)={[(x,y),(x+a,y+b)|f(x,y)=i;f(x+a,y+b)=j]}
(1)
灰度共生矩陣的運算量很大,進行特征區(qū)分時通常選取該矩陣構(gòu)建的某些統(tǒng)計量[7]。為了更直觀地了解木材紋理情況,根據(jù)其特征值的不同識別不同的木材,本系統(tǒng)選取能顯著代表木板紋理特征的對比度(contrast)、能量(Energy)、均勻性(Homogeneity)、相關(guān)性(Correlation)4個參數(shù)[8]進行木材紋理特征提取。這4個參數(shù)分別體現(xiàn)了木材紋理的深淺程度、粗細變化、均勻度及灰度的相關(guān)性,通過這些參數(shù)值的不同能較好地區(qū)分木材種類。
本系統(tǒng)使用Halcon視覺軟件進行圖像檢測處理并進行訓練學習、識別分類。該軟件提供了多種不同分類器,本文選用多層感知機MLP分類器對木板紋理進行訓練分類。該分類器相比于其他幾種分類器,識別的準確率更高且分類識別的速度也相對較快。網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
圖1 MLP網(wǎng)絡(luò)結(jié)構(gòu)
進行訓練時,樣本數(shù)據(jù)X首先通過輸入層輸入,經(jīng)過中間的隱含層進行連接。從圖1的網(wǎng)絡(luò)中可以看出,從采樣數(shù)據(jù)輸入到最終數(shù)據(jù)輸出,相鄰層間均是通過全連接。即各層中的任意一個節(jié)點都會與下一層的所有節(jié)點進行網(wǎng)絡(luò)連接。經(jīng)過全連接后,每一個神經(jīng)元都能夠?qū)崿F(xiàn)對原始數(shù)據(jù)的擬合,最后經(jīng)過輸出層將所得的數(shù)據(jù)進行輸出[9,10]。
采用MLP進行樣本訓練時,利用BP算法。該算法從輸入層輸入訓練樣本特征,經(jīng)隱含層處理后傳入輸出層,當?shù)玫降恼`差值與理想值相差較大時,則將輸出誤差反向傳播回隱含層,最后根據(jù)隱含層神經(jīng)元的誤差[11],修正各單元的權(quán)重值,反復訓練直到誤差降低到期望值范圍內(nèi),結(jié)束訓練。
對不同木板進行分類時,根據(jù)木板不同紋理特征,利用Halcon軟件進行紋理圖像采集處理,通過灰度共生矩陣、灰度直方圖等方法識別木板紋理特性,并使用MLP分類器對不同木板紋理進行分類識別,得到分類結(jié)果。系統(tǒng)識別過程如圖2所示。
圖2 木板紋理識別系統(tǒng)流程
圖3 6種木材樣本
系統(tǒng)選取杉木、海棠、橡木、泡桐、紅檀、落葉松共6種不同木板紋理圖像(木板如圖3),圖像大小均為350*300,木板圖像采集時會受到光線、周圍環(huán)境、相機性能等多種因素影響,需要對采集的圖像進行預處理操作。首先將采集到的木板彩色圖像通過rgb1_to_gray轉(zhuǎn)化成灰度圖,然后使用threshold算子對灰度化處理后的圖像進行閾值分割,實現(xiàn)木板圖像和其背景的分離,為后續(xù)紋理特征提取做準備。
二值化分割后的木板圖像區(qū)域仍為一個整體,先通過connection算子分割連通域,再借助select_shape算子根據(jù)木板區(qū)域形態(tài)特征將木板紋理所在區(qū)域分離出來,然后利用算子cooc_feature_image得到紋理區(qū)的共生矩陣和描述共生矩陣的標量,該算子根據(jù)共生矩陣對應的木板紋理區(qū)域、對應灰度值的木板圖像、被識別的灰度值的數(shù)量、共生矩陣的方向等4個參數(shù),計算并輸出對應區(qū)域內(nèi)灰度值的能量、相關(guān)性、均勻性和對比度4個特征值大小。本系統(tǒng)共有6種不同木板紋理,即被識別灰度值的數(shù)量為6,共生矩陣的方向選擇90°。系統(tǒng)經(jīng)過計算得到的部分圖像紋理特征值如表1所示。因6種木板的訓練樣本得到的特征值較多,表中僅顯示了橡木、海棠、落葉松3種木板各4張不同紋理圖像所計算出的對應紋理特征值。從表1中可以看出:不同種類的木板對應的特征值所在范圍不同。其中3種木板紋理特性值中的能量值和對比度的數(shù)值相差顯著,其他兩個特征值差異較小。如橡木的紋理對比度基本在15~19之間,海棠的對比度值在32~36之間,而落葉松的紋理對比度相對較小,在5~6之間。對比度的大小反映了紋理的深淺程度,其值越大,表示溝紋越深,即說明3種木板紋理最深的為海棠紋理。
表1 部分木板紋理特征值
為了進一步識別特征值,系統(tǒng)采用了邊緣檢測,更準確地找出所求紋理區(qū)域。邊緣實質(zhì)是灰度變化劇烈的地方。灰度變化越大求得導數(shù)值較大。使用邊緣檢測算子sobel_amp提取木板紋理目標邊緣幅度圖像,輸入木板紋理圖像,輸出對應邊緣幅度圖像。該算子中濾波器選擇sum_abs,掩膜大小為3,即選用A、B兩個3*3的模板進行計算。通過求取木板圖像一階導數(shù)最大變化值得出木板邊緣特征,找出木板紋理所在區(qū)域。
得到邊緣檢測圖像后再通過gray_histo_abs算子為木板區(qū)域內(nèi)的圖像計算灰度值的絕對直方圖。算子中輸入的對應參數(shù)包括需要計算的灰度直方圖區(qū)域、需計算的灰度直方圖的圖像和量化因子。其中輸入?yún)^(qū)域選取邊緣幅度圖像,量化因子取8。得出絕對直方圖后,綜合灰度共生矩陣得到的紋理特征得出木板區(qū)域的所有特征向量,并計算隱含節(jié)點個數(shù)。隱含層節(jié)點數(shù)可根據(jù)輸入、輸出層所對應的節(jié)點數(shù)及表達式(2)確定其取值范圍。
(2)
式中i,j,k分別對應輸入層、隱含層、輸出層節(jié)點個數(shù)。系統(tǒng)通過特征提取計算紋理圖像區(qū)域所有特征向量作為輸入節(jié)點數(shù),輸出節(jié)點為木板實際種類,這里為6種。m為1-10之間的整數(shù),根據(jù)經(jīng)驗確定。
系統(tǒng)選取6個不同種類木板圖像作為訓練樣本,分別構(gòu)建MLP神經(jīng)網(wǎng)絡(luò)。利用create_class_mlp算子創(chuàng)建MLP分類器。實驗中通過計算灰度共生矩陣提取紋理特征值為4、計算木板紋理區(qū)域灰度直方圖的統(tǒng)計特征為32,得到所有特征值共計36個;輸出層節(jié)點數(shù)量對應杉木、海棠、橡木、泡桐、紅檀、落葉松6種木板類型,隱含層節(jié)點數(shù)量可根據(jù)式(2)得到j(luò)的范圍在7~16,結(jié)合網(wǎng)絡(luò)訓練情況,本文j設(shè)為12。輸出層激活函數(shù)類型為’softmax’,變化特征數(shù)量取默認值10,隨機種子點數(shù)默認42,輸出得到分類器句柄信息。
分別將6種木板訓練樣本的特征分量添加到訓練數(shù)據(jù)庫中,通過算子add_sample_class_mlp實現(xiàn)。算子參數(shù)使用上述得到的分類器句柄、輸入的當前木板樣本特征向量值和對應木板索引號。
訓練MLP分類器,得到木板紋理檢測模型,采用train_class_mlp,訓練最大迭代次數(shù)200次,兩次迭代權(quán)重差的閾值為1,均方誤差為0.0001。
實驗基于halcon視覺軟件平臺,按照木板紋理識別流程,分別對每個木板類別選取6張樣本圖像,即共36張木材紋理圖像,其中24張作為訓練樣本,12張作為測試樣本。部分圖像取樣和識別結(jié)果如表2所示。表中第一行為3種木板的測試圖像,第二行為經(jīng)過訓練識別后的最終結(jié)果。最后一行為識別結(jié)果的置信度,表示圖像識別結(jié)果的可信程度。從表2中看出,通過以上方法,能正確識別木板種類,且樣本識別的置信度均達到99%以上,識別效果較好。
表2 部分圖像識別結(jié)果
因這6種木料紋理的原始圖像較少,故對6種木料紋理圖像從不同角度、不同部位獲取圖像共90張建立訓練樣本和測試樣本。其中訓練樣本60張,測試樣本30張。進行30次識別,共成功識別出26次,識別率為86.7%。
根據(jù)木材紋理特性不同,采用灰度共生矩陣法得到木板紋理主要特征值,結(jié)合邊緣檢測、灰度直方圖等方法得到整個木板區(qū)域的特征值,構(gòu)成特征向量,根據(jù)MLP進行訓練,最后用于木板分類識別。實驗在Halcon視覺軟件環(huán)境中進行。通過對6種木板90張不同紋理圖片進行訓練測試,木材的準確識別率達86.7%,證明采用該方法能有效地對木材進行自動識別。