陳 滔, 張慶國, 劉 澳
(1.安徽農(nóng)業(yè)大學(xué) 工學(xué)院, 安徽 合肥 230036; 2.甘肅政法大學(xué) 民商經(jīng)濟法學(xué)院, 甘肅 蘭州 720070;3.安徽醫(yī)科大學(xué) 臨床醫(yī)學(xué)院, 安徽 合肥 230031; 4.安徽農(nóng)業(yè)大學(xué) 信息與計算機學(xué)院, 安徽 合肥 230036)
焊接是一個具有極大不確定性、受諸多影響的過程。由于各種復(fù)雜因素的影響,導(dǎo)致焊接缺陷的位置、大小、形狀和方向等具有極大的不確定性。目前,在焊接缺陷檢測方面,常用的檢測方法主要有目視檢測法、射線檢測法、超聲波檢測法、磁通檢測法[1]。目視檢測是最為傳統(tǒng)和常用的檢測方法,憑借一些常規(guī)的檢測工具如量尺和放大鏡等,依靠工作人員的肉眼和工作經(jīng)驗來判斷產(chǎn)品質(zhì)量是否合格,這種檢測方式操作簡單、靈活性強,但太依賴于勞動者[2]。射線檢測除非在一個封閉的范圍內(nèi),否則長期下去將會危害工作人員的身體健康,并且封閉空間的造價十分昂貴,不適合現(xiàn)場缺陷檢測。超聲波檢測靈敏度高、速度快,但對環(huán)境要求很高,實際生產(chǎn)現(xiàn)場受到各種噪聲影響,使得超聲波檢測難以達到要求。磁通檢測是通過電磁來實現(xiàn)缺陷檢測,雖然有一定的優(yōu)越性,但對生產(chǎn)現(xiàn)場造成的電磁污染將會很大,不利于綠色生產(chǎn)和環(huán)保[3]。
機器視覺檢測是近年來比較熱門的一種檢測方式,能夠有效降低生產(chǎn)成本,提高產(chǎn)品生產(chǎn)效率,保證產(chǎn)品的質(zhì)量。高頂?shù)萚4]提出了一種基于粗糙模糊-神經(jīng)網(wǎng)絡(luò)的缺陷識別算法,充分利用了粗糙集的屬性約簡、模糊集的處理不精確數(shù)據(jù),以及神經(jīng)網(wǎng)絡(luò)的自學(xué)習(xí)、對任意函數(shù)逼近的優(yōu)點,有效地提高了焊縫圖像的缺陷識別能力。郭文明等[5]為了實現(xiàn)X-射線圖片的焊接缺陷檢測,采用基于目標(biāo)檢測領(lǐng)域的Faster R-CNN的目標(biāo)檢測方法,為實現(xiàn)焊接缺陷的自動識別和定位進行了實驗性的嘗試。
本文基于計算機識別技術(shù),借助灰度共生矩陣?yán)碚?,分析共生矩陣各個構(gòu)造參數(shù)對構(gòu)造共生矩陣的影響,實現(xiàn)對X-射線焊接缺陷圖像的紋理特征的提取,基于特征提取結(jié)果,對比不同核函數(shù)對焊接缺陷分類的影響,尋求一個最優(yōu)的SVM焊接缺陷識別分類方案。
X-射線焊接缺陷圖像檢測識別流程如圖1所示。以X-射線的焊接缺陷為研究對象,通過灰度共生矩陣?yán)碚搶附尤毕輬D像進行紋理特征的提取,然后以SVM算法作為核心,對焊接圖像的特征提取及其分類深入研究。建立灰度共生矩陣模型,對灰度共生矩陣的二階矩、對比度和相關(guān)度等參數(shù)進行分析,通過實驗驗證了紋理特征提取的有效性。同時,分析不同核函數(shù)對SVM分類效果的影響,通過對比原始圖像和特征圖像的分類結(jié)果,驗證對X-射線焊接缺陷圖像進行紋理特征提取后進行SVM分類的可行性和優(yōu)良性。
圖1 X-射線焊接缺陷圖像檢測識別流程
灰度共生矩陣能夠提取出焊接缺陷圖像關(guān)于方向、局部紋理排列規(guī)律、紋理變化規(guī)則等綜合信息[6-10]。為了更直觀地利用灰度共生矩陣描述焊接缺陷的紋理特征,通常情況下不直接應(yīng)用計算得到共生矩陣,而是基于該矩陣進行統(tǒng)計計算提取相應(yīng)的統(tǒng)計特征。Haralick[11]定義了和平均、和方差、對比度等14個統(tǒng)計學(xué)參數(shù)用于描述灰度共生矩陣的紋理特征。但Ulaby等[12]在后續(xù)研究中發(fā)現(xiàn),僅能量(二階矩)、對比度、相關(guān)度和熵這4個統(tǒng)計特征是不相關(guān)的,并且基于這4種特征參數(shù)的圖像識別分類精度相當(dāng)高?;赨laby等的研究[12],補充逆差作為X-射線焊接缺陷圖像的紋理特征參數(shù)之一?;叶裙采仃嚩x為原始圖像灰度為i的點到灰度為j的點的概率,其中i和j滿足固定的位置關(guān)系d=(Δx,Δy),一般用Pd(i,j)(i,j=0,1,…,L-1)表示,L為灰度級。在規(guī)定好位置關(guān)系d后,還需要規(guī)定灰度共生矩陣的生成方向θ,通常情況下θ取0°、45°、90°和135°,如圖2所示。
圖2 灰度共生矩陣像素對關(guān)系
設(shè)圖像為l(M,N),其中任意一點為A(x,y)及偏離它的一點為B(x+dx,y+dy);設(shè)A點對應(yīng)的灰度值為li(x,y),B點對應(yīng)的灰度值為lj(x+dx,y+dy)。假設(shè)點(x,y)在整個圖片中移動,會得到各種各樣的(li,lj)(i≥0,j≤L-1),則(li,lj)的組合有L×L種。對于整個X-射線焊接缺陷圖像,統(tǒng)計出每種(li,lj)出現(xiàn)的次數(shù),然后排列成一個矩陣,G(li,lj)為每一種(li,lj)出現(xiàn)的次數(shù),則總次數(shù)為:
(1)
假設(shè)PL×L中每一個元素
(2)
那么PL×L為灰度共生矩陣,且
(3)
能量可用于度量各類不同焊接缺陷圖像紋理的一致性,反映圖像灰度的分布特征和圖像紋理特征的粗細(xì),常用SE表示。X-射線焊接缺陷圖像的灰度分布越均勻,圖像的紋理就越細(xì)致,能量就越大;反之,灰度分布過于密集,圖像的紋理就會很粗糙,能量就會很小。其計算方法為:
(4)
對比度,也稱為慣性矩,能夠判斷X-射線焊接缺陷圖像的紋理特征是否清晰以及其特征的深淺程度,用SCon表示。紋理特征深度越高,對比度就越高;紋理特征深度越低,對比度就越低。從計算機視覺的角度來說,一般情況下,對比度高的圖像就清晰。對比度的計算規(guī)則:
(5)
相關(guān)度是度量X-射線焊接缺陷局部灰度值相關(guān)度的統(tǒng)計常量,可以在一定程度上反映出灰度共生矩陣各元素在行和列方向上的相似性,用SCor表示。矩陣元素之間像素值相差越大,相關(guān)度越大。
(6)
其中:
(7)
(8)
(9)
(10)
熵是對X-射線焊接缺陷圖像的復(fù)雜程度進行解釋的統(tǒng)計量,能夠提取紋理特征的隨機性。熵值越大,圖像的紋理信息就越多,隨機性就越大。其計算方法為:
(11)
逆差用于反映X-射線缺陷圖像紋理的同質(zhì)性,解釋圖像紋理局部變化特征。其值大則說明圖像紋理的不同區(qū)域間缺少變化,局部非常均勻。其計算公式為:
(12)
SVM在分類中具有很多優(yōu)勢,通過尋找特征空間上的最大間隔來定義生成分類器[13]。SVM通過構(gòu)建一個超平面如圖3所示。小菱形和小三角形分別為2類樣本,H為分類線,H1、H2分別為過分類樣本離分類線最近且平行于分類線的直線,H1和H2之間的距離稱為分類間隔。當(dāng)分類線能夠精確將兩類樣本區(qū)分開且H1和H2之間的距離最大時,就得到了最優(yōu)分類面。分類線的數(shù)學(xué)定義為:ωx+b=0,其中ω和b分別表示分類面的法向量和截距。
圖3 SVM在特征空間上的二分類
對于給定的數(shù)據(jù)集X={X1,X2,…,Xi,…,Xn},Xi={x1,x2,…,xi,…,xn},學(xué)習(xí)目標(biāo)y={y1,y2,…,yn},其中yi∈[-1,1]。每個樣本都具有多個不同的特征空間,分類面會有很多種,本文選定滿足‖ω‖最小的二分類平面作為最優(yōu)分類面。線性SVM的損失函數(shù)可以用以下數(shù)學(xué)方法表示:
(13)
當(dāng)分類面也滿足條件yiωTxi≥1-ξi≥0,i=1,2,…,l時,線性SVM的損失函數(shù)改寫為:
(14)
采用SDG隨機梯度優(yōu)化算法[14]對SVM分類問題進行求解,需要隨機選擇一個樣本作為SVM參數(shù)的更新迭代,此時的損失函數(shù)為:
(15)
每次采用一個隨機樣本對SVM進行梯度更新,這樣就不需要對整個數(shù)據(jù)集進行學(xué)習(xí),很大程度上提高了SVM的學(xué)習(xí)能力,對上式求梯度得:
(16)
式中:第二項是指示項,在滿足yiωTxi>1時函數(shù)值為1,反之為0。因此,迭代公式為:
(17)
線性核函數(shù):k(x,xi)=x·xi
多項式核函數(shù):k(x,xi)=(x·xi+1)d,d∈N+
Sigmoid核函數(shù):k(x,xi)=tanh(η
實驗所用數(shù)據(jù)集來自于公開數(shù)據(jù)庫的GDXray中welds組[16]。從該數(shù)據(jù)集中的88張射線圖像中裁剪出500張的焊接缺陷圖像,包括未焊透、氣孔、夾渣和裂紋各100張缺陷圖像以及100張無缺陷圖像,如圖4所示。由于缺陷圖像數(shù)據(jù)集來自于GDXray數(shù)據(jù)庫,故不需要再進行圖像預(yù)處理等操作。
a) 無缺陷 b) 氣孔 c) 夾渣 d) 未焊透 e) 裂紋
確定對X-射線焊接缺陷提取表面紋理的灰度共生矩陣構(gòu)造方式后,利用MATLAB 2018b進行編程,并對研究使用的圖像數(shù)據(jù)集進行4個方向上的灰度共生矩陣,其中取位置關(guān)系d=1?;诨叶裙采仃囂崛〗Y(jié)果進行了5個紋理特征量的計算,獲取了X-射線焊接缺陷圖像的5個紋理特征參數(shù),如圖5所示。
通過圖像可以看出,代表裂紋和夾渣兩種缺陷的能量曲線距離相差較大,裂紋缺陷的能量值整體上要比夾渣缺陷的能量值大,說明裂紋的紋理特征相較于夾渣的紋理特征要均勻,可以通過能量區(qū)分出2種曲線的種類。
圖5 X-射線焊接缺陷圖像的GLCM紋理特征提取結(jié)果
不同焊接缺陷圖像的清晰度沒有特別大的差異,也就是不同焊接缺陷的紋理特征深淺程度差距并不明顯,相對而言,裂紋的紋理特征較深,其對比度較大。
不同X-射線焊接缺陷圖像的相關(guān)度,用以解釋焊接缺陷圖像灰度共生矩陣中的各元素在行和列的相似水平,該值的大小一定程度上表現(xiàn)焊接缺陷圖像局部灰度的關(guān)聯(lián)性。由圖中不同生成方向的相關(guān)度值可以知道,裂紋的相關(guān)度高于其他焊接缺陷圖像。根據(jù)不同X-射線焊接缺陷的相關(guān)度曲線,可以將缺陷圖像分為3個大類:裂紋和無缺陷圖像、夾渣和未焊透圖像、氣孔圖像。
對比不同X-射線焊接缺陷圖像的熵特征參數(shù)曲線,夾渣的熵值最高,說明其圖像中的灰度差異較大。對未焊透缺陷來說,其在水平方向的灰度差異最小,其他方向上的熵值均整體高于氣孔、裂紋和無缺陷圖像,僅次于夾渣圖像,其圖像中的灰度差異也較明顯。裂紋和氣孔的熵值十分接近,說明它們之間的灰度差異程度相當(dāng),無法用熵值特征對這兩種焊接缺陷進行檢測識別。無缺陷圖像由于其X-射線圖像表面光滑,其紋理隨機性小,熵值也整體較低。
各焊接缺陷圖像逆差特征區(qū)分度并不明顯,但可以表現(xiàn)出不同焊接缺陷圖像在不同方向上的局部變化規(guī)律。因此,可以將逆差特征參數(shù)與其他紋理特征參數(shù)結(jié)合進行對X-射線焊接缺陷圖像進行分類識別。
通過上述分析,使用能量、對比度、相關(guān)度、熵和逆差能夠有效對X-射線焊接圖像進行識別分類。本研究是為了對不同X-射線缺陷圖像的紋理特征進行檢測識別,分類精度越高越好。因此,對上述特征參數(shù)值分別求取均值和方差作為特征參數(shù)以抑制生成方向θ對特征提取結(jié)果的影響,保證后續(xù)對焊接圖像進行SVM分類時能夠得到更加精確的結(jié)果,結(jié)果如表1和表2所示。
表1 GLCM特征參數(shù)的均值
表2 GLCM特征參數(shù)的方差
傳統(tǒng)支持向量機僅僅適用于二分類問題,而對X-射線焊接缺陷的分類是一個多類分類問題,因此需要構(gòu)造一個多類分類器。將二分類SVM構(gòu)造成多分類SVM,通常情況下有2種方法:一是使用多個二分類SVM進行合理的組合,然后組合出多分類SVM[17-18];二是通過改寫傳統(tǒng)SVM的目標(biāo)函數(shù),對全局變量進行優(yōu)化求解,直接構(gòu)造出一個多分類SVM[19-21]。由于第二種方法在求解全局優(yōu)化解時過于復(fù)雜,其變量數(shù)遠(yuǎn)超過第一種方法,同時訓(xùn)練速度和分類精確度相較與第一種方法來說效果較差。因此,選取第一種方法構(gòu)造多類SVM分類器,如圖6所示。圖中5、4、3、2和1分別代表無缺陷、氣孔、夾渣、未焊透和裂紋的X-射線圖像。
圖6 X-射線缺陷圖像的SVM多類分類器
SVM分類器在分類過程中,需要先利用訓(xùn)練集使支持向量機進行學(xué)習(xí),然后再對X-射線焊接缺陷圖像進行檢測識別。本節(jié)對不同的焊接缺陷圖像隨機抽取各50張圖像作為訓(xùn)練集,所有的X-射線焊接缺陷圖像作為驗證集進行實驗,具體流程如圖7所示。
圖7 SVM分類器工作流程
為了對比基于不同核函數(shù)的支持向量機對X-射線焊接缺陷的分類效果,采用Kappa系數(shù)[22]作為指標(biāo)量化分析不同核函數(shù)的分類準(zhǔn)確率,其值越高,分類效果越好。
(18)
其中:p0為一致性單元的比例,pe為期望偶然一致的單元比例。
本文研究的4種核函數(shù)對不同焊接缺陷的分類性能對比如表3所示。
表3 基于GLCM特征的X射線焊接缺陷SVM分類結(jié)果
從表3可以看出,基于線性核函數(shù)的SVM分類器對氣孔缺陷和未焊透缺陷的錯分情況較多,兩者的正確率分別為78%和77%。氣孔缺陷圖像中有相當(dāng)一部分被歸類為未焊透缺陷,原因是氣孔缺陷和未焊透缺陷的相關(guān)度特征參數(shù)極其相似,導(dǎo)致線性核函數(shù)無法精確地對兩者進行線性歸類;對夾渣的分類精度最高,達到了93%,原因是由于夾渣的能量特征和熵特征均較其他缺陷圖像有顯著差異。
多項式核函數(shù)的總體分類正確率達到了85%,與線性核函數(shù)的分類效果基本相似。多項式核函數(shù)的Kappa系數(shù)值為0.824,略高于線性核函數(shù),說明多項式核函數(shù)的SVM分類器較線性核函數(shù)的穩(wěn)定,分類結(jié)果也更可靠。但氣孔缺陷出現(xiàn)了很嚴(yán)重的錯分情況,有26%的氣孔缺陷被錯分為裂紋缺陷,這是由于氣孔和裂紋的熵特征幾乎相同,兩者的紋理信息復(fù)雜度近乎相等,從而導(dǎo)致多項式核函數(shù)無法泛化區(qū)分兩者的熵特征。
與線性核函數(shù)和多項式核函數(shù)相比,RBF核函數(shù)的分類效果得到了極大的改善,總體分類正確率達到了92.6%,Kappa系數(shù)值也高達0.866。同時,RBF核函數(shù)對氣孔缺陷的識別分類得到一定程度上的改善,降低了氣孔缺陷圖像的錯分率,其分類正確率達到了87%,但可以發(fā)現(xiàn)RBF依然不能很高水平的抑制對氣孔缺陷的錯分。相比而言,RBF核函數(shù)的對各類焊接缺陷圖像的分類識別均較為準(zhǔn)確,分類水平達到了很高的層次,能夠應(yīng)用于X-射線焊接缺陷圖像識別領(lǐng)域。
Sigmoid核函數(shù)對X-射線焊接缺陷圖像的分類能力稍弱于其他3種核函數(shù),總體分類精度也僅為80.6%。顯然,Sigmoid核函數(shù)不能很清晰地對焊接缺陷圖像的GLCM紋理特征進行識別劃分。
針對X-射線焊接缺陷圖像從特征提取、特征參數(shù)刪選、分類模型的構(gòu)建等方面入手,試圖找尋合適的焊接缺陷圖像特征提取和分類方法,減少人工分類過程中各種不確定性因素的影響。在提取X-射線焊接缺陷圖像的GLCM紋理特征時,還需要考慮圖像灰度級對灰度共生矩陣計算的影響,灰度級的選取決定著灰度共生矩陣的規(guī)模,后續(xù)研究將對不同灰度級的缺陷圖像進行紋理特征提取,以便進一步提高焊接缺陷識別分類性能。同時,X-射線圖像數(shù)據(jù)還需要增加,雖然本文使用的數(shù)據(jù)集已經(jīng)能夠滿足本文的研究需求,但研究結(jié)論可能還存在輕微瑕疵,在今后的研究中希望建立更大規(guī)模的數(shù)據(jù)集,為后續(xù)研究奠定基礎(chǔ)。