劉傳澤,羅 瑞,陳龍現,王 霄,周玉成
(1.山東建筑大學 信息與電氣工程學院,濟南 250101;2.中國林業科學院,北京 100000)
人造板的生產已經實現自動化,但是末端缺陷檢測環節仍然依靠人工,由于工作勞動強度大,容易出現誤檢、漏檢,嚴重制約著人造板行業的發展,因此迫切研發一套人造板缺陷檢測系統。由于機器視覺具有識別速度快、精度高等優點被廣泛應用于產品表面缺陷檢測[1~3]?;跈C器視覺人造板缺陷檢測系統,首先采集圖像,獲得特征值;再次利用分類器根據特征值進行識別,最后通過人造板缺陷種類、大小進行定級。缺陷識別的結果直接影響對人造板外觀質量的判斷[5]。連續壓機生產線不間斷生產,速度為1.5m/s,間隔小于0.4m,出廠板子面積為2.4m×4.8m,實時性要求比較高,需在3s以內作出判斷,需求一種快速準確的算法實現人造板缺陷的在線識別。
現階段,主要的缺陷識別算法有神經網絡(neural network,NN)、支持向量機(support vector machine,SVM)、貝葉斯(naive bayes,NB)、聚類(cluster,C)、決策樹(decision tree,DT)和RF等[4],并在相應的領域取得很好的效果。由于NN、SVM計算復雜且難以應用到實際;NB算法需要一定的先驗信息;C算法采用窮舉的算法計算量較大;DT決策樹容易過擬合等缺點,以上算法均不適合人造板缺陷的在線識別。其中RF是一種基于DT的算法,通過對變量和樣本數據的隨機選擇,產生多棵DT,匯總DT的分類結果,總數最多的為缺陷類別[5]。在采樣(bootstrap)的過程中,有三分之一的數據未被選到,作為袋外數據(out of bag,OOB)用來評價分類器的準確率。Breiman等證明,OBB誤差是泛化誤差估計的組成,可代替測試集的誤差估計[6]。RF算法具有以下優點:1)不需要對數據進行預處理,預測精度高;2)能處理大數據集和變量,運行速度快;3)使用OOB誤差進行模型評價,無需采用交叉驗證和獨立測試集驗證;4)不會產生過擬合現象。
本文提出基于局部特征提取和隨機森林的算法,通過利用局部特征提取的方法提取人造板表面缺陷的形狀、紋理特征,進而建立基于隨機森林的人造板缺陷分類模型,實現人造板缺陷檢測的自動化發展,為人造板缺陷識別提供了一種快速、準確的方法,并可以應用于其他板材缺陷的在線識別。
連續壓機生產線上的人造板面積為2.4m×4.8m,主要有油污、雜物、大刨花、膠斑等四種類型,缺陷面積在0.01m×0.01m~0.1m×0.1m之間,目標、背景所占面積相差懸殊,全局的分割算法無法取得較好的效果,而局部閾值分割需要計算各部分的閾值,速度較慢。針對于人造板大面積、小缺陷的特點,剔除一種基于區域篩選分割的方法,將整副人造板圖像換分成若干個區塊,對每個區塊進行分類,篩選出缺陷區域之后進行分割。
人造板表面缺陷背景單一,目標與背景的灰度值差異較大且灰度值均勻,因此本研究將方差作為區塊的分類特征。在劃分的過程中,可能出現缺陷被劃分到多個子區塊中的現象,基于此對相鄰的子區域進行合并,獲得缺陷區域,其主要步驟如下:
1)將人造板圖像劃分為k×l個像素的區塊cell×cell,其大小根據缺陷進行合理選擇,計算每個子區塊的方差σ2,公式為:

