吳煥新 岳曉峰 秦偉洋 張鵬飛
(長春工業大學 長春 130012)
紋理缺陷特征提取主要分兩步進行:首先去除表面紋理,然后提取表面缺陷。
在紋理去除方面,張等設計一種各向異性的背景紋理抑制算子,相同方向的紋理起到最大的互相抑制作用,方向相互正交的紋理不起抑制作用[1~4];Poesio用局部walsh譜LWS分割紋理和缺陷細節[5~8];Karthik R用多頻帶濾波使目標物凸顯出來,進而利用閾值分割方法獲得圖像目標物邊界的紋理分割方法[9~11]。這些方法在抑制或去除紋理時難以確定具體的抑制度或閾值,容易造成紋理去除未盡或者缺陷細節損失較多等問題。
在缺陷特征提取方面[12~16],主要是用缺陷特征參數表示法,經過對圖像分割后,通過計算圖像的幾何或者灰度特征參數來確定缺陷類型,但由于預處理效果的不確定性以及缺陷自身的模糊性,很容易造成誤檢或漏檢。
小波變換具有良好的時域和頻域的局域性,能對圖像進行多尺度多方向分析。但對于二維圖像的邊緣如各種曲線等高維奇異性則難以表達。2代Curvelet變換[17]作為在小波變換非線性拓展上的改進,具有更強的稀疏性,能更充分地表達方向細節信息,將其用于紋理缺陷圖像的分解,有望得到好的結果。灰度共生矩陣在對角線方向對于反映圖像紋理分布特點特別重要,將其與Curvelet變換相結合,能找出紋理特征所對應的高頻分量,據此來去除紋理。
核主成分分析[18]作為一種有效的非線性特征提取方法應用很廣泛。尤其對于劃痕、麻點等細微缺陷,能篩選出實現分類性能最大化的最小特征子集,以降低數據采集的難度和干擾噪聲,但在其核參數的選擇上大都根據經驗來確定,影響了特征提取和降維效果。
基于上述分析,本文提出了一種2代Curvelet變換、灰度共生矩陣和二階振蕩粒子群優化的核主成分分析的紋理缺陷特征提取算法。首先,對紋理缺陷圖像進行2代Curvelet分解,分解為低頻分量和不同尺度和方向上的高頻分量,既降低了訓練樣本數據的大小,減小了運算量,又使缺陷信息表達更加明顯,便于識別。紋理圖像的灰度共生矩陣在對角線方向更加敏感。根據特征值大小確定紋理特征所對應的高頻分量部分,并予以舍棄。再通過二階振蕩粒子群優化核主成分分析的核參數,利用優化后的核主成分分析對分解去除紋理高頻分量后的缺陷樣本特征降維,并提取特征信息。在識別缺陷時,通過相似度函數計算每個訓練樣本特征向量與測試樣本特征向量之間的相似度,根據相似度值大小確定測試樣本缺陷類型。
定義在二維空間中,x為空間位置參量,ω為頻域參量,r和θ為頻域下的極坐標。1代Curvelet變換定義為

2代Curvelet變換與1代Curvelet變換具有完全不同的構造。在笛卡爾坐標系下,對函數進行FFT變換得到

在每一個尺度j和每一個方向l上得到乘積

圍繞原點局部化 f得到

灰度共生矩陣用于統計處于同樣位置關系的一對像素灰度的相關性,能夠有效反映圖像關于方向、相鄰間隔、變化幅度的綜合信息。灰度共生矩陣在對角線方向對于反映圖像紋理分布特點特別重要,故本文采用對角線方向的位置算子來計算共生矩陣。共生矩陣的描繪子如下:
元素差異的k階矩:

逆元素差異的k階矩:

角二階矩:

熵:

本文對上述四個特征進行加權線性求和,以此作為灰度共生矩陣的特征值。

