摘 要:為了準確、快速地對玻璃質量進行分類,提出一種基于BP神經網絡的玻璃缺陷識別方法。由于不變矩與灰度共生矩陣分別可以描述圖像的形狀與紋理,在分析了缺陷灰度圖像特點的基礎上,將圖像的紋理特征和不變矩特征融合,綜合提取出一個分類能力更強的特征向量,再使用一個擬牛頓改進算法的三層前向BP網絡。作為分類器,對常見的玻璃缺陷進行了識別。通過實驗對比該方法和傳統的單一特征識別法,證明該方法不僅具有更高的識別率,并且實時性較好,為玻璃缺陷的自動識別提供了一種新的途徑。
關鍵詞:玻璃缺陷; BP神經網絡; 不變矩; 灰度共生矩陣
中圖分類號:TP919.8 文獻標識碼:A
文章編號:1004-373X(2010)14-0045-04
Research of Recognition Technology for Glass Defect Based on BP Neural Network
WANG Su-zhe, WANG Zhao-ba, JIN Yong, CHEN You-xing
(National Key Laboratory for Electronic Measurement Technology, North University of China, Taiyuan 030051, China)
Abstract: A method of recognizing glass defects based on BP neural network is put forward to classify the glass accurately and quickly. Because the invariant moment and gray-level co-occurrence matrix can describe the shape and texture of images respectively, a more classifiable characteristic vector is extracted comprehensively by fusing the two features of images on the basis of characteristic analysis of the images with defects, then a three-layer feed-forward propagation neural network based on BFGS algorithm is adopted as a classifier to realize the recognition and classification of the images with familiar glass defect. The experiment, in which this method was compared with the conventional way of single character recognition, demonstrates the superiority of higher recognition rate and better real-time performance, which offers a new approach to automatic recognition of glass defects.
Keywords: glass defect; BP neural network; invariant moment; gray-level co-occurrence matrix
0 引言
浮法玻璃生產工藝是世界上最先進的玻璃制造工藝,但是在生產過程中,還是會不可避免地產生一些缺陷。常見的玻璃缺陷有以下幾種類型:氣泡、結石、劃痕、夾雜。這些缺陷嚴重影響了玻璃的外觀質量,降低了玻璃的透光性能和機械強度。為了提高浮法玻璃質量并方便劃分玻璃質量的等級,必須對這些缺陷進行分類。
目前,國外從20世紀80年代就開始研究計算機視覺檢測技術,雖然至今已自主研制出一些玻璃自動檢測設備,但是價格昂貴,且技術資料保密[1-2]。國內也有類似設備和技術的研究,與國外相比,在檢測及識別速度、精度方面還存在著較大的差距[3-4]。因此,本文深入研究了玻璃檢測過程中的缺陷識別技術,旨在提高玻璃檢測系統的整體檢測水平。
本文基于BP神經網絡,提出一種玻璃缺陷的分類、識別方法。該分類方法的基本思想是:以采集好的玻璃缺陷圖像作為研究對象,選取訓練樣本,然后綜合提取出不變矩特征和紋理特征,輸入神經網絡進行反復訓練,最后用測試樣本對訓練好的網絡進行識別檢驗。實驗表明,該方法可以對常見的玻璃缺陷進行比較精確的分類,精度較高,為玻璃生產線提供了可靠的數據。
1 特征提取
在對玻璃缺陷的圖像觀察中發現(如圖1所示),不同類型的玻璃缺陷在幾何形狀上差異較大,而相同類型缺陷的幾何形狀比較類似,只是在位置和大小上不確定;并且某些缺陷,比如氣泡、結石,改變了玻璃的透射性能,會對光線會產生折射、反射等現象,導致缺陷邊緣產生了紋理圖案。根據這2種特點,結合不變矩和灰度共生矩陣的紋理特征共同進行提取,利用這種方法提取出的特征可以全面地描述缺陷,作為BP神經網絡的輸入。
圖1 4種典型的玻璃缺陷
1.1 基于不變矩的特征提取
不變矩特征是一種對旋轉和縮放變化的目標有良好的不變性及抗干擾性的特征量。不變矩特征能夠描述目標總體形狀,二維圖形的幾個關鍵特征均直接與矩有關,如圖像的大小、形心等。設一幅分辨率為p×q的 二維離散的玻璃缺陷圖像的灰度函數為f(x,y),則其m+n階幾何矩和中心矩分別定義:
M mn=∑p x=1∑q y=1xmynf(x,y)
μ mn=∑ p x=1 ∑ q y=1 (x-x0)m(y-y0)nf(x,y)(1)
由式(1)可得,零階幾何矩 M 00為缺陷圖像的總亮度矩,1階幾何矩 M 10, M 01是圖像關于x軸和y軸的亮度矩,再由x0= M 10/ M 00,y0= M 01/ M 00計算出的x0,y0分別表示圖像關于x軸和y軸的灰度重心坐標,由于中心矩僅具有平移不變性,為了得到具有比例不變性的矩,定義歸一化中心矩為:
I mn= μ mn/μr00 (2)
式中:r=(m+n)/2,m+n=2,3,…。歸一化后的中心矩 I mn具有平移及比例變換的不變性[5]。如果還想得到旋轉變換的不變性,可以利用標準化的2階和3階中心矩導出最終的7個不變矩,公式如下:
C 1=I20+I02,C 2=(I20-I02)2+4I211,C 3=(I30-3I12)+(3I21+I03)2,C 4=(I30+I12)2+(I21+I03)2
C 5=(I30-3I12)(I30-I12)[(I30+I12)2-3(I21+I03)2]+(3I21-I03)(I21+I03)[3(I30+I12)2-(I21+I03)2]
C 6=(I20-I02)[(I30+I12)2-(I21+I03)2]+4I11(I30+I12)(I21+I03) (3)
C 7=(3I12-I30)(I30+I12)[(I30+I12)2-3(I21+I03)2]+(3I21-I03)(I21+I03)[3(I03+I12)2-(I12+I03)2]
這7個矩特征構成的矩組對于平移、比例和旋轉變換都是不變的量,代表了玻璃缺陷圖像形狀的基本特征[6]。
1.2 基于灰度共生矩陣的紋理特征提取
圖像中的紋理特征是識別目標的主要依據之一,而灰度共生矩陣是反應圖像紋理灰度關于方向、相鄰間隔、變化幅度的綜合信息,描述了在角度θ的方向上相距δ的灰度級為h和k的2個像素同時出現的聯合概率分布[7-8]。文中使用的玻璃缺陷的圖像灰度級為256,直接計算共生矩陣運算量會很大,所以本文在不影響紋理的前提下,首先將灰度級壓縮成為16個等級,因此灰度共生矩陣是一個16×16的方陣,為了減小由于像素點間距δ增大而增大造成的紋理信息丟失,取δ=1,同時選取0°,45°,90°,135°四個方向計算灰度共生矩陣。計算后的灰度共生矩陣數據量比較大,進一步使用它的統計量進行提取,最常用的統計量有:
(1) 反差或對稱對角線的慣性矩(CON):
CON=def∑h∑k(h-k)2mhk (4)
式中:mhk為在缺陷圖像中,兩個間距為1,灰度值分別為h和k的像素點對聯合出現的次數,即灰度共生距陣中的元素(下同),對于粗紋理,h-k值較小,所以CON也較小,反之,對細紋理,CON值較大。
(2) 角二階矩或稱能量(ASM):
ASM =def∑h∑km2hk (5)
當 M (Δx,Δy)對角線上的元素值較大時,即對粗紋理,ASM值較大;反之,ASM值較小。
(3) 熵(ENT):
ENT=def-∑h∑kmkhlog mhk (6)
當mhk的數值分布較均勻時,ENT值較大;當mhk的數值分布不均勻時,ENT值較小。
(4) 相關(COR):
COR=def∑h∑khkmhk-μxμyσxσy (7)
式中:μx,μy,σx,σy分別是mh,mk的均值與標準差,其中mh和mk可以由以下公式計算:
mh=∑k mhk,h=1,2,…,16
mk=∑h mhk,k=1,2,…,16(8)
相關特征COR描述 M (Δx,Δy)中行(或列)元素之間的相似程度,相關值的大小反應了圖像中局部灰度的相關性[9]。
計算出以上4個統計量之后,分別取平均值和標準差,總共8個紋理特征值。加上不變矩特征提取出的特征值,每幅圖像就提取出了15個特征值,它們可以共同作為BP神經網絡的輸入向量。
2 玻璃缺陷分類器的設計
本文在BP網絡設計階段采用3層網絡結構,即輸入層、隱層、輸出層。由于每幅圖像可以提取出15個特征向量,因此輸入向量就是15維的,即輸入層神經元個數是15。同時,為了使網絡誤差能夠收斂,對輸入向量進行了歸一化處理,歸一化后的數據分布在[-1,1]區間上。
由于網絡只存在一個隱含層,那么隱層神經元的數目可以根據Kolomogorov定理確定[10],由定理可知,如果隱含層數為1,那么隱層神經元個數為2n+1,n為神經元輸入個數,在此網絡中,隱含層神經元數為31。輸出層節點由圖像類別的數目確定,由于類別模式一共有5個,則最優輸出層神經網絡的數目為log2 5,取整后為3。根據缺陷樣本和網絡結構的特點,隱含層和輸出層的傳遞函數分別選擇雙曲正切S型函數和線性函數,為了提高網絡的學習速率,學習算法采用了BFGS擬牛頓算法[11]。
3 BP網絡訓練及識別結果分析
選取5種類型的缺陷圖像,結石、氣泡、夾雜、劃痕,無缺陷,每種缺陷類型挑選出6~8幅特征比較明顯的圖像,總共36幅作為訓練樣本集。再重新選取30幅玻璃缺陷圖像作為測試樣本集,以檢驗BP網絡的識別效果。
在文中,沒有對玻璃缺陷圖像的訓練樣本做任何處理,直接用特征提取進行計算,再將所有特征向量輸入BP網絡進行訓練,并設置均方誤差為0.001,經過68步迭代調整后輸出的均方誤差為0.000 987 283,小于目標誤差訓練結束。
最后,將文中的識別算法在Intel Pentium(R)雙核 2.5 GHz,內存1 GB的PC機上使用Matlab編程,對30幅測試樣本進行了識別,以檢驗分類器的性能。識別過程中,平均每幅像素為128×128的缺陷圖像的計算時間為90 ms,基本可以滿足玻璃缺陷在線監測的要求。
在對比試驗中,分別單獨使用不變矩和紋理特征法對測試樣本重新進行了類型識別,訓練樣本及測試樣本與上一實驗相同,在BP神經網絡的設計方面,除了相應改變輸入特征量的維數及隱層神經元的個數,其他的網絡參數設置均保持不變。在相同均方誤差精度條件下,矩特征和紋理特征的網絡迭代學習步數分別為473和224,相對于前一實驗,算法的收斂速度明顯下降。識別完成后,30個測試樣本的特征值及識別對比結果見表1,由于篇幅限制,本文僅列出了部分特征值。
表1 測試樣本部分特征值及不同特征提取方法的識別結果
缺陷類型
不變矩特征值
C 1 C 2 C 3C 4
紋理特征值
慣性矩平均值能量平均值熵平均值 相關平均值
識別結果
不變矩+紋理不變矩紋理
1結石6.65121.78628.89927.32 0.320 431.779 50.162 830.610 2 結石結石結石
2結石6.553 222.42527.33425.404 0.221 312.247 90.414 630.184 88 結石結石結石
3結石6.78720.38429.07926.019 0.461 811.550 80.275 30.226 57 結石結石結石
4結石6.13512.72330.53728.489 0.243 972.038 50.188 110.418 57 結石結石結石
5結石6.12412.69231.24728.449 0.501 151.481 90.282 110.278 88 結石結石結石
6氣泡6.737 328.22832.09131.4 0.867 060.351 120.085 575.673 6 氣泡 劃痕 氣泡
7氣泡6.520 321.12528.01230.246 0.309 592.0850.2960.225 27 氣泡氣泡氣泡
8氣泡6.74325.79134.21432.933 0.500 730.967 780.155 292.826 1 氣泡劃痕氣泡
9氣泡6.738 127.05433.37632.471 0.820 730.458 020.088 245.602 2 氣泡氣泡氣泡
10氣泡6.214 812.87733.21633.315 0.721 20.641 730.057 494.714 3 氣泡氣泡氣泡
11氣泡6.218 712.88333.93934.976 0.871 240.349 860.071 576.976 7夾雜 氣泡 夾雜
12夾雜6.19512.84636.76932.892 0.774 720.711 940.161 970.899 15 夾雜夾雜 氣泡
13夾雜6.163 412.78633.56131.732 0.718 060.890 610.153 450.686 78 夾雜夾雜夾雜
14夾雜6.723 226.34531.55333.064 0.807 30.572 520.164 82.301 8 夾雜夾雜夾雜
15夾雜6.736 522.28829.32228.649 0.374 031.4140.270 211.070 6氣泡氣泡氣泡
16夾雜6.168 612.79433.39731.564 0.719 710.890 720.155 810.679 44 夾雜夾雜 結石
17夾雜6.214 312.87836.05234.219 0.829 50.512 890.148 912.545 5 夾雜夾雜夾雜
18夾雜6.18412.82434.53532.95 0.857 440.507 730.131 710.881 67 夾雜 劃痕 夾雜
19劃痕6.739 325.04331.80132.712 0.378 221.264 60.343 71.040 4 劃痕 無缺陷夾雜
20劃痕6.735 926.64133.08432.87 0.612 440.785 320.185 691.8179 劃痕劃痕劃痕
21劃痕6.737 725.40130.94830.484 0.359 171.3090.308 151.479 4 劃痕劃痕劃痕
22劃痕6.213 512.87336.20336.213 0.828 40.426 980.086 531.850 7 劃痕 氣泡 劃痕
23劃痕6.19812.8432.08932.221 0.649 540.989 560.290 121.147 8無缺陷無缺陷無缺陷
24劃痕6.210 812.86837.86537.583 0.739 310.650 930.141 043.142 劃痕劃痕劃痕
25無缺陷6.220 412.88734.64134.241 0.990 560.033 500.004 695.963 1 無缺陷無缺陷無缺陷
26無缺陷6.222 612.89235.64835.311 0.966 890.099 900.0157 212.278 無缺陷無缺陷無缺陷
27無缺陷6.220 212.88735.06134.938 0.978 910.067 250.010 348.497 4 無缺陷無缺陷無缺陷
28無缺陷6.223 512.89236.49436.6 0.968 050.098 560.015 1213.29 無缺陷無缺陷無缺陷
29無缺陷6.219 612.88536.18936.189 0.988 350.040 690.005 6520.9 無缺陷無缺陷無缺陷
30無缺陷6.222 5712.89735.83835.493 0.826 620.040 9160.073 175.820 3 無缺陷無缺陷無缺陷
識別正確率 90% 76.7 80%
從表1可知,對于結石和無缺陷這2種類型的圖片,3種方法都能夠準確地進行識別,但是在剩余缺陷的圖片識別過程中,3種方法都出現了錯誤識別的情況,具體原因分析如下。
氣泡缺陷中殘留的是空氣,透射光在其邊緣發生折射,在中心發生反射。對應到灰度圖像中,缺陷邊緣的灰度值較高,中心區域的灰度值較低。對于氣泡的識別,矩特征以及紋理特征都出現了誤判,這是由于個別氣泡十分細小,外形類似于劃痕,缺陷特征不明顯,因此單獨采用矩特征識別會很容易將氣泡判斷為劃痕;紋理特征識別氣泡的效果要比矩特征好一些,但是,由于受到光源照射的影響,使缺陷局部的紋理和夾雜比較相似,也可能會引起誤判。綜合2種特征提取方法后,識別率明顯提高。
夾雜是紋理特征識別最容易發生誤判的一類缺陷,發生誤判的原因最有可能是夾雜物形狀的不確定性所導致,透射光線對夾雜物及質地不均勻的玻璃產生反射、折射,影響了特征值的變化,紋理特征識別對于夾雜類缺陷并不敏感。
劃痕是玻璃在某一位置連續或斷續出現的表面劃破傷痕,在灰度圖像上表現為低于背景的黑色直線或曲線,劃痕的深度有深有淺且灰度變化不均勻,因此對于不變矩特征識別,劃痕模糊的邊界增大了識別的難度;對于紋理特征,由于灰度變化的幅度較大,導致計算出的特征值可能會出現偏差,使BP網絡的權值和偏差增大,最終影響了識別率。
4 結 語
文章通過提取缺陷圖像的不變矩以及紋理特征值,并設計了相應的BP網絡分類器,對常見的玻璃缺陷進行了分類。實驗數據及結果表明:由于融合后的特征量兼顧了玻璃缺陷圖像的形狀特征和紋理特征,能更全面反應缺陷的本質,因此基于不變矩和紋理特征的BP網絡識別率高于單獨使用不變矩和紋理特征,且迭代步數 較少,運行效率高,訓練速度快,提高了計算效率,是一種可行而有效的玻璃缺陷識別方法。
另外BP網絡在進行訓練時,由于網絡的權值為隨機數,神經網絡的收斂狀態產生了微小變化,使每次訓練過程和識別結果略有不同,但這不影響其良好的識別效果。
參考文獻
[1]KALVIAINEN H, SAARINEN P, SALMELA, et al. Vi-sual inspection on paper by machine vision[J]. SPIE, 2003,5267:321-332.
[2]KNOPF G K, GUPTA MM. A multipurpose neural proce-ssor for machine vision systems[J]. IEEE Transactions on Neural Networks,1993,4(5):762-777.
[3]余文勇,周祖德,陳幼平.一種浮法玻璃全面缺陷在線檢測系統[J].華中科技大學學報:自然科學版,2007,35(8):1-4.
[4]周欣,鄧文怡,劉力雙.玻璃缺陷快速檢測分類研究[J].微計算機信息,2008,24(9):304-306.
[5]張媛,程萬勝,趙杰.不變矩法分類識別帶鋼表面的缺陷[J].光電工程,2008,35(7):91-92.
[6]SONG Z H, ZHAO B. Research on traffic number recognition based on neural network and invariant moments[C]//Proceeding of the Sixth International Conference on Machine Learning and Cybernetics. Hongkong:[ s.n.] , 2007: 11-18.
[7] BARALDI A, PARMIGGIAN F.An investigation of the texture characteristics associated with gray level co-occurrence Matrix Statistical Parameters[J].IEEE Transaction on Geoscience and Remote Sensing,1995,33(2): 293-303.
[8]龍鵬飛,賀亮,呂回,等.基于BEMD和灰度共生矩陣的圖像特征提取[J].計算機工程與應用,2009,45(16):201-203.
[9] 李金宗.模式識別導論[M].北京:高等教育出版社,1994.
[10]劉亦書,楊力華,孫倩.輪廓矩不變量機器在物體形識別中的應用[J].中國圖像圖形學報,2004,9(3):308-313.
[11]張永敢,蔡瑞英.基于BFGS算法的BP網絡在燒結終點預報中的應用[J].微計算機信息,2008,24(12): 291-292.