2)建立i行j列的矩陣A,初始值為0,將方差σ2大于一定閾值β的子區塊矩陣中的元素置為1;
3)遍歷矩陣A,將矩陣A中的值為1的相鄰元素進行合并,記錄合并結果集中左上角元素和右下角元素下標。如果圖像中有多個缺陷,根據缺陷的分布位置,得到不同的結果集。將每個結果集中的左上角元素和右下角元素下標形成的區域映射回原圖中,就可以提取若干個缺陷區域。
人造板缺陷特征提取是缺陷識別的關鍵,由于人造板圖像的背景灰度值均勻,缺陷區域內的灰度值相似,各類缺陷的形狀差異較大,基于選取缺陷圖像的形狀、紋理特征對缺陷進行表征,利用OTSU算法對上述的缺陷區域D進行特征提取,其表達式如表1、表2所示。
其中:N為缺陷區域內像素點的個數;Nb為缺陷區域邊緣像素點的個數;MER為缺陷區域最小外接矩形;LMER為M E R的長;WMER為M E R的寬;SMER為MER的面積。

表1 形狀特征計算公式

表2 紋理特征計算公式
其中,M(i)為缺陷各點的灰度值,N為缺陷區域像素點的個數。通過對缺陷區域內形狀、紋理特征統計,獲得10個特征屬性的特征值,得到缺陷特征向量Q(S、L、O、OR、P、u、σD、σP、σS、σR)構成樣本數據L,作為 RF的輸入,訓練RF分類模型。
人造板表面缺陷在線識別的實現流程如圖2所示。
1)圖像預處理。對CMOS相機獲得的在線人造板圖像,用均值濾波去除噪聲干擾;
2)缺陷檢測及定位。將經過預處理的圖像進行分區塊檢測,計算每一各區塊的平均灰度值和方差,將方差大于一定閾值定義為缺陷板,通過和并子區塊的方式獲得缺陷區域;
3)圖像分割。利用Otsu閾值分割法對缺陷區域進行分割;
4)特征提取。統計缺陷區域中的形狀、紋理特征構成特征向量;
5)RF分類模型。通過RF分類器進行分類。
當有新輸入的人造板圖像時,首先進行缺陷檢測判斷是否有缺陷,如果檢測有缺陷,進行缺陷定位、通過圖像分割獲得缺陷的特征值,作為RF分類器的輸入,通過匯總RF中每棵DT得到缺陷類別。其中最重要RF分類器的構建。

圖1 基于RF的人造板缺陷自動識別流程
CART樹是RF算法中的基本單元,多個CART樹構建出RF。CART樹由CART算法實現,CART算法是一種高效的二分叉樹,不斷對數據進行二分達到分類的目的。構建CART樹的算法流程如下[7]:
1)建立根節點N,CART樹開始生長;
2)如果訓練集L中只剩下一類樣本,則返回N為葉節點;
3)分別計算當前各個特征屬性的Gini指數,將得到最大的Gini指數特征屬性作為子節點,使L劃分為L1和L2兩個子集,之后遞歸構建決策樹,讓其充分生長,不剪枝。
其中,根節點、子節點為特征屬性中的一種,葉節點為缺陷的類別。Gini指數代表當前各個特征屬性的分裂的程度,數值越大說明數據復雜,不確定性越大,將Gini指數最小的特征屬性設置為節點。其中的Gini指數的計算如下:
假設訓練集L中的樣本有n個不同的類別Ci(i=1,…,n)。則概率分布的Gini指數定義為:

式中pi為類別Ci在S中所占比例。訓練集在某個特征屬性V下被分為兩部分L1和L2,則L的Gini指數即分裂指數為:

對于人造板缺陷識別問題,實質建立各類缺陷的特征值與缺陷類別的非線性映射關系。RF模型的輸入向量Q(S、L、O、OR、P、u、σD、σP、σS、σR),bj表示10個特征屬性中的第j個,輸出層為缺陷類別O為1,2,3,4,分別代表大刨花、膠斑、雜物、油污,建立映射關系為Q…I。本研究用Matlab工具進行程序編寫,提取h張人造板缺陷圖像的特征值構成樣本數據L與10種特征屬性m組成RF的輸入,利用bootstrap的方式隨機抽取樣本數據和特征屬性,通過CART算法訓練出500棵數,構建10個RF分類器Rm(m=1,…,10)。Rm構建過程中,只有屬性的個數m一個變量,通過統計每棵CART樹產生的OOB泛化誤差E(E1,…,E500),求出E的平均值作為最佳參數try的評估指標?;诖藢档目脭刀ㄎ?00,m=try,構建出的Rtry為最優分類模型。
實驗采用分辨率為2560×2040,像素深度為8位的,大恒圖像JAI SP-5000M-USB3.0工業COMS相機采集人造板表面灰度圖像。計算機硬件為在Intel Core I7-7500U 2.7GHZ,8GB內存的硬件環境下和Windows7,Visual C++的軟件環境下進行算法編寫。人造板廠家提供帶有膠斑、大刨花、油污、雜物人造板150塊,將其分為訓練樣本和測試樣本,分別為100、50。其中實驗樣本數據如表3所示。

