劉傳澤,羅 瑞,陳龍現(xiàn),王 霄,周玉成
(1.山東建筑大學(xué) 信息與電氣工程學(xué)院,濟(jì)南 250101;2.中國(guó)林業(yè)科學(xué)院,北京 100000)
人造板的生產(chǎn)已經(jīng)實(shí)現(xiàn)自動(dòng)化,但是末端缺陷檢測(cè)環(huán)節(jié)仍然依靠人工,由于工作勞動(dòng)強(qiáng)度大,容易出現(xiàn)誤檢、漏檢,嚴(yán)重制約著人造板行業(yè)的發(fā)展,因此迫切研發(fā)一套人造板缺陷檢測(cè)系統(tǒng)。由于機(jī)器視覺(jué)具有識(shí)別速度快、精度高等優(yōu)點(diǎn)被廣泛應(yīng)用于產(chǎn)品表面缺陷檢測(cè)[1~3]?;跈C(jī)器視覺(jué)人造板缺陷檢測(cè)系統(tǒng),首先采集圖像,獲得特征值;再次利用分類(lèi)器根據(jù)特征值進(jìn)行識(shí)別,最后通過(guò)人造板缺陷種類(lèi)、大小進(jìn)行定級(jí)。缺陷識(shí)別的結(jié)果直接影響對(duì)人造板外觀質(zhì)量的判斷[5]。連續(xù)壓機(jī)生產(chǎn)線不間斷生產(chǎn),速度為1.5m/s,間隔小于0.4m,出廠板子面積為2.4m×4.8m,實(shí)時(shí)性要求比較高,需在3s以?xún)?nèi)作出判斷,需求一種快速準(zhǔn)確的算法實(shí)現(xiàn)人造板缺陷的在線識(shí)別。
現(xiàn)階段,主要的缺陷識(shí)別算法有神經(jīng)網(wǎng)絡(luò)(neural network,NN)、支持向量機(jī)(support vector machine,SVM)、貝葉斯(naive bayes,NB)、聚類(lèi)(cluster,C)、決策樹(shù)(decision tree,DT)和RF等[4],并在相應(yīng)的領(lǐng)域取得很好的效果。由于NN、SVM計(jì)算復(fù)雜且難以應(yīng)用到實(shí)際;NB算法需要一定的先驗(yàn)信息;C算法采用窮舉的算法計(jì)算量較大;DT決策樹(shù)容易過(guò)擬合等缺點(diǎn),以上算法均不適合人造板缺陷的在線識(shí)別。其中RF是一種基于DT的算法,通過(guò)對(duì)變量和樣本數(shù)據(jù)的隨機(jī)選擇,產(chǎn)生多棵DT,匯總DT的分類(lèi)結(jié)果,總數(shù)最多的為缺陷類(lèi)別[5]。在采樣(bootstrap)的過(guò)程中,有三分之一的數(shù)據(jù)未被選到,作為袋外數(shù)據(jù)(out of bag,OOB)用來(lái)評(píng)價(jià)分類(lèi)器的準(zhǔn)確率。Breiman等證明,OBB誤差是泛化誤差估計(jì)的組成,可代替測(cè)試集的誤差估計(jì)[6]。RF算法具有以下優(yōu)點(diǎn):1)不需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,預(yù)測(cè)精度高;2)能處理大數(shù)據(jù)集和變量,運(yùn)行速度快;3)使用OOB誤差進(jìn)行模型評(píng)價(jià),無(wú)需采用交叉驗(yàn)證和獨(dú)立測(cè)試集驗(yàn)證;4)不會(huì)產(chǎn)生過(guò)擬合現(xiàn)象。
本文提出基于局部特征提取和隨機(jī)森林的算法,通過(guò)利用局部特征提取的方法提取人造板表面缺陷的形狀、紋理特征,進(jìn)而建立基于隨機(jī)森林的人造板缺陷分類(lèi)模型,實(shí)現(xiàn)人造板缺陷檢測(cè)的自動(dòng)化發(fā)展,為人造板缺陷識(shí)別提供了一種快速、準(zhǔn)確的方法,并可以應(yīng)用于其他板材缺陷的在線識(shí)別。
連續(xù)壓機(jī)生產(chǎn)線上的人造板面積為2.4m×4.8m,主要有油污、雜物、大刨花、膠斑等四種類(lèi)型,缺陷面積在0.01m×0.01m~0.1m×0.1m之間,目標(biāo)、背景所占面積相差懸殊,全局的分割算法無(wú)法取得較好的效果,而局部閾值分割需要計(jì)算各部分的閾值,速度較慢。針對(duì)于人造板大面積、小缺陷的特點(diǎn),剔除一種基于區(qū)域篩選分割的方法,將整副人造板圖像換分成若干個(gè)區(qū)塊,對(duì)每個(gè)區(qū)塊進(jìn)行分類(lèi),篩選出缺陷區(qū)域之后進(jìn)行分割。
人造板表面缺陷背景單一,目標(biāo)與背景的灰度值差異較大且灰度值均勻,因此本研究將方差作為區(qū)塊的分類(lèi)特征。在劃分的過(guò)程中,可能出現(xiàn)缺陷被劃分到多個(gè)子區(qū)塊中的現(xiàn)象,基于此對(duì)相鄰的子區(qū)域進(jìn)行合并,獲得缺陷區(qū)域,其主要步驟如下:
1)將人造板圖像劃分為k×l個(gè)像素的區(qū)塊cell×cell,其大小根據(jù)缺陷進(jìn)行合理選擇,計(jì)算每個(gè)子區(qū)塊的方差σ2,公式為:
2)建立i行j列的矩陣A,初始值為0,將方差σ2大于一定閾值β的子區(qū)塊矩陣中的元素置為1;
3)遍歷矩陣A,將矩陣A中的值為1的相鄰元素進(jìn)行合并,記錄合并結(jié)果集中左上角元素和右下角元素下標(biāo)。如果圖像中有多個(gè)缺陷,根據(jù)缺陷的分布位置,得到不同的結(jié)果集。將每個(gè)結(jié)果集中的左上角元素和右下角元素下標(biāo)形成的區(qū)域映射回原圖中,就可以提取若干個(gè)缺陷區(qū)域。
人造板缺陷特征提取是缺陷識(shí)別的關(guān)鍵,由于人造板圖像的背景灰度值均勻,缺陷區(qū)域內(nèi)的灰度值相似,各類(lèi)缺陷的形狀差異較大,基于選取缺陷圖像的形狀、紋理特征對(duì)缺陷進(jìn)行表征,利用OTSU算法對(duì)上述的缺陷區(qū)域D進(jìn)行特征提取,其表達(dá)式如表1、表2所示。
其中:N為缺陷區(qū)域內(nèi)像素點(diǎn)的個(gè)數(shù);Nb為缺陷區(qū)域邊緣像素點(diǎn)的個(gè)數(shù);MER為缺陷區(qū)域最小外接矩形;LMER為M E R的長(zhǎng);WMER為M E R的寬;SMER為MER的面積。
表1 形狀特征計(jì)算公式
表2 紋理特征計(jì)算公式
其中,M(i)為缺陷各點(diǎn)的灰度值,N為缺陷區(qū)域像素點(diǎn)的個(gè)數(shù)。通過(guò)對(duì)缺陷區(qū)域內(nèi)形狀、紋理特征統(tǒng)計(jì),獲得10個(gè)特征屬性的特征值,得到缺陷特征向量Q(S、L、O、OR、P、u、σD、σP、σS、σR)構(gòu)成樣本數(shù)據(jù)L,作為 RF的輸入,訓(xùn)練RF分類(lèi)模型。
人造板表面缺陷在線識(shí)別的實(shí)現(xiàn)流程如圖2所示。
1)圖像預(yù)處理。對(duì)CMOS相機(jī)獲得的在線人造板圖像,用均值濾波去除噪聲干擾;
2)缺陷檢測(cè)及定位。將經(jīng)過(guò)預(yù)處理的圖像進(jìn)行分區(qū)塊檢測(cè),計(jì)算每一各區(qū)塊的平均灰度值和方差,將方差大于一定閾值定義為缺陷板,通過(guò)和并子區(qū)塊的方式獲得缺陷區(qū)域;
3)圖像分割。利用Otsu閾值分割法對(duì)缺陷區(qū)域進(jìn)行分割;
4)特征提取。統(tǒng)計(jì)缺陷區(qū)域中的形狀、紋理特征構(gòu)成特征向量;
5)RF分類(lèi)模型。通過(guò)RF分類(lèi)器進(jìn)行分類(lèi)。
當(dāng)有新輸入的人造板圖像時(shí),首先進(jìn)行缺陷檢測(cè)判斷是否有缺陷,如果檢測(cè)有缺陷,進(jìn)行缺陷定位、通過(guò)圖像分割獲得缺陷的特征值,作為RF分類(lèi)器的輸入,通過(guò)匯總RF中每棵DT得到缺陷類(lèi)別。其中最重要RF分類(lèi)器的構(gòu)建。
圖1 基于RF的人造板缺陷自動(dòng)識(shí)別流程
CART樹(shù)是RF算法中的基本單元,多個(gè)CART樹(shù)構(gòu)建出RF。CART樹(shù)由CART算法實(shí)現(xiàn),CART算法是一種高效的二分叉樹(shù),不斷對(duì)數(shù)據(jù)進(jìn)行二分達(dá)到分類(lèi)的目的。構(gòu)建CART樹(shù)的算法流程如下[7]:
1)建立根節(jié)點(diǎn)N,CART樹(shù)開(kāi)始生長(zhǎng);
2)如果訓(xùn)練集L中只剩下一類(lèi)樣本,則返回N為葉節(jié)點(diǎn);
3)分別計(jì)算當(dāng)前各個(gè)特征屬性的Gini指數(shù),將得到最大的Gini指數(shù)特征屬性作為子節(jié)點(diǎn),使L劃分為L(zhǎng)1和L2兩個(gè)子集,之后遞歸構(gòu)建決策樹(shù),讓其充分生長(zhǎng),不剪枝。
其中,根節(jié)點(diǎn)、子節(jié)點(diǎn)為特征屬性中的一種,葉節(jié)點(diǎn)為缺陷的類(lèi)別。Gini指數(shù)代表當(dāng)前各個(gè)特征屬性的分裂的程度,數(shù)值越大說(shuō)明數(shù)據(jù)復(fù)雜,不確定性越大,將Gini指數(shù)最小的特征屬性設(shè)置為節(jié)點(diǎn)。其中的Gini指數(shù)的計(jì)算如下:
假設(shè)訓(xùn)練集L中的樣本有n個(gè)不同的類(lèi)別Ci(i=1,…,n)。則概率分布的Gini指數(shù)定義為:
式中pi為類(lèi)別Ci在S中所占比例。訓(xùn)練集在某個(gè)特征屬性V下被分為兩部分L1和L2,則L的Gini指數(shù)即分裂指數(shù)為:
對(duì)于人造板缺陷識(shí)別問(wèn)題,實(shí)質(zhì)建立各類(lèi)缺陷的特征值與缺陷類(lèi)別的非線性映射關(guān)系。RF模型的輸入向量Q(S、L、O、OR、P、u、σD、σP、σS、σR),bj表示10個(gè)特征屬性中的第j個(gè),輸出層為缺陷類(lèi)別O為1,2,3,4,分別代表大刨花、膠斑、雜物、油污,建立映射關(guān)系為Q…I。本研究用Matlab工具進(jìn)行程序編寫(xiě),提取h張人造板缺陷圖像的特征值構(gòu)成樣本數(shù)據(jù)L與10種特征屬性m組成RF的輸入,利用bootstrap的方式隨機(jī)抽取樣本數(shù)據(jù)和特征屬性,通過(guò)CART算法訓(xùn)練出500棵數(shù),構(gòu)建10個(gè)RF分類(lèi)器Rm(m=1,…,10)。Rm構(gòu)建過(guò)程中,只有屬性的個(gè)數(shù)m一個(gè)變量,通過(guò)統(tǒng)計(jì)每棵CART樹(shù)產(chǎn)生的OOB泛化誤差E(E1,…,E500),求出E的平均值作為最佳參數(shù)try的評(píng)估指標(biāo)?;诖藢?shù)的棵數(shù)定位500,m=try,構(gòu)建出的Rtry為最優(yōu)分類(lèi)模型。
實(shí)驗(yàn)采用分辨率為2560×2040,像素深度為8位的,大恒圖像JAI SP-5000M-USB3.0工業(yè)COMS相機(jī)采集人造板表面灰度圖像。計(jì)算機(jī)硬件為在Intel Core I7-7500U 2.7GHZ,8GB內(nèi)存的硬件環(huán)境下和Windows7,Visual C++的軟件環(huán)境下進(jìn)行算法編寫(xiě)。人造板廠家提供帶有膠斑、大刨花、油污、雜物人造板150塊,將其分為訓(xùn)練樣本和測(cè)試樣本,分別為100、50。其中實(shí)驗(yàn)樣本數(shù)據(jù)如表3所示。
表3 人造板缺陷樣本數(shù)量
首先對(duì)人造板圖像缺陷區(qū)域進(jìn)行提取。由于人造板面積較大,所以工業(yè)相機(jī)拍攝人造板一半的面積2.4m×2.4m,進(jìn)行缺陷識(shí)別的時(shí)候連拍兩張。經(jīng)過(guò)調(diào)試和多次試驗(yàn),確定將表面圖像會(huì)分為64×51個(gè)40×40的像素區(qū)域,并進(jìn)行缺陷區(qū)域提取,利用OTSU分割算法進(jìn)行缺陷分割。在提取之前,利用中值濾波進(jìn)行濾波,消除噪聲干擾,各缺陷的原圖像和分割后的圖像如圖2所示,根據(jù)圖2提取形狀特征,將坐標(biāo)映射回到原圖中,獲取紋理特征,并將獲得特征值構(gòu)成特征向量。從圖2特征提取的結(jié)果看,本文提出的基于區(qū)域篩選分割的方法能夠有效的提取出面積很小的缺陷區(qū)域,對(duì)于多個(gè)缺陷也能進(jìn)行準(zhǔn)確的提取。將提取的特征向量作為訓(xùn)練集100個(gè)特征向量構(gòu)建RF分類(lèi)器。
采用bootstrap的方法將訓(xùn)練集L分為訓(xùn)練子集Lg(g=1,…,500),將Lg和隨機(jī)抽取的m個(gè)特征屬性作為輸入,利用CART算法生成500棵CART樹(shù)構(gòu)建出RF。特征屬性的個(gè)數(shù)m是唯一變量,根據(jù)OOB誤差率E的平均值評(píng)價(jià)Rm。由圖3所示,當(dāng)m值變化時(shí)的OOB平均誤差率也隨之變化,隨著m個(gè)數(shù)增加誤差率明顯下降,當(dāng)m=6時(shí)誤差率為最低0.01,m值大于6時(shí)誤差率增加,主要由于樣本數(shù)據(jù)中特征屬性過(guò)多,每棵CART樹(shù)的樣本數(shù)據(jù)被充分表達(dá),導(dǎo)致RF分類(lèi)器識(shí)別率降低,基于此最優(yōu)m值為6,構(gòu)建出的最優(yōu)RF分類(lèi)器為R6。
圖2 四類(lèi)缺陷分割圖
圖3 RF中特征屬性個(gè)數(shù)對(duì)性能的影響
3.3.1 正確率分析
為了驗(yàn)證構(gòu)建的R6的分類(lèi)效果,將訓(xùn)練好的分類(lèi)模型對(duì)測(cè)試集進(jìn)行分類(lèi),其結(jié)果表4所示,只有1個(gè)樣本出現(xiàn)錯(cuò)分的情況,整體識(shí)別正確率高達(dá)98%。從表4可知膠斑、大刨花缺陷識(shí)別正確率為100%,其余兩種缺陷出現(xiàn)錯(cuò)分的情況,其原因主要是:1)大刨花的灰度值明顯高于其他三種缺陷;2)膠斑的形狀近似圓形,易與油污、雜物區(qū)分;3)油污、雜物兩種缺陷灰度值較為接近且形狀不規(guī)則,造成誤分的情況。
表4 R7測(cè)試結(jié)果
3.3.2 實(shí)時(shí)性分析
通過(guò)計(jì)算機(jī)測(cè)得一張人造板圖像輸入到缺陷識(shí)別總耗時(shí)657ms,其中耗時(shí)最多的為圖像分割達(dá)到320ms,其次是特征提取為167ms,由于此次采集的是正常人造板一半面積的圖像,在實(shí)際中總耗時(shí)為1.314s小于3s,完全可以滿足人造板實(shí)時(shí)性的要求。綜上通過(guò)對(duì)算法正確率和實(shí)時(shí)性要求分析,本研究建立的RF分類(lèi)器可以應(yīng)用到人造板缺陷檢測(cè)系統(tǒng)中。
本研究采用區(qū)域篩選分割的算法對(duì)大背景下小面積的缺陷進(jìn)行很好的分割,考慮人造板表面缺陷的各種特點(diǎn),選取10個(gè)表征缺陷的形狀、紋理特征(S、L、O、OR、P、u、σD、σP、σS、σR)可以用來(lái)表征缺陷,利用采集到的缺陷的特征數(shù)據(jù)建立人造板缺陷識(shí)別的RF分類(lèi)器。利用本研究構(gòu)建的RF分類(lèi)器對(duì)人造板缺陷進(jìn)行識(shí)別,識(shí)別正確率高達(dá)98%,運(yùn)算速度快、結(jié)果準(zhǔn)確可靠,能夠滿足缺陷檢測(cè)的實(shí)時(shí)性和準(zhǔn)確性,實(shí)現(xiàn)人造板缺陷在線檢測(cè)。