摘 要: 研究對象為柱狀二極管,管體表面分布著白色文字和極性環。通過光學原理設計出能夠減弱反光、打亮側面的光學平臺。同時,從對象分割、特征提取和決策樹分類器三方面講述視覺軟件系統的設計流程:針對文字與缺陷ROI相混的情況,先利用筆畫寬度轉換(SWT)分割文字,剩下的連通ROI即是缺陷ROI;針對缺陷特征,提出平均灰度、環狀度、邊緣方向直方圖和LBP四項特征值;最后利用決策樹分類器對缺陷ROI進行分類,缺陷ROI識別率接近100%,缺陷ROI分類正確率達到92.3%,取到了較好的識別和分類效果。
關鍵詞: 機器視覺;筆畫寬度轉換;全局LBP紋理算子;決策樹學習分類器
0 引言
目前機器視覺的被測對象大都是平面結構,形狀和紋理的一致性很高。而對柱狀元件來說,表面紋理分布于四周,缺陷的空間位置、形狀特征和灰度特征的不確定性很大,而且可能出現不同缺陷混在一起的情況,增大了圖像分割和特征提取的難度。對于這種柱狀元件,目前只能檢測側面外形缺陷和少數紋理缺陷,若要進行完整檢測,需要增加相機的數量,成本很高。本文詳述了視覺系統主要部分的設計過程,從光學平臺設計和缺陷分割分類算法兩個方面提出創新,算法部分用MATLAB進行仿真驗證,完成外形和紋理缺陷的檢測任務。
1 系統方案
系統為實時在線監測,包括硬件系統和軟件系統,如圖1所示。硬件系統包括光學平臺[1]、傳送機構、傳感器和執行機構;軟件系統包括人機界面、串口通信、圖像處理及分類算法。
2 軟件系統
首先介紹研究對象及其缺陷類型。缺陷類型包括:管腳缺陷和管體缺陷。管腳缺陷多為外形缺陷,管體缺陷包括:(a)管體大小不一;(b)管體缺損;(c)文字缺失;(d)片狀印染;(e)色環缺失;(f)極性環寬度不一;(g)露白膠。圖2為對象整流二極管封裝DO-41外形尺寸。
(a)、(e)、(f)類缺陷在分割時通過外形特征就能判斷出缺陷類型,算法的難點在于(b)、(c)、(d)、(g)類缺陷。針對(b)、(c)、(d)、(g)類可能出現混在一起的情況,先對文字進行分割,留下來的連通區域就是(b)、(d)、(g)類;然后提?。╞)、(d)、(g)類的特征,實際分類時又將這三類分為管體正面缺損、側面缺損、片狀印染和露白膠4種類型;最后利用決策樹分類器對4種類型進行分類。下面是軟件系統中的主要算法。
2.1 文字分割算法
筆畫寬度轉換(Stroke Width Transform,SWT)最初在2010年由EPSHTEIN B提出并應用于場景文字檢測[2],作者通過SWT對文字進行分割。本課題中,因二極管背景簡單,字符筆畫寬度固定,故查全率接近100%,而且可以去除邊緣彌散光造成的影響。
SWT的核心思想是:先對圖像做Canny檢測,如圖3所示,其中,M、N是邊緣上的點;然后求點M處梯度的單位方向向量dM,dM大約垂直于筆畫邊緣。
以點M為起點,以dM為方向做射線,即射線r=M+n.dM,n>0,射線終點為另外一個邊緣點B,其梯度方向為dB,如果dB與dM方向相反、大小相近,則將點M、B看做有效邊緣點,并將線段MB上所有像素點灰度值賦值為像素點M和點B間的像素個數,即筆畫寬度(SW)。如果沒有找到像素點B或者dB與dM不滿足要求,則放棄該射線。最后對圖像中所有像素點SW比率小于3的SW進行歸類。
實際測試中發現在拐角處容易出現SW缺失的情況,針對這種情況進行了改進,以點M為例,以M為原點,以dM和tan(arctan(dM)±π/4)(dM為dM斜率)為方向做三條射線,分別交另一條邊緣線于點B、A和C,其他操作與未改進SWT相同,效果展示見第3節。
2.2 外形特征提取
側面缺損和露白膠均為高灰度紋理,兩者區別在于輪廓特征和邊緣特征,用環狀度表述輪廓特征,用空間邊緣方向直方圖表述邊緣特征。下面是兩個特征算子的介紹。
空間邊緣方向直方圖能夠較好地描述圖像的邊緣信息??臻g邊緣方向直方圖特征與環狀度特征結合在一起,利用最近鄰法可以對露白膠和側面缺損兩種缺陷有效分類。
2.3 紋理特征提取
LBP是基于局部特征的紋理算子,現以(P,R)=(8,1)為例說明(如圖4所示):以中心灰度值為gc的像素為原點,采樣半徑為R作圓,P為鄰域內的像素個數,鄰域內像素點為g(i),1≤i≤8,通過式(1)和式(2)得到中心像素的LBP值,以LBP(P,R)的直方圖統計作為特征值,共256維。簡化分類器,取PCA降維后的前4個主分量為特征值。
LBP還有很多改進能更好地提取對象特征,包括旋轉不變模式LBPROT[5]、均值模式Uniform LBP[6]、CLBP[7]等。考慮到紋理具有方向性和算法效率,使用經典的LBP算子。
2.4 決策樹分類器設計
決策樹由一個根節點、一系列內部節點、分支和葉節點組成。在機器學習中,決策樹代表的是對象屬性與對象值之間的一種映射關系。樹中的每個節點表示某個對象,而每個分叉樹則代表某個可能的屬性值,每個葉節點代表一個類別,即圖像的分類結果[8]。
按特征二次劃分后的決策樹如圖5所示,共用到LBP、平均灰度、環狀度和空間邊緣方向直方圖4項特征,其中兩個為直方圖特征和兩個為變量特征。這種決策樹學習將所有特征做成摘要形式,融進層級思想,能更準確地對數據集進行分類。
3 算法仿真驗證
本節將展示系統仿真過程中的數據和結果,包括圖像分割、特征提取和決策樹分類。下面是缺陷輪廓的分割過程。
基于SWT的缺陷分割過程如圖6所示。觀察圖6中的缺損紋理和印染紋理,兩者灰度值相近,區別在于灰度的局部平整性。
利用決策樹分類器對2.4節所述的4項特征進行分類,即利用平均灰度值區分高灰度ROI和低灰度ROI;利用BP神經網絡對低灰度ROI進行訓練并分為正面缺損和印染缺陷兩類;利用最近鄰分類法對露白膠和側面缺損進行分類。表1為決策樹分類結果。
從缺陷ROI識別率的角度來看,在光學平臺設置合理的情況下,缺陷ROI均被打亮,缺陷的識別率接近100%。從缺陷ROI分類正確率來看,第三個節點分類正確率為90.7%,其他節點的分類均達到了很高的準確率,缺陷ROI的整體分類正確率為92.3%。
4 結論
工業機器視覺中的缺陷檢測和視覺定位一般都是針對一致性很高的產品且背景單一,但是隨著自動化程度的進一步提高,對視覺系統的適應性提出了更高的要求,需要更多優秀的特征算子和基于機器學習的強分類器,以保證系統對復雜對象有一個更全面和智能的學習和認識。在本系統設計中,一開始用SWT分割文字,丟失了缺陷區域的很多邊緣信息,而這些邊緣信息是人眼視覺發現缺陷的重要特征,問題是這些邊緣信息很雜亂,不同缺陷邊緣還可能互相交錯,提取難度較大,對于特征提取來說,還有很多需要深入研究的地方。
參考文獻
[1] STEGER C, ULRICH M, WIEDEMANN C.機器視覺算法與應用[M].楊少榮,吳迪靖,段德山,譯.北京:清華大學出版社,2008.
[2] EPSHTEIN B, OFEK E, WEXLER Y. Detecting text in natural scenes with stroke width transform[C]. CVPR, 2010:2963-2970.
[3] 張國翊,胡錚,徐婷.基于特征提取的缺陷圖像分類方法[J].北京工業大學學報,2010(4):450-457.
[4] 王新紅,王晶,田敏,等.基于空間邊緣方向直方圖的Mean Shift跟蹤算法[J].中國圖象圖形學報,2008,13(3):586-592.
[5] OJALA T, PIETIKA?魪NEN M. Multiresolution gray-scale and rotation invariant texture classification with local binary patterns[J]. IEEE Transaction on Pattern Analysis and Machine Intelligence, 2002,24(7):971-987.
[6] Zhao Guoying. Rotation-invariant image and video description with local binary pattern features[J]. IEEE Transaction on Image Process, 2012,21(4):1465-1477.
[7] Guo Zhenhua, Zhang Lei, ZHANG D. A completed modeling of local binary pattern operator for texture classification[J]. IEEE Transactions on Image Process, 2010,19(6): 1657-1663.
[8] 潘琛,杜培軍,張海榮.決策樹分類法及其在遙感圖像處理中的應用[J].測繪科學,2008(1):208-211.