從表1結果可以看出,紋理特征所對應的高頻分量的特征值明顯高于其它分量,易于從其它高頻分量中分離出來,以達到去除紋理的目的。
由于原始粒子群算法主要依靠粒子間的協作,粒子本身并沒有像遺傳算法那樣的變異機制,容易受局部極值約束從而陷入局部最優解,無法尋找到全局最優解。為了克服上述缺陷,本文采用了二階振蕩粒子群優化算法,其主要思想是將粒子速度的更新用位置的改變來描述,并且引入了振蕩環節,這樣可以提高粒子群的多樣性,改善全局的收斂性。
假設在N維空間中,粒子在空間中的位置和速度 矢 量 分 別 為 Xi=(x1,x2,…,xn) ,Vi=(v1,v2,…,vn),粒子i的位置和速度可以分別表示為xi、vi,粒子i當前的最優位置和全局最優位置分別為Mbesti、Nbesti。
將粒子速度的更新引入二階振蕩環節后,其速度的更新公式為

ξ1、ξ2為隨機數,在算法前期為了提高粒子群的搜索能力,取階振蕩使粒子下一部運動矢量指向較優的位置,在算法后期,取,通過增強局部搜索能力,使算法逐漸趨于收斂。
核主成分分析是對主成分分析的非線性擴展。假設yj( )
j=1,2,…,l 是L個紋理缺陷的訓練樣本。
設非線性映射為Φ:x→f,則?()yj是由 yj通過非線性映射函數Φ映射到特征空間而得到。假設映射已經滿足中心化條件,則特征空間中的協方差矩陣為

因此,特征空間中的特征方程為

λk(k =1,2,…,l) 和 vk(k =1,2,…,l) 分別為矩陣C的特征值和特征向量,存在參數向量?k(k =1,2,…,l) 滿足:

定義一個l×l的核矩陣K,

其中K( )ym,yn為核函數,由式(11)、(12)、(13)、(14)得:

經過變換,核矩陣

此時,

故測試樣本y在特征空間上的投影為

若考慮前n個貢獻率達到90%以上的主成分以及對應的權重因子,則綜合評價函數為


由于對紋理缺陷特征的提取和降維效果受核參數的影響較大,故用二階振蕩粒子群算法選取上述的核參數a、b、c,具體步驟如下:
第一步:設定粒子數為20,自身的學習因子和全局的學習因子均為2,權重因子為0.5,迭代次數為500,問題維數為2。經過大量試驗發現,初始化中代表a,b,c的粒子的速度在[-0.15,0.15]之間,搜索位置分別為(0,1.5),(2,3),(1,2)。
第二步:用綜合評價函數F的式(19)計算每個粒子的適應值,將第i個粒子的Mbesti設置為其當前最優位置,將Nbest設置為種群最優粒子位置。
第三步:根據式(10)更新粒子位置和速度。
第四步:若達到了局部收斂,計算二階振蕩優化后的粒子的適應值,并與粒子的個體極值和全局極值作比較,保留最優解。
第五步:若達到預設的最大迭代次數,輸出全局的最優解。得到a、b、c的最優解后,將其帶入式(20)核參數多項式,完成核主成分分析。否則,跳轉至第三步。
設定紋理缺陷樣本核函數多項式:
基于2代Curvelet變換、灰度共生矩陣和二階振蕩粒子群優化的核主成分分析提取缺陷特征的算法如下:
1)訓練紋理缺陷樣本。利用2代Curvelet變換對紋理缺陷圖像進行多尺度分解,分解層數為3。對于每一幅紋理缺陷圖像y,第一層為低頻分量y(1,1),代表的是紋理缺陷圖像的背景;第二層為兩個高頻分量y(1,2,1)、y(1,2,2);第三層為四個高頻分量y(1,3,1)、y(1,3,2)、y(1,3,3)、y(1,3,4)。高頻分量主要是反映了缺陷的細節、紋理特征以及部分噪聲等信息。
2)紋理缺陷樣本去紋理化。對每個高頻分量用對角線方向的位置算子計算灰度共生矩陣,并求出其特征值。紋理圖像在對角線方向對應的共生矩陣特征值較高,以劃痕和凹坑缺陷為例,從表1可以看出,對于具有劃痕缺陷的紋理圖像,紋理特征主要集中在高頻分量y(1,3,3)、y(1,3,4);而對于凹坑缺陷紋理圖像,紋理特征包含于高頻分量y(1,3,2)、y(1,3,4)。故在提取缺陷特征時把反映紋理特征的高頻分量予以舍棄。

