張學(xué)蘭 李 軍 孟范孔
(1.華南理工大學(xué)制漿造紙工程國(guó)家重點(diǎn)實(shí)驗(yàn)室,廣東廣州,510640;2.華南理工大學(xué)廣東省造紙技術(shù)與裝備公共實(shí)驗(yàn)室,廣東廣州,510640;3.華南理工大學(xué)機(jī)械與汽車工程學(xué)院,廣東廣州,510640)
在紙張生產(chǎn)過程中,由于設(shè)備磨損、生產(chǎn)原料質(zhì)量和環(huán)境污染等原因,會(huì)造成一些外觀紙?。?],而利用傳統(tǒng)的人工檢測(cè)方式進(jìn)行紙病檢測(cè)已經(jīng)難以滿足生產(chǎn)過程的需要。基于機(jī)器視覺技術(shù)的紙病檢測(cè)系統(tǒng)的出現(xiàn),不僅大大提高了檢測(cè)效率,還實(shí)現(xiàn)了在線分析與控制。該技術(shù)能實(shí)時(shí)有效地監(jiān)測(cè)運(yùn)行中紙幅上的各種紙病,以便于操作人員及時(shí)反應(yīng),迅速找到導(dǎo)致紙病的原因,從而降低損紙率,提高成品率,減少操作人員的工作量[2]。
紙病的智能化在線檢測(cè)的目的在于開發(fā)一套機(jī)器視覺系統(tǒng),應(yīng)用快速有效的算法,實(shí)現(xiàn)紙病的精確檢測(cè)和定位[3]。紙病的智能化在線檢測(cè),即運(yùn)用紙張圖像的形態(tài)特征、灰度級(jí)統(tǒng)計(jì)、紋理特征、形態(tài)學(xué)、模糊邏輯及神經(jīng)網(wǎng)絡(luò)等進(jìn)行紙病圖像的分割和識(shí)別。針對(duì)現(xiàn)有的算法不能對(duì)同時(shí)含有不同種類紙病的圖像進(jìn)行分類識(shí)別,本研究提出了一種基于圖像灰度變換和BP神經(jīng)網(wǎng)絡(luò)的紙病識(shí)別算法。
1.1 紙樣圖像的獲取
本研究所用的圖像是在反射光照條件下,通過掃描儀獲取的紙病圖像,像素大小為640×480,如圖1和圖2所示,分別為合格紙樣圖像和帶有孔洞、臟點(diǎn)和褶皺的紙病圖像。
1.2 紙病圖像預(yù)處理
觀察圖2可以發(fā)現(xiàn),孔洞和臟點(diǎn)與背景灰度有較大的區(qū)別,因此屬于高對(duì)比度的紙病圖像。大量實(shí)驗(yàn)統(tǒng)計(jì)表明,孔洞處的灰度比背景灰度均值高15%以上;臟點(diǎn)處的灰度比背景灰度均值低30%以上;褶皺處的灰度與背景灰度均值相差不大,但有很明顯的灰度階躍。
基于上述對(duì)3類紙病灰度特征的分析,本研究采用一種基于灰度經(jīng)驗(yàn)的動(dòng)態(tài)雙閾值分割方法[4]來提取孔洞和臟點(diǎn)。首先計(jì)算得出紙病圖像的背景灰度均值為220,再用圖像背景灰度均值的1.15倍和0.70倍作為閾值進(jìn)行分割,其中高于220×1.15的設(shè)為255,低于220×0.70的設(shè)為0,其余設(shè)為128。將圖2的紙病圖像進(jìn)行雙閾值分割后的結(jié)果如圖3所示。
對(duì)比圖2和圖3可以發(fā)現(xiàn),圖3中保留了圖2的孔洞和臟點(diǎn)的信息,而失去了褶皺的信息,原因是經(jīng)過動(dòng)態(tài)雙閾值分割后褶皺處的灰度值被設(shè)為128。對(duì)于褶皺,由于其灰度階躍比較明顯,因此采用Prewitt算子來對(duì)其分割。經(jīng)過Prewitt算子和形態(tài)學(xué)閉合運(yùn)算后的圖像如圖4所示。在此檢測(cè)過程中也可以將孔洞和臟點(diǎn)的邊緣檢測(cè)出來,但由于邊緣檢測(cè)后的臟點(diǎn)和孔洞的形態(tài)很接近,在后續(xù)識(shí)別中無法區(qū)分,因此還需要進(jìn)一步處理。對(duì)圖3和圖4進(jìn)行圖像合成中的加運(yùn)算,得到圖5。從圖5可以發(fā)現(xiàn),臟點(diǎn)處的灰度為0,孔洞和褶皺處的灰度為255,但褶皺近似于直線,孔洞接近于圓形,這樣就將孔洞、臟點(diǎn)和褶皺的代表性特征集合到一副圖像中。但在臟點(diǎn)的外圍同時(shí)有一個(gè)白色的圓環(huán),其形態(tài)和孔洞很相似,在識(shí)別過程中會(huì)被當(dāng)作孔洞來識(shí)別。因此,最終孔洞的數(shù)量應(yīng)為識(shí)別出的孔洞的數(shù)量減去臟點(diǎn)的數(shù)量。
在圖像識(shí)別中,常見的特征量按其類型可以分為形態(tài)特征、灰度特征、紋理特征。目標(biāo)的形態(tài)特征[5]包括面積、長(zhǎng)寬比、矩形度、周長(zhǎng)、圓形度和偏心率等?;叶忍卣靼ɑ叶绕骄怠⒎讲?、歪度、峭度、能量和熵等。紋理特征[6]包括二階矩、對(duì)比度、相關(guān)度、紋理熵和紋理能量等。因此,圖像預(yù)處理之后,就可以提取各類紙病的典型特征,以便對(duì)紙病進(jìn)行分類。
經(jīng)過對(duì)紙病圖像的特征數(shù)據(jù)的統(tǒng)計(jì),最終本研究選擇目標(biāo)的平均灰度、圓形度、長(zhǎng)寬比和矩形度作為紙病識(shí)別的特征值。
(1)平均灰度
目標(biāo)平均灰度Mean的計(jì)算公式[5]為:
式中,M表示目標(biāo)像素的總數(shù),P(x,y)表示目標(biāo)范圍內(nèi)個(gè)各像素的灰度值。對(duì)圖5進(jìn)行特征提取后可知,對(duì)于孔洞和褶皺,其平均灰度應(yīng)為255,而臟點(diǎn)處的平均灰度為0。因此,利用平均灰度便可以很好地將形態(tài)上很相近的孔洞和臟點(diǎn)區(qū)分開。
(2)圓形度
圓形度(ρc)是描述目標(biāo)與圓形相似程度的量[5]。根據(jù)圓周長(zhǎng)與圓面積的計(jì)算公式,圓形度的計(jì)算公式如下:
式中,As為目標(biāo)區(qū)域的面積;Ls為目標(biāo)區(qū)域的周長(zhǎng)。圓形度越大,表明目標(biāo)與圓形的相似程度越高。分別對(duì)20個(gè)形態(tài)各異的孔洞、臟點(diǎn)和褶皺的圓形度進(jìn)行統(tǒng)計(jì),結(jié)果如圖6所示。
圖6 紙病的圓形度
(3)長(zhǎng)寬比
目標(biāo)區(qū)域長(zhǎng)寬比(ρWL)的計(jì)算公式[5]為:
式中,WR是包圍目標(biāo)區(qū)域的最小矩形的寬度,LR是包圍目標(biāo)區(qū)域的最小矩形的長(zhǎng)度。分別對(duì)20個(gè)形態(tài)各異的孔洞、臟點(diǎn)和褶皺的長(zhǎng)寬比進(jìn)行統(tǒng)計(jì),結(jié)果如圖7所示。
圖7 紙病的長(zhǎng)寬比
(4)矩形度
矩形度(ρR)是描述目標(biāo)區(qū)域與矩形相似程度的量[5],其計(jì)算公式如下:
式中,AS為目標(biāo)區(qū)域的面積,AR是包含該目標(biāo)區(qū)域的最小矩形的面積。對(duì)于矩形目標(biāo),矩形度取最大值1,對(duì)細(xì)長(zhǎng)而彎曲的目標(biāo),矩形度的值較小。分別對(duì)20個(gè)形態(tài)各異的孔洞、臟點(diǎn)和褶皺的矩形度進(jìn)行統(tǒng)計(jì),結(jié)果如圖8所示。
圖8 紙病的矩形度
觀察圖6~圖8可知,孔洞和臟點(diǎn)的圓形度和矩形度都遠(yuǎn)高于褶皺的,褶皺的長(zhǎng)寬比遠(yuǎn)大于孔洞和臟點(diǎn)的,因此可以將褶皺識(shí)別出來。而對(duì)于在形態(tài)上十分相似的孔洞和臟點(diǎn),主要是通過平均灰度來區(qū)分。這樣利用平均灰度、圓形度、長(zhǎng)寬比和矩形度便可以將3種紙病區(qū)分開。
圖9 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
本研究采用BP神經(jīng)網(wǎng)絡(luò)來建立紙病特征值和紙病種類之間的神經(jīng)網(wǎng)絡(luò)模型,并通過實(shí)驗(yàn)來驗(yàn)證該方法的可行性和準(zhǔn)確性。
3.1 BP神經(jīng)網(wǎng)絡(luò)
基本BP算法[7]包括2個(gè)方面:信號(hào)的前向傳播和誤差的反向傳播,即計(jì)算實(shí)際輸出時(shí)按從輸入到輸出的方向進(jìn)行,而權(quán)值和閾值的修正從輸出到輸入的方向進(jìn)行。BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖9所示,輸入層m個(gè)神經(jīng)元節(jié)點(diǎn),隱含層n個(gè)神經(jīng)元節(jié)點(diǎn),輸出層p個(gè)神經(jīng)元節(jié)點(diǎn)。輸入層第i個(gè)神經(jīng)元節(jié)點(diǎn)與隱含層第j個(gè)神經(jīng)元節(jié)點(diǎn)之間的權(quán)值為wji,隱含層第j個(gè)神經(jīng)元節(jié)點(diǎn)閾值為bj;隱含層第j個(gè)神經(jīng)元節(jié)點(diǎn)與輸出層第k個(gè)神經(jīng)元節(jié)點(diǎn)之間的權(quán)值為wkj,輸出層第k個(gè)神經(jīng)元節(jié)點(diǎn)閾值為bk。隱含層作用函數(shù)為sigmoid函數(shù),輸出層的作用函數(shù)采用純線性函數(shù)。
3.2 分類器設(shè)計(jì)
3.2.1 輸入層和輸出層神經(jīng)元節(jié)點(diǎn)數(shù)的確定
根據(jù)之前的分析可知,選取平均灰度、圓形度、長(zhǎng)寬比和矩形度4個(gè)特征值便可以區(qū)分出孔洞、臟點(diǎn)和褶皺,因此BP神經(jīng)網(wǎng)絡(luò)的輸入層神經(jīng)元節(jié)點(diǎn)數(shù)為4個(gè)。根據(jù)3種紙病的特征值的特點(diǎn),可以采用如下形式來表示輸出:
孔洞:(1,1,0,1);臟點(diǎn):(0,1,0,1);褶皺:(1,0,1,0)
每4個(gè)單元的輸出代表一種紙病,因此輸出層的神經(jīng)元節(jié)點(diǎn)數(shù)也采用4個(gè)。
3.2.2 隱含層神經(jīng)元節(jié)點(diǎn)數(shù)的確定
隱含層神經(jīng)元節(jié)點(diǎn)數(shù)太少,容錯(cuò)性差,不能識(shí)別訓(xùn)練樣本集中不包含的樣本,而隱含層神經(jīng)元節(jié)點(diǎn)數(shù)過多,不但使參數(shù)增多導(dǎo)致學(xué)習(xí)時(shí)間過長(zhǎng),而且會(huì)導(dǎo)致對(duì)樣本的學(xué)習(xí)能力降低,使BP神經(jīng)網(wǎng)絡(luò)總體性能變差[8]。因此,實(shí)際應(yīng)用中需要選擇一個(gè)最佳隱含層神經(jīng)元節(jié)點(diǎn)數(shù)??筛鶕?jù)參考式[9](5)~(7)求取最佳隱含層神經(jīng)元節(jié)點(diǎn)數(shù):
式中,m為隱含層神經(jīng)元節(jié)點(diǎn)數(shù);n為輸入層神經(jīng)元節(jié)點(diǎn)數(shù);l為輸出層神經(jīng)元節(jié)點(diǎn)數(shù);δ為1~10之間的常數(shù)[10]。由此可知,最佳隱含層神經(jīng)元節(jié)點(diǎn)數(shù)在2~14之間。
3.2.3 分類器訓(xùn)練
本研究應(yīng)用Matlab 7.6軟件對(duì)紙病識(shí)別BP神經(jīng)網(wǎng)絡(luò)模型進(jìn)行學(xué)習(xí)訓(xùn)練,以之前的60組數(shù)據(jù)作為訓(xùn)練樣本進(jìn)行訓(xùn)練。輸入層和輸出層均為4個(gè)神經(jīng)元節(jié)點(diǎn),隱含層神經(jīng)元節(jié)點(diǎn)數(shù)在2~14之間,目標(biāo)誤差平方和為0.001,最高訓(xùn)練次數(shù)為1500,設(shè)置不同的隱含層神經(jīng)元節(jié)點(diǎn)數(shù)達(dá)到訓(xùn)練精度時(shí)所需要的訓(xùn)練次數(shù)如圖10所示。
圖10 設(shè)置不同隱含層神經(jīng)元節(jié)點(diǎn)數(shù)所需要的訓(xùn)練次數(shù)
因此,隱含層神經(jīng)元節(jié)點(diǎn)數(shù)為12時(shí),所需的訓(xùn)練次數(shù)最少,即BP神經(jīng)網(wǎng)絡(luò)的收斂速度最快。訓(xùn)練參數(shù)和訓(xùn)練結(jié)果圖分別如表1和圖11所示。
表1 BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練參數(shù)
3.3 分類器測(cè)試結(jié)果
BP神經(jīng)網(wǎng)絡(luò)分類器測(cè)試用的樣本為通過掃描儀獲取的含有若干個(gè)孔洞、臟點(diǎn)和褶皺的20幅紙病圖像。根據(jù)網(wǎng)絡(luò)實(shí)際輸出和目標(biāo)樣本對(duì)照,對(duì)測(cè)試樣本進(jìn)行檢測(cè),紙病識(shí)別結(jié)果如表2所示。由表2可知,所選用的特征量和設(shè)置的訓(xùn)練參數(shù)是合理的。BP神經(jīng)網(wǎng)絡(luò)分類器對(duì)臟點(diǎn)的識(shí)別率可達(dá)到100%,但對(duì)于孔洞和褶皺的識(shí)別率卻不能達(dá)到100%。主要原因是由于對(duì)于灰度階躍不是很明顯的褶皺,在圖像預(yù)處理階段容易造成欠檢測(cè)而丟失掉褶皺的信息,導(dǎo)致后續(xù)無法識(shí)別;其次是掃描儀獲取的圖像的清晰度不夠高。而對(duì)于孔洞的正確識(shí)別的關(guān)鍵是圖像預(yù)處理過程中可以得到連通的臟點(diǎn)的邊緣,這樣識(shí)別出的孔洞的數(shù)量減去臟點(diǎn)的數(shù)量才是真正孔洞的數(shù)量。但由于實(shí)際臟點(diǎn)的多樣性,會(huì)導(dǎo)致無法得到連通的臟點(diǎn)邊緣,從而造成對(duì)孔洞的識(shí)別存在誤差。
圖11 BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差
表2 分類器識(shí)別結(jié)果
4.1 采用的雙閾值分割和圖像合成相結(jié)合的預(yù)處理方法,將孔洞、臟點(diǎn)和褶皺的特征信息集合到一幅圖像中,再利用BP神經(jīng)網(wǎng)絡(luò),可以很好地識(shí)別出同時(shí)含有孔洞、臟點(diǎn)和褶皺的圖像中紙病的種類和數(shù)量,但識(shí)別率尚不能達(dá)到100%,主要是由于圖像預(yù)處理階段存在欠檢測(cè)。因此,還需進(jìn)一步改進(jìn)圖像的預(yù)處理算法,同時(shí),嘗試采用清晰度更高的圖像獲取設(shè)備。
4.2 實(shí)驗(yàn)結(jié)果表明,選取平均灰度、圓形度、長(zhǎng)寬比和矩形度作為紙病的特征值,即作為BP神經(jīng)網(wǎng)絡(luò)的輸入值,可以很好地對(duì)孔洞、臟點(diǎn)和褶皺進(jìn)行分類。
4.3 由于本研究只討論了3種常見的紙病類型,對(duì)于其他種類的紙病還存在著局限性。因此,在紙病樣本的特征值選擇和算法方面還需進(jìn)行進(jìn)一步的研究和優(yōu)化,以便對(duì)更多的紙病類型進(jìn)行檢測(cè)。
[1]關(guān)建華.全幅紙病檢測(cè)技術(shù)及在造紙中的應(yīng)用[J].中國(guó)造紙,2002,21(6):32.
[2]徐 杰.基于機(jī)器視覺的紙病檢測(cè)方法研究與應(yīng)用[D].南京:南京林業(yè)大學(xué),2008.
[3]陳文凱.基于機(jī)器視覺的紙病檢測(cè)算法研究與集成[D].南京:南京林業(yè)大學(xué),2009.
[4]吳 冰,秦志遠(yuǎn).自動(dòng)確定圖像二值化最佳閾值的新方法[J].測(cè)繪學(xué)院學(xué)報(bào),2001,18(4):283.
[5]朱 虹.數(shù)字圖像處理基礎(chǔ)[M].北京:科學(xué)出版社,2005.
[6]劉 禾.數(shù)字圖像處理及應(yīng)用[M].北京:中國(guó)電力出版社,2006.
[7]韓力群.人工神經(jīng)網(wǎng)絡(luò)教程[M].北京:科學(xué)出版社,2005.
[8]金成曉,俞婷婷.基于BP神經(jīng)網(wǎng)絡(luò)的我國(guó)制造業(yè)產(chǎn)業(yè)安全預(yù)警研究[J].北京工業(yè)大學(xué)學(xué)報(bào):社會(huì)科學(xué)版,2010(1):8.
[9]范秋芳.基于BP神經(jīng)網(wǎng)絡(luò)的中國(guó)石油安全預(yù)警研究[J].運(yùn)籌與管理,2007(10):91.
[10]Gallant Stephen I.Neural network learning and expert systems[M].London:The MIT Press,1993.