肖 紅,陳希球
(1.廣州松田職業(yè)學院信息技術系,廣東 廣州 511300;2.長江工程職業(yè)技術學院,湖北 武漢 430212)
傳統(tǒng)的機械加工零件表面缺陷檢測是由人工完成,人工檢測過程中會受到各種外界因素的影響,導致工作效率下降[1-2]。由于現階段的機械加工圖像十分復雜,對零件缺陷檢測和識別方面的技術仍然處于不斷完善的過程,并沒有和實際應用有效結合。為此,機械加工零件表面缺陷檢測已成為當前相關領域的熱門研究方向。
一些專家針對機械加工零件表面缺陷檢測進行了大量的研究,舒威等[3]首先采集大量的儲罐表面圖像,提取儲罐圖像表面的缺陷區(qū)域,將缺陷和無缺陷區(qū)域進行分割,最終實現缺陷檢測;周友行等[4]將直線導軌表面圖像進行轉換,得到導軌圖像對應的分量圖,采用主成分分析方法對各種分量圖像進行降維處理,同時構建混合灰度模型,借助PSO算法對相關系數進行加權處理,利用閾值分割實現缺陷檢測。
在上述2種方法的基礎上,提出一種基于圖像角點匹配的機械加工零件表面缺陷檢測方法。
角點信息[5-6]中不僅包含內容豐富的局部特征,同時還包含各種不同形狀的特征信息,被廣泛應用于圖像處理領域中,因此也出現了大量的檢測方法。以下主要通過CSS角點檢測算子進行角點匹配。
對于平面曲線l而言,需要對其進行平滑處理,即
l(u,σ)={X(u,σ),Y(u,σ)}
(1)
X(u,σ)和Y(u,σ)為高斯核函數;σ為尺度參數。
曲線l(u,σ)的曲率可以表示為
(2)
Xu(u,σ)和Yu(u,σ)為一階高斯函數;Xuu(u,σ)和Yuu(u,σ)為二階高斯函數。
利用式(2)能夠得到不同尺度下圖像的曲率變化情況,需要根據設定的閾值判斷角點是留下還是刪除。被留下的角點即為候選角點,需要根據尺度取值范圍依次進行角點定位。
基于CSS的角點檢測算法[7-8]操作步驟如下:
a.在原始機械加工零件圖像中提取Canny邊緣。
b.提取圖形邊緣輪廓,同時對縫隙進行填充。
c.選用尺度σhigh對輪廓曲線上的隨機曲率進行計算。
d.設定曲率大于閾值t的角點為候選角點。
e.在尺度較小的條件下對提取到的角點進行定位操作。
f.將不同類型的角點進行比較分析,刪除距離比較近的角點。
由于紅外成像原理比較復雜,經常會存在不同類型的噪聲以及低對比度點,所以需要將圖像的偽角點刪除,確保算法的穩(wěn)定性得到有效增強。
尺度空間圖像D(x,y,σ)在像素點D(x0,y0,σ)處的泰勒式展開形式為
(3)
?為鄰近曲率的取值;DT為候選角點;X為角點的矢量值。
對式(3)進行求導,同時將其取值設定為0,則能夠獲取極值點準確坐標位置的矢量值Xmax,即
(4)
為了刪除對比度取值比較低的點,需要將式(4)代入式(3)中,進而獲取極值的估計值,即
(5)
設定閾值為λ,假設D(Xmax)的絕對值高于設定閾值,則保留該角點,說明該角點具有較大的響應值,同時具有較強的抗干擾能力;反之,則將角點刪除。
在檢測出角點特征的基礎上,需要對不同的特征進行描述,同時還需要確保不同描述子具有旋轉不變特征。對于已經檢測到的特征點,主要通過特征點尺度σ獲取距離最近的高斯圖像L(x,y),即
L(x,y)=G(x,y,σ)?I(x,y)
(6)
I(x,y)為原始圖像。
針對高斯圖像在不同尺度下的像素點(x,y)而言,將梯度θ(x,y)和幅值m(x,y)設定為:
(7)
(8)
將特征點梯度矢量作為判定基礎,這樣能夠有效將圖像中包含的噪聲刪除[9-10],同時還能夠全面提升算法的穩(wěn)定性。根據特征點在圖像中的坐標和尺度空間,構建1個規(guī)格為64×64的窗口,還需要對窗口內不同角點的梯度信息進行計算。為了有效確保描述子的抗旋轉不變特性,需要利用特征點構建1個全新的鄰域坐標系,同時還能夠對相同區(qū)域的角點特征進行提取。
其中,特征描述子的詳細建立過程如下:
a.設定1個規(guī)格為64×64的矩形鄰域。
b.判斷鄰域中各個點的梯度方向,同時借助相關公式對其進行修正。
c.根據鄰域中各個點的梯度方向約束分區(qū)角度范圍,將矩形鄰域劃分為規(guī)格8×8的子鄰域。
d.將就近投影原則作為判定依據,分別對不同方向的角點進行分類處理。
e.對矩形鄰域內的全部窗口依次進行采樣,同時還需要對不同的函數進行加權處理[9-10]。
f.統(tǒng)計鄰域內的梯度,同時對其進行歸一化處理。
g.歸一化處理后的特征向量中值高于0.2,則需要進行截斷處理;反之,則需要再一次進行歸一化處理。
機械加工零件圖像角點匹配[11-12]流程如圖1所示。
圖1 機械加工零件圖像角點匹配流程
在計算特征點描述子的距離時,將歐氏距離設定為匹配依據,通過歐氏距離即可獲取2幅圖像的相似性度量方法,即
(9)
xi1和xi2分別為第1幅和第2幅圖像的像素點數量。
在上述操作的基礎上,通過雙向匹配算法對提取的角點信息進行匹配,最終實現機械加工零件圖像角點匹配[13-14]。
當得到信息更加完整的機械加工零件圖像后,采用一維直方圖的閾值分割對零件表面缺陷進行檢測[15]。圖像分割的實質就是對圖像像素進行分類的過程中,直方圖能夠十分直觀地表示零件圖像灰度分布的統(tǒng)計數據圖。
在圖像進行分割的過程中,缺陷圖像的灰度直方圖會有以下2方面的特征:
在機械加工零件表面出現腐蝕現象時,通?;叶葓D包含3個波峰,分別應用于背景信息、零件信息以及缺陷信息。閾值的選取需要獲取2個閾值,其中一個是背景信息,而另外一個是零件信息的分割閾值。
當機械加工零件表面存在缺陷或者無缺陷時,灰度直方圖會存在2個波峰,主要應用于背景信息和工具信息。
根據一維直方圖的閾值分割方法,可以獲取搜索工具圖像和模板工具圖像對應的灰度信息,進而獲取表面缺陷零件的缺陷信息和零件的完整信息。以下主要通過對比分析邊緣分析和像素點數,選取抗干擾能力強且計算方法過程簡單的方式對圖像進行分割。
通過分割的機械加工零件圖像計算搜索工具圖像和模板工具圖像兩者的像素點數,進而計算零件的缺陷程度,具體公式為
(10)
P為機械加工零件表面的缺陷程度;R為機械加工零件表面圖像缺陷區(qū)域部分像素點數量;H為機械加工零件表面圖像的像素點總數。
對于1幅機械加工零件圖像,需要借助熵來衡量圖像的灰度分布情況。設定圖像大小為M×N,采用f(x,y)代表像素點(x,y)的灰度值,則當灰度級為i的像素概率可以表示為
(11)
Ni為機械加工零件表面圖像中灰度級為i的像素點總數。
根據式(11)以及概率分布函數的相關定義,即可獲取完整機械加工零件圖像的概率分布函數F(i)為
(12)
設定機械加工零件圖像的分割閾值為T,根據T可以將目標圖像分割為目標區(qū)域和背景區(qū)域,實現機械加工零件表面缺陷檢測,即
(13)
H0(T)為目標區(qū)域;HB(T)為背景區(qū)域。
詳細的機械加工零件表面缺陷檢測流程如圖2所示。
圖2 機械加工零件表面缺陷檢測流程
為了驗證本文方法的有效性,重點從以下內容進行實驗測試。
為了驗證檢測性能的準確性,分別對2個規(guī)格和類型不同的機械加工零件進行缺陷檢測,具體實驗結果如圖3所示。
圖3 不同方法的機械加工零件表面缺陷檢測結果
分析圖3中的實驗結果可知,文獻[3]和文獻[4]這2種方法只能夠檢測到部分表面缺陷,說明檢測性能并不是十分理想。而本文方法能夠全方位檢測零件表面的缺陷,能夠滿足零件表面缺陷的精度需求。
為了進一步驗證本文方法的檢測性能,利用文獻[3]方法、文獻[4]方法和本文方法進行缺陷檢測,結果如表1和表2所示。
表1 不同方法的機械加工零件缺陷厚度測量結果
表2 不同方法的零件孔洞缺陷測量結果
分析表1和表2的實驗數據可知,采用本文方法能夠獲取更加精準的測量結果。這是因為本文方法在進行零件缺陷檢測前期,對圖像進行角點匹配,這樣能夠獲取更加完整的圖像信息,進而提升檢測結果的準確性。
3種方法對不同缺陷類型的機械加工零件檢測缺陷最大邊界距離測試結果如表3所示。
表3 不同方法的機械加工零件檢測缺陷最大邊界距離測試結果
分析表3中的實驗數據可知,本文方法的測量結果和真實值更加接近,更進一步驗證了本文方法的檢測性能。
針對傳統(tǒng)方法存在的一系列問題,設計并提出一種基于圖像角點匹配的機械加工零件表面缺陷檢測方法。和已有方法相比,本文方法具有較好的檢測性能,能夠準確檢測出機械加工零件表面缺陷。