表3 人造板缺陷樣本數量
首先對人造板圖像缺陷區域進行提取。由于人造板面積較大,所以工業相機拍攝人造板一半的面積2.4m×2.4m,進行缺陷識別的時候連拍兩張。經過調試和多次試驗,確定將表面圖像會分為64×51個40×40的像素區域,并進行缺陷區域提取,利用OTSU分割算法進行缺陷分割。在提取之前,利用中值濾波進行濾波,消除噪聲干擾,各缺陷的原圖像和分割后的圖像如圖2所示,根據圖2提取形狀特征,將坐標映射回到原圖中,獲取紋理特征,并將獲得特征值構成特征向量。從圖2特征提取的結果看,本文提出的基于區域篩選分割的方法能夠有效的提取出面積很小的缺陷區域,對于多個缺陷也能進行準確的提取。將提取的特征向量作為訓練集100個特征向量構建RF分類器。
采用bootstrap的方法將訓練集L分為訓練子集Lg(g=1,…,500),將Lg和隨機抽取的m個特征屬性作為輸入,利用CART算法生成500棵CART樹構建出RF。特征屬性的個數m是唯一變量,根據OOB誤差率E的平均值評價Rm。由圖3所示,當m值變化時的OOB平均誤差率也隨之變化,隨著m個數增加誤差率明顯下降,當m=6時誤差率為最低0.01,m值大于6時誤差率增加,主要由于樣本數據中特征屬性過多,每棵CART樹的樣本數據被充分表達,導致RF分類器識別率降低,基于此最優m值為6,構建出的最優RF分類器為R6。

圖2 四類缺陷分割圖

圖3 RF中特征屬性個數對性能的影響
3.3.1 正確率分析
為了驗證構建的R6的分類效果,將訓練好的分類模型對測試集進行分類,其結果表4所示,只有1個樣本出現錯分的情況,整體識別正確率高達98%。從表4可知膠斑、大刨花缺陷識別正確率為100%,其余兩種缺陷出現錯分的情況,其原因主要是:1)大刨花的灰度值明顯高于其他三種缺陷;2)膠斑的形狀近似圓形,易與油污、雜物區分;3)油污、雜物兩種缺陷灰度值較為接近且形狀不規則,造成誤分的情況。

表4 R7測試結果
3.3.2 實時性分析
通過計算機測得一張人造板圖像輸入到缺陷識別總耗時657ms,其中耗時最多的為圖像分割達到320ms,其次是特征提取為167ms,由于此次采集的是正常人造板一半面積的圖像,在實際中總耗時為1.314s小于3s,完全可以滿足人造板實時性的要求。綜上通過對算法正確率和實時性要求分析,本研究建立的RF分類器可以應用到人造板缺陷檢測系統中。
本研究采用區域篩選分割的算法對大背景下小面積的缺陷進行很好的分割,考慮人造板表面缺陷的各種特點,選取10個表征缺陷的形狀、紋理特征(S、L、O、OR、P、u、σD、σP、σS、σR)可以用來表征缺陷,利用采集到的缺陷的特征數據建立人造板缺陷識別的RF分類器。利用本研究構建的RF分類器對人造板缺陷進行識別,識別正確率高達98%,運算速度快、結果準確可靠,能夠滿足缺陷檢測的實時性和準確性,實現人造板缺陷在線檢測。