孫永科,熊飛,胡坤融,付小勇
(西南林業(yè)大學(xué)大數(shù)據(jù)與智能工程學(xué)院,昆明650224)
利用計算機(jī)技術(shù)和人工智能算法對木材的切片圖像進(jìn)行識別,可以快速地完成識別工作,在木材的鑒定工作中具有重要的研究意義。木材圖像識別技術(shù)目前已經(jīng)是林業(yè)信息化過程中的一個研究熱點。
1982 年,McMillin 利用圖像分析系統(tǒng)測量了木材的一些物理特征,是借助數(shù)字圖像對木材構(gòu)造組織進(jìn)行處理研究的第一人[1]。朱佳等人利用Graph Cuts 算法也成功提取顯微鏡圖像中的木材的結(jié)構(gòu)特征[2]。Khalid等人利用神經(jīng)網(wǎng)絡(luò)模型結(jié)合木材的紋理特征對熱帶木材進(jìn)行了圖像識別,實驗結(jié)果的正確率可以達(dá)到95%[3]。2009 年至今汪杭軍等人不斷地在該領(lǐng)域研究創(chuàng)新,相繼提出了基于PCA 特征的多種識別方法[4-6],取得了很好的效果。
實驗發(fā)現(xiàn),基于PCA 等特征的分類方法提高了識別的準(zhǔn)確率,但是對于未參與訓(xùn)練的圖片,其識別率卻仍然比較低。導(dǎo)致識別率低得主要原因是因為實驗樣本中提取的PCA 中噪點較多,不夠穩(wěn)定。本文提出了一種基于Canny 算子的邊緣特征提取和數(shù)據(jù)分類的新方法。該方法能夠提取木材圖像的紋理特征和氣孔分布,圖像特征信噪比高,穩(wěn)定性高。結(jié)合SVM 數(shù)據(jù)分類技術(shù)能有效地提高了木材識別的正確率。
常見的圖像邊緣提取的算子有Robert、Sobel、Prwitt、Canny 等,Canny 算子其中穩(wěn)定性較高的一種,而且其計算的結(jié)果信噪比也比其他的算子高。因此是圖像邊緣提取技術(shù)中最常采用的一種,張晶晶等人利用雙閾值法提高了邊緣提取的準(zhǔn)確性[7]。傳統(tǒng)的圖像SVD 特征提取方法是在灰度圖上直接計算,因為拍攝器材和拍攝環(huán)境的影響,灰度圖的噪點較多,計算得到的SVD 值中還有較多的干擾數(shù)據(jù),從而導(dǎo)致識別率降低。
本文提出的新方法主要是提高圖像特征值的穩(wěn)定性。首先,將圖像進(jìn)行統(tǒng)一縮放,縮放到固定的尺寸,這樣計算出來的SVD 值數(shù)目將會一致。其次,利用Canny 算子計算書圖像的紋理特征,然后計算紋理圖像的奇異值SVD,最后利用SVM 分類器進(jìn)行訓(xùn)練用以進(jìn)行數(shù)據(jù)的分類。
假設(shè)要處理的數(shù)據(jù)存放在A 數(shù)組中,為了我們算法實現(xiàn)的需要,我們定義A 數(shù)組為A[2][n],其中A[0][0..n-1]存放需要確定名次的數(shù)據(jù),A[1][0..n-1]存放排序后各數(shù)據(jù)對應(yīng)的順序,關(guān)鍵字值相同的數(shù)據(jù)的順序是相同的。首先我們假定所有數(shù)據(jù)的原始順序名次都是0,然后利用選擇排序的思想一一確定每個數(shù)據(jù)對應(yīng)的順序,假定m 為下一個待確定數(shù)據(jù)的順序值,m 的初值為1,其過程為:從所有還未確定順序的數(shù)據(jù)中查找關(guān)鍵字值最大的數(shù)據(jù),確定其順序為m,同時查找與其關(guān)鍵字值相同的數(shù)據(jù),并使其順序與已經(jīng)確定的數(shù)據(jù)相同,并記錄關(guān)鍵字值相同的數(shù)據(jù)個數(shù)p,下一個待確定的數(shù)據(jù)的順序即為m+p。重復(fù)上述過程,直至所有數(shù)據(jù)的順序都確定完畢[3]。
Canny 雙閾值算子需要給出兩個閾值t1和t2,且2 t1=t2。圖像中的點P(x,y)的像素值大于t2的是邊緣點,小于t1不是邊緣點,介于t1和t2之間的點需要結(jié)合器鄰居像素進(jìn)行判斷,若鄰居像素大于閾值則認(rèn)為是邊緣點,若鄰居像素不大于t2則認(rèn)為不是邊緣點。利用Canny 算子提取的木材橫截面圖像,不僅能夠很好地表現(xiàn)出木材的紋理特征,而且還能夠清晰地標(biāo)注出木材氣孔的分布。使用Canny 算子對40x 放大鏡木材橫截面圖片計算,能夠得到木材主要的紋理信息,如圖1 所示:圖1(a)是40x 的木材橫截面圖片,圖像的高度和寬度都為200 像素;圖1(b)是使用Canny 算子計算的結(jié)果,Canny 的閾值分別是t1=150,t2=300。通過比較可以發(fā)現(xiàn),Canny 算子能夠得到圖像的紋路和木材的氣孔的分布,較好地保留了原圖紋路特征。
圖1 40x木材橫截面圖像
奇異值分解(SVD)可以提取圖像的特征值并且具有良好的穩(wěn)定性,旋轉(zhuǎn)不變性,位移不變性,鏡像不變性和比例不變性的特點,現(xiàn)在已經(jīng)被廣泛的應(yīng)用于圖像模式識別領(lǐng)域[8-9]。
如果矩陣A 代表一幅圖像,則存在正交矩陣U={u1,u2,...,um}∈Rm×n,V={v1,v2,...,vm}∈Rn×n,使 得UTAV=diag(σ1,σ2,...,σp)=W,p=min(m,n),即A=UWVT,
稱為A 的奇異值分解,其中σ1≥σ2≥...≥σp≥0,為A 的奇異值。
奇異值特征可以通過壓縮來降低數(shù)據(jù)的緯度,對于一幅圖像保留較大的奇異值,忽略較小的奇異值,其作用等于減少圖像中的噪點,保留圖像中的主要信息。
假設(shè)圖像A的奇異值為Wr={σ1,σ2,...,σr},σ1≥σ2≥...≥σr,保留該奇異值的前s 項Ws={σ1,σ2,...,σs},r ≥s。
則存在:
因此:rank(As)=rank(Ws)=s,
則:‖ ‖A-AsF=min{‖ ‖A-BF,B ∈Rm×n}。
以上的證明說明在F 范數(shù)意義下,As是A 的一個最佳逼近,在圖像處理中可以認(rèn)為圖像As和A 最為相似。
圖2 是使用SVD 恢復(fù)后的圖像效果,圖2(a)是原圖,圖2(b)是通過SVD 的最大60 項還原的效果,圖2(c)是使用SVD 的最大40 項還原的效果。圖3(a)是圖2(a)經(jīng)過Canny 算子計算后的邊緣圖像,圖3(b)是圖3(a)的SVD 值前60 項的還原效果,圖3(c)是圖3(a)的SVD 值前40 項還原效果。
圖2 SVD圖像還原效果
圖3 Canny算子SVD還原效果
通過比較可以發(fā)現(xiàn):圖2(c)中的噪點比圖2(b)中的噪點多,圖3(c)中的噪點比圖3(b)中的噪點多;圖2中隨著SVD 取值的減小,噪點增加較多,圖3 中隨著SVD 的減少,噪點增加的較少。說明圖3 中的SVD 值比圖2 中的SVD 值更穩(wěn)定。
實驗選取計720 張木材的橫截面圖片,共計3 個物種,圖像采用40x 放大鏡拍攝,每個物種選取圖片約200 張。實驗采用2 種方法進(jìn)行,方法一直接對灰度圖求SVD,方法二使用Canny 算子對灰度圖計算邊緣后在求SVD 值。兩個實驗結(jié)果進(jìn)行比較,用來研究Canny 算子在分類過程的作用。分類器采用SVM 分類器。SVM 支持向量機(jī)的參數(shù)svm_type 選擇C-SVC,核函數(shù)選擇polynomial,degree 選擇3,cost 選擇2000,gamma 選擇300。
實驗選取一個物種作為正樣本,其他2 種隨機(jī)抽取若干作為負(fù)樣本作為一個測試組,每個物種創(chuàng)建20組測試數(shù)據(jù),采用10 折叉驗證法測試結(jié)果。實驗結(jié)束后分別計算正樣本的正確識別率,負(fù)樣本的正確識別率,系統(tǒng)識別率和正負(fù)樣本的正確識別率的差值。系統(tǒng)正確識別率使用公式(1)表示。
其中:
P(A)表示正樣本的概率
P(M)表示識別為正樣本的概率
P(N)表示識別為負(fù)樣本的概率
實驗分三次,第一次將1 號樣本作為正樣本,其他兩組樣本作為負(fù)樣本,第二次將2 號樣本作為正樣本,其他兩組樣本作為負(fù)樣本,第三次將3 號樣本作為正樣本其他兩組作為負(fù)樣本。利用SVM 分類器對數(shù)據(jù)進(jìn)行二分類計算,使用10 折叉驗證,最后得到的實驗數(shù)據(jù)如表1 所示。表中的P( )A 表示正樣本正確識別的平均值,表示負(fù)樣本正確識別的平均值,P( C)是系統(tǒng)正確識別的平均值,方差_ P( C )是P( C )的總體方差的平均值,是的絕對值的平均值。
對720 個樣本數(shù)據(jù)進(jìn)行分組實驗后的結(jié)果如表1所示。
表1 SVD 識別正確率
觀察表1 中的數(shù)據(jù),發(fā)現(xiàn)正負(fù)樣本的正確識別率都存在波動,離散度較高;1 號木材的負(fù)樣本正確識別最低,意味著在該模型中系統(tǒng)把負(fù)樣本錯判為正樣本的幾率較高,負(fù)樣本出錯率高。
實驗的方法與SVD+SVM 的實驗方法相同,區(qū)別在于本實驗加入了Canny 算子,灰度圖像經(jīng)Canny 算子處理后,計算實驗所需的SVD 特征值。經(jīng)過60 次實驗后,統(tǒng)計結(jié)果如表2 所示,表2 的數(shù)據(jù)均為實驗后的平均值。
表2 Canny+SVD 識別正確率
觀察表2 可以發(fā)現(xiàn)正樣本和負(fù)樣本的正確識別率比較接近,系統(tǒng)正確識別率的方差小。說明明任給一個樣本,系統(tǒng)都能夠以較高的正確率識別出正負(fù),且正確率都較高。
通過實驗發(fā)現(xiàn)以為幾個特點:
(1)表2 中的系統(tǒng)識別率P( C )大于實驗1 中的系統(tǒng)識別率,說明增加Canny 算子后,系統(tǒng)的正確識別率得到了提高。
(4)表2 中的方差小于表1 中的方差,說明實驗2中的模型更穩(wěn)定。
通過實驗發(fā)現(xiàn),圖像就Canny 算子處理后計算得到的奇異值,其特征性比直接在灰度圖的SVD 更明顯,而且更穩(wěn)定。兩種實驗結(jié)果對比后發(fā)現(xiàn):使用Canny 算子后可以有效地提高木材橫切面放大圖像的識別率。