表1 不同尺度高頻分量在對角線方向的灰度共生矩陣特征值
對于不同的缺陷,不同尺度和方向下包含的信息對于缺陷識別的貢獻不同。例如對于劃痕和凹坑這兩種缺陷,在舍棄掉紋理特征高頻分量后,不同尺度方向上的特征對于缺陷的識別有不同的影響,如表2所示。

表2 不同尺度方向的高頻分量對于缺陷樣本識別的影響
3)二階振蕩粒子群優化的核主成分分析特征提取。首先,利用二階振蕩粒子群算法優化核參數a、b、c,再利用優化后的核主成分分析提取缺陷特征,參數c為主成分貢獻率大于90%的值。例如,選取劃痕缺陷樣本3個作為輸入訓練樣本,每個樣本的像素大小為160×320,提取出來的特征大小為6×3,每個樣本用三個主成分表示。劃痕訓練樣本如圖1所示,經過特征提取后,圖1(a)特征可以用一個向量表示M=[11.4,-25.12,43.17]。

圖1 劃痕訓練樣本
4)對紋理缺陷樣本測試圖像進行2代Curvelet變換,去除包含紋理特征高頻分量之后,將剩余高頻分量映射到特征空間,得到1×3的特征向量。通過相似性函數計算測試樣本特征和每個訓練樣本特征之間的相似度,相似度最大的訓練樣本缺陷類型即為測試樣本類型,如表3所示。

表3 測試樣本的識別
為驗證本文算法的適用性,本文采用配置為Intel(R)Core i7,4G內存計算機,分辨率為744×480的IMAGINGSOURCE相機,鏡頭為50mm長焦鏡頭,對一塊具有紋理的鋁合金板進行處理。并與無紋理去除的核主成分分析特征提取法、經本文紋理去除算法后的基于小波變換的核主成分分析法進行對比實驗。文中一共選取了劃痕、凹坑、斑點和沙眼這四類細微缺陷進行實驗,采集了共計360幅缺陷圖像,其中訓練樣本200幅,劃痕、凹坑、斑點、沙眼分別為60、50、50、40幅,另160幅圖像作為測試樣本驗證算法的適用性。
經過大量試驗,對于劃痕、凹坑、斑點和沙眼這四類缺陷特征中,貢獻率最大的高頻分量依次為y(1,2,2)、y(1,3,1)、y(1,2,1)、y(1,3,2)。利用本文提出的方法對缺陷圖像的特征進行識別并與無紋理去除的核主成分分析特征提取法(KPCA)和經本文紋理去除算法后的基于小波變換的核主成分分析法(WKPCA)進行比較。這三種方法的第1主成分貢獻率和缺陷識別情況分別如表4所示。
從表4中可以看出,核函數的參數經過二階振蕩粒子群優化后,樣本缺陷特征的第一主成分貢獻率比不優化直接用核函數分析提取特征(KPCA)時提高了4%左右,改善了特征提取效果。在缺陷特征正確率方面,本文算法明顯高于前面兩者,因為一方面經過2代Curvelet變換后,舍棄了包含紋理特征的高頻分量,避免了紋理對缺陷識別的干擾,而且保留了反映缺陷主要細節的高頻分量,而小波變換雖然也可以進行分解,但無法充分表達方向細節信息制約了特征提取完整性。另一方面核參數經過二階振蕩粒子群優化后,識別率明顯提高。

表4 四種缺陷識別情況及第1主成分貢獻率
1)本文給出了用二階振蕩粒子群優化核主成分分析的算法。該算法可以明顯提高樣本缺陷第1主成分的貢獻率,有效改善了缺陷特征提取效果。
2)提出了一種基于2代Curvelet變換和二階振蕩粒子群優化核主成分分析的提取缺陷特征的算法,利用2代Curvelet變換把樣本特征分解為不同尺度和方向的高頻分量,利用對角線方向的位置算子求解灰度共生矩陣的特征值,確定了紋理特征所對應的高頻分量,并予以舍棄。利用二階振蕩粒子群優化的核主成分分析提取的缺陷訓練樣本和測試樣本的特征可靠。
3)與無紋理去除的核主成分分析方法和經本文紋理去除算法后的基于小波變換的核主成分分析方法相比,本文所提出的算法核參數選擇更精確,樣本缺陷特征識別率更高。