田國富,馬書新,高峰
(沈陽工業大學 機械工程學院,遼寧 沈陽 110870)
摘要:提出了一種基于圖像處理的玻璃缺陷實時檢測系統。闡述了系統的基本原理和結構,著重研究了系統的核心技術:中值濾波、圖像分割、邊緣檢測、缺陷定位、參數計算與缺陷識別。實驗結果表明,該系統的檢測識別率高,達到95%;速度快,處理周期約350 ms;抗干擾能力強,基本能夠實現鋼化玻璃缺陷的在線檢測要求。
關鍵詞:玻璃缺陷;實時檢測;圖像處理;BP神經網絡
0引言
現在的玻璃缺陷檢測系統主要是利用人工檢測、激光檢測和摩爾干涉定理的方法。人工檢測容易帶來主觀誤差,激光檢測易受干擾,摩爾干涉定理檢測往往占用大量的檢測時間,不能適應自動化生產線。將圖像測量技術應用于玻璃的非接觸測量,可以避免主觀誤差,提高檢測效率[1]。
1系統概述
1.1系統的整體結構
圖1所示為玻璃缺陷實時檢測系統的基本結構,主要包括:LED光源、CCD陣列攝像機、圖像處理單元、顯示器、通信/輸入輸出單元等。
圖1實時檢測系統結構示意圖玻璃原板的檢測幅面較大,檢測精度和效率要求較高,故系統采用C/S網絡化分布的并行處理方式[2]。如圖2所示,使用柯拉光路透鏡組以獲取均勻穩定的視場強度,使用遮光罩避免了外部光的干擾。
1.2系統的基本原理
圖3為實時檢測原理示意圖,光源背面垂直照射玻璃,由攝像機組拍攝圖像,傳輸到計算機中,由軟件進行圖像分析,提取缺陷的位置,特征參數及判別類型,并通過局域以太網發送至總服務器 [3]。
2玻璃圖像的精確測量
在光源照射下,玻璃缺陷的圖像顯示是非常明顯的,這就為圖像檢測奠定了基礎。圖4所示為缺陷的圖像檢測算法步驟[4]。
2.1圖像去噪
采用了一種改進的自適應中值濾波算法 [5],其過程如下:假設玻璃圖像大小為m×n,T的初值為玻璃圖像總像素的一半,即T=mn/2。
(1)窗口回復缺省值,對新開始的內容排序并建立直方圖,確定其值P,同時記下亮度Pi不大于P的像素數目Q。
(2)因最左列亮度PL的每個像素為P,且H[PL] =H[PL]-1。則H[PL]即為直方圖最左列亮度的像素數。
(3)將窗口右移1列,因最右列亮度PR的每個像素為P,且H[PR]=H[PR]+1。如果PR<P,則置Q=Q+1。
(4)若Q>T則轉步驟(5)。重復Q=Q+H[P], P=P+1;直到Q≥T,則轉步驟(6)。
(5)重復P=P-1,Q=Q-H[P],直到Q≤T。
(6)如果窗口的右側列不是玻璃圖像的右邊界,則轉步驟(2)。
(7)如果窗口的底行不是玻璃圖像的下邊界,則轉步驟(1)。
2.2閾值分割
提出了一種復合型閾值分割算法。
2.2.1基于自跟蹤的閾值曲面分割方法[6]
在檢測前采集一無缺陷玻璃圖像,將其灰度分布曲面作為初始曲面f0(x,y)。假設圖像為m×n, R(x,y)為實時圖像,G為平均灰度差變化:
以G為修正值對f0(x,y)修正,得到新的閾值曲面T(x,y),有
T(x,y)=f0(x,y)+G(2)
為了保證分割時缺陷的特征,必須保持各像素間的灰度關系,因此采用式(3)所示的向下分割[7]:
2.2.2自適應閾值分割[8]
整幅圖像總像素像素的灰度值比閾值T小的像素個數記作N1,比閾值T大的像素個數記作N2,則目標像素點數在整幅圖像中所占比例為C1=N1M×N,平均灰度為U1,背景像素點數在整幅圖像中所占比例為C2=N2M×N,平均灰度為U2。其中N1+N2=M×N, U1+U2=1。則圖像的加權平均灰度值U與類間方差g分別為:
U=C1×U1+C2×U2(4)
g=C1×(U-U1)2+C2×(U-U2)2(5)
當g最大時,目標與背景的對比度最大,可用遍歷法得到對應的最大最佳閾值T,然后進行圖像二值化分割。
2.3圖像邊緣檢測
本文采用了一種二階段逼近式亞像素邊緣檢測算法。
2.3.1圖像邊緣粗定位
Sobel算子能確定邊緣點的位置和方向,對噪聲具有平滑作用,所以在邊緣粗定位時選用Sobel算子[8]。給定閾值T,根據圖5可知,若像素f(x,y)附近存在邊緣時,梯度值S(x, y)需要滿足以下關系:
S(x,y)≥S(x+1,y)>S(x+2,y),
S(x,y)≥S(x-1,y)>S(x-2,y),S(x,y)>T
(x,y-2)(x,y-1)(x-2,y)(x-1,y)(x, y)(x+1,y)(x+2,y)(x,y+1)(x,y+2)
2.3.2圖像邊緣精定位
選取5個像素點,橫坐標x代表像素值,其取值分別設為-2、-1、0、1、2,其縱坐標y代表各點對應的灰度值,依據施密特正交化法得到正交基,如式(6)所示:
則灰度分布擬合表達式為:
F5(x)=a0×G0(x)+a1×G1(x)+a2×G2(x)
+a3×G3(x)+a4×G4(x)+a5×G5(x)(7)
根據最小二乘法原理有:
根據函數的極值求解條件,求解的x即是亞像素點的位置。
2.4缺陷區域定位
在同一實驗環境下,分別采用8鄰域搜索算法及RLE算法對同一幅8 000×6 000的含缺陷的灰度圖像進行處理,記錄時間運算周期,結果如表1所示[9]。
2.5缺陷特征參數提取[10]
本文提取如下4種特征參數作為區分缺陷類型的指標: 缺陷核心面積、缺陷目標的伸長度、周長和圓形度。
(1)面積A定義為區域內所包圍的像素點數。計算方法是掃描整幅圖像,統計目標邊界及內部的全部像素數,公式為:
(2)伸長度Q可以把細長目標和近似圓形或方形目標區分開來,公式為:
Q=DL/A(13)
其中,A為缺陷區域面積,D與L分別為目標寬度和長度。
(3)周長Z即區域邊界的長度。假設每個點是面積為1的一個小方塊,對圖像邊緣做出標記,累計所標記的像素總數,即為周長。標記方法如下:
①定義一個二維數組h(i, j)=1,其中(i, j)是值為 1的點的坐標。
②對整幅圖像從上到下掃描,比較相鄰兩點的值,若值為1和0,則令h1(i, j)=1,記錄滿足條件的像素數目Z1;再從左到右掃描,比較相鄰兩點的值,若值為1和0,則令h2(i, j)=1,記錄像素數目Z2。
③計算Z=Z1+Z2,Z為區域邊界的周長。
(4)圓形度O主要用來區分圓形或橢圓形缺陷(氣泡等)及細長狀缺陷(裂紋或異物摻雜等),可用式(14)求解:
O=A/Z2(14)
2.6缺陷類型識別
2.6.1缺陷類型識別原理
若當均勻光垂直入射沒有雜質的玻璃時,出射光的強度也是均勻的,方向也不會發生改變,如圖6(a)所示;若遇到光透射型缺陷,光線在缺陷位置發生折射,相機靶面上探測到的光相應增強,如圖6(b)所示;若遇到光吸收型雜質,則該缺陷位置的光會變弱,相機靶面上探測到的光比周圍的光要弱,如圖6(c)所示[10]。
2.6.2缺陷類型識別方法
考慮到玻璃缺陷分類的多類性和非線性,系統采用三層BP算法的神經網絡識別缺陷。缺陷識別流程如圖7所示。隱含層節點數取7,激活函數為sigmoid函數,將雜質特征參數作為網絡輸入,網絡輸出為雜質類型,在誤差反饋時采用動量項和自適應學習速度的方法改進網絡訓練[11]。
實驗證明,在誤差范圍達到0.002時,缺陷識別率在95%,對大于0.4 mm的缺陷分類準確率達92%,滿足了浮法玻璃缺陷在線分類的要求。
3實驗數據與誤差分析
系統每處理一幀6 140×2 000的圖像時間為350 ms,以縱向0.2 mm/pixel的分辨率計算, 30 m/min的速度對應采集每幀的時間為540 ms>350 ms,算法很好地滿足了缺陷在線檢測的實時性要求。
圖8玻璃缺陷對圖8所示兩種缺陷圖像進行實時處理,計算區域特征參數并進行識別分類,數據如表2所示,可以看出,算法具有較高的識別正確率和分類準確率。
4結論
針對鋼化玻璃生產企業的需求,采用視覺檢測方法,實現了玻璃缺陷快速定位、計算和類型識別,缺陷識別率在95%以上,分類準確率達92%。儀器的連續性好,抗干擾能力強,在應對鋼化玻璃的自爆問題上可以發揮很大作用。
參考文獻
[1] 石兵華,金永,王召巴.基于數字光柵投影的浮法玻璃缺陷檢測方法研究[J]. 光電子.激光, 2014,25(3):521525.
[2] 王飛,崔鳳奎,劉建亭,等.一種平板玻璃缺陷在線檢測系統的研究[J].應用光學, 2010,31(1):9599.
[3] 趙漣漪,許寶杰,童亮. 玻璃缺陷在線檢測系統的研究[J].北京信息科技大學學報(自然科學版),2011,26(4):5761.
[4] 楊繼亮,金永,王召巴.基于線陣CCD的玻璃缺陷檢測系統研究[J].傳感器與微系統,2011,30(11):2527.
[5] 周欣,鄧文怡,劉力雙. 玻璃缺陷快速檢測分類研究[J]. 微計算機信息, 2008,28(27):304305,20.
[6] 楊杰,盧盛林,趙曉芳. 機器視覺在鋼化玻璃缺陷檢測中的應用研究[J].計算機技術與發展, 2013,23(3):211214.
[7] 趙健,高軍,羅超,等.基于數字圖像處理的玻璃缺陷在線檢測系統[J].電子技術應用, 2013,39(12):9092.
[8] 田國富,高峰. 一種圖像亞像素邊緣檢測算法的改進研究[J]. 微型機與應用, 2015,34(21):4042.
[9] 余文勇,周祖德,陳幼平. 一種浮法玻璃全面缺陷在線檢測系統[J]. 華中科技大學學報(自然科學版),2007,35(8):14.
[10] 劉懷廣,陳幼平,謝經明,等. 浮法玻璃缺陷在線識別技術的研究[J]. 小型微型計算機系統, 2011,38(4):738742.
[11] 吳丹. 玻璃缺陷識別算法研究[J]. 現代工業經濟和信息化,2015,5(2):7273.