魏博文,高煒欣,劉夢溪
(1.西安石油大學(xué)電子工程學(xué)院,陜西 西安 710065;2.西安石油大學(xué) 陜西省油氣井測控技術(shù)重點實驗室,陜西 西安 710065)
金屬鑄件在工程使用過程中,常因高強度的負荷使得鑄件損傷,并且鑄件所處的惡劣環(huán)境也會使得鑄件表面發(fā)生無法挽回的損傷,嚴重的損傷甚至導(dǎo)致鑄件無法使用。這些損傷在工業(yè)環(huán)境中是常見的問題,例如管道在使用過程中受到腐蝕而腐蝕開裂[1]。裂紋的存在不僅使鑄件失效,嚴重的還會引發(fā)安全問題,侵害社會的安全和經(jīng)濟,因此需要對這些問題進行可靠性檢測。
無損檢測技術(shù)(Nondestructive testing technology,NDT)可以探測鑄件在制造與使用過程中的缺陷問題,從而為社會帶來可觀的安全效益和經(jīng)濟效益[2]。NDT是以保障鑄件完好無損為前提,應(yīng)用光、電、磁、聲等多種物理現(xiàn)象進行多種缺陷檢測的綜合性技術(shù)。如今非接觸式NDT方法有很多,如:靜電耦合超聲無損檢測、空氣耦合超聲無損檢測[3]、電磁超聲無損檢測、激光超聲無損檢測[4],4種NDT對比如表1所示。
表1 無損檢測技術(shù)對比
通過對比發(fā)現(xiàn)激光超聲無損檢測技術(shù)無論是在缺陷檢測方面、適用范圍還是效率上都很出色。目前已有研究人員應(yīng)用該技術(shù)取得了較好的缺陷識別成果,如:趙景超[5]等將樣品被測前后的全息干涉條紋激光超聲圖像進行數(shù)值再現(xiàn),再利用MATLAB軟件對圖像進行疊加干涉從而判斷出是否存在缺陷;王余敬[6]等利用分離譜技術(shù)將樣品表面不同裂紋下的回撥信號進行特征提取,再使用徑向基函數(shù)神經(jīng)網(wǎng)絡(luò)識別技術(shù)來對裂紋進行識別;曾偉等提出利用Wingner-Vile算法分類處理透射波傳播圖像,實現(xiàn)對樣本缺陷位置、大小和形狀的檢測;熊繼濤[7]等使用激光超聲換能器對樣本激勵出Lamb波,再對接收的反射信號進行延時疊加,實現(xiàn)對缺陷的定位;金小波[8]等將激光超聲技術(shù)結(jié)合編程和軟件TeeChart圖形顯示空間達到對接收信號的可視化,以此達到缺陷檢測目的??梢?激光超聲無損檢測技術(shù)對鑄件進行無損檢測方面是可行的。本文在激光超聲檢測技術(shù)的基礎(chǔ)上,提出使用結(jié)合卷積神經(jīng)網(wǎng)絡(luò)對采集的圖像進行快速高效的缺陷識別。
激光超聲無損檢測技術(shù)以不損害被檢測對象的使用性能及微觀結(jié)構(gòu)為前提,使用脈沖激光在被測構(gòu)件中產(chǎn)生超聲應(yīng)力脈沖。這一應(yīng)力脈沖能夠在同一時間內(nèi)激發(fā)出波形不同的超聲波信號,超聲信號會傳播被測構(gòu)件的各項信息,再通過檢測超聲信號的反射、散射和衰減情況,進行缺陷特征描述。本文采用基于熱彈機制的激光超聲可視化檢測儀如圖1進行檢測。
圖1 激光超聲可視化檢測儀
激光超聲可視化檢測儀主要分為激光發(fā)射控制器、超聲波探頭和激光超聲檢測設(shè)備控制三部分。激光發(fā)射控制器對被測鑄件產(chǎn)生激勵,通過超聲波探頭接收信號,激光超聲檢測設(shè)備再對信號進行波形采集、可視化。檢測原理如圖2所示。
圖2 激光超聲原理圖
激光超聲可視化檢測儀波長1064 nm,最大功率650 μJ,最小脈寬7 ns。實驗中通過設(shè)定激勵掃描范圍、延遲、采樣率、激勵電壓、數(shù)據(jù)長度和檢測速度等來達到圖像獲取的目的。所有參數(shù)設(shè)定完畢后激光超聲發(fā)射器將按照預(yù)先設(shè)定的掃描范圍進行自上而下、自左至右(Y軸→X軸)的檢測,設(shè)備通過探頭接收信號并對該信號進行A/D轉(zhuǎn)換,最終經(jīng)過處理,獲得最大振幅圖。
激光超聲可視化檢測儀對鑄件進行掃描時,缺陷處質(zhì)點和無缺陷處質(zhì)點會出現(xiàn)驟變的波動,這種驟變必然會導(dǎo)致信號振幅的變化,如此經(jīng)過一系列處理便可獲得最大振幅圖。實驗中對缺陷鑄件進行圖像采集,如圖3所示為部分缺陷鑄件樣本圖像,途中所示缺陷鑄件規(guī)格為200 mm×100 mm×5 mm,其中方孔缺陷大小為5 mm×5 mm;圓孔缺陷直徑為5 mm。本次實驗共采集圖像400張,其中無缺陷圖像100張,缺陷圖像300張,圖4為部分最大振幅圖像圖像。
圖3 鑄件圖像
圖4 部分樣本圖像
考慮到實驗只需對最大振幅圖像進行是否存在缺陷的判斷,為了簡化實驗,提高檢測效率,完善CNN架構(gòu),在最大振幅圖像識別之前先進行圖像預(yù)處理。預(yù)處理即將三通道最大震幅圖像通過灰度化轉(zhuǎn)換成為單通道的灰度圖像,再將灰度化的圖像統(tǒng)一分辨率,統(tǒng)一成為100×100的格式。灰度化采用均值灰度化這一方式,如公式(1)所示:
f(i,j)=(R(i,j)+G(i,j)+B(i,j))/3
(1)
其中,i,j代表圖像同一通道下的位置;R、G和B代表三個通道即紅色、綠色和藍色,通過計算將三個通道的像素值進行平均后再輸出為一個灰度化的圖像。如圖5所示。
圖5 灰度化樣本圖像
通過對圖5進行分析可以發(fā)現(xiàn)由于圖像噪聲干擾較大,一般的圖像處理手段難以確定最大振幅圖是否存在缺陷,因此本文提出用卷積神經(jīng)網(wǎng)絡(luò)(CNN)對圖像進行識別。
卷積神經(jīng)網(wǎng)絡(luò)[9](Convolutional Neural Network,CNN)通過卷積核(filter)將圖像進行加權(quán)求和再加偏置的方式進行輸出,每一次計算都可視為將輸入圖像依據(jù)filter大小分為一個個小的圖像再進行計算輸出為輸出圖像的一個個像素點。CNN的神經(jīng)元通過響應(yīng)周圍單元,能夠快速、高效的完成圖像處理工作[10-11]。CNN不僅可以更改感受野的大小,而且它的池化層(下采樣結(jié)構(gòu))可以在不影響特征識別的前提下極大的減少參數(shù)量,以此提高識別速度。相較一般的圖像處理技術(shù)[12],CNN獨特的圖像處理方式不僅為圖像處理技術(shù)提供了新的思路,更為圖像處理技術(shù)帶來了突飛猛進的發(fā)展。
卷積是CNN中的一種提取輸入圖像特征的方法,是一種使用一個正方形卷積核遍歷輸入圖像,將重合部分進行加權(quán)求和再加偏置[13]的方法。將計算的像素值作為輸出圖像的像素值,以此類推將一張圖片遍歷完成即可完成一次輸出。如公式(2)及圖6所示。
圖6 卷積層計算
(2)
式中,Nout為輸出圖像長寬;Nin為輸入圖像長寬;p為padding大小;k為filter大小;s為stride大小。
由于CNN作為一個實踐遠超理論的研究,目前CNN卷積層設(shè)置層數(shù)大多是基于經(jīng)驗或者通過實驗驗證得到,通過閱讀文獻發(fā)現(xiàn)Cao Xudong[14]關(guān)于卷積層設(shè)置層數(shù)的結(jié)論,這里做一引用,文章中提出CNN滿足2個約束條件并使用公式(3)可使卷積層層數(shù)最大化在不浪費算力時間的基礎(chǔ)上取得較好的識別精度。
(3)
式中,z為輸入圖像長寬;m為卷積層層數(shù);k為filter大??;t為固定值1/6。應(yīng)用公式(3)通過計算得到m即卷積層設(shè)置層數(shù)為3,并設(shè)置2層卷積層作為對照。
Filter是提取輸入圖像特征的關(guān)鍵,filter的結(jié)構(gòu)為W×D×C×N,分別對應(yīng)長寬高數(shù)量,屬于人為設(shè)置,通常長寬相等,C是圖像通道數(shù)channel,N是filter個數(shù)。為了提高識別效率,前文已經(jīng)講述將樣本圖像進行灰度化預(yù)處理,所以輸入圖像的通道數(shù)為1。由于filter大小只有大于1時才具有提升感受野的作用,所以通常filter不取1;由于偶數(shù)的filter會造成特征偏移從而影響識別效果,所以通常filter均為單數(shù);通過對圖5分析發(fā)現(xiàn),最大振幅圖中缺陷處像素點會發(fā)生梯度變化,于是此處可以引入邊緣檢測法[15]來對圖像進行識別。邊緣檢測法分為3種梯度變化,即水平、垂直和傾斜三種,其公式分別為:
水平梯度:
(4)
垂直梯度:
(5)
傾斜梯度:
(6)
通過引入梯度變化設(shè)置3個filter,分別檢測輸入圖像中的3種梯度變化。綜上實際filter設(shè)置見表3。
池化層[16-17]作為降采樣的一種方式,常用方法有最大池化、最小池化和均值池化3種方式。因為3種方式中最大池化能夠保留輸入圖像信息的最大值,在提取特征時可以保留更多細節(jié),所以實驗選擇最大池化方式。最大池化方式如圖7所示。實驗中將卷積層與池化層設(shè)置為一一對應(yīng)的關(guān)系,即選擇3層池化層,且設(shè)置2層池化層與之對照。池化層計算方式同公式(2),此處不做贅述。
圖7 最大池化
激活函數(shù)[18]的作用時給CNN計算加入非線性因素,如果在CNN中不適用激活函數(shù)將導(dǎo)致每一層的計算都有關(guān)聯(lián)從而使最后一層的輸出和第一層的輸入具有線性關(guān)系。由于缺陷檢測僅用計算機對圖像做出是否存在缺陷的判斷,而Sigmoid函數(shù)在這種二分類問題上使用的最多,同時求導(dǎo)的特殊性,便于反向傳播過程的計算,故使用Sigmoid函數(shù)作為激活函數(shù)。公式(7)為Sigmoid函數(shù),公式(8)為其求導(dǎo),Sigmoid圖像如圖8所示。
圖8 激活函數(shù)Sigmoid
(7)
f′(x)=f(x)*(1-f(x))
(8)
前向傳播即CNN的正向傳播,將輸入層的值通過卷積計算傳送給下一層,直至輸出層。反向傳播即通過將正向傳播的值與期望值做對比將誤差方向傳輸給filter,不斷地更新filter的權(quán)重,直至輸出與期望值的誤差達到預(yù)期目的。表2列舉符號及釋義。
表2 符 號
4.5.1 損失函數(shù)
文章中使用最直觀的損失函數(shù)[19]:均方差損失函數(shù)[20](Mean Square Error,MSE),如式(9)所示計算a的第l層損失函數(shù)。
(9)
4.5.2 前向傳播
CNN前向計算如圖6所示,即對輸入層進行加權(quán)求和,其公式如下:
a=w×x+b
(10)
對公式(10)進行非線性化即得到激活函數(shù)Sigmoid如下:
z=f(a)
(11)
3.5.3 反向傳播
反向傳播的核心是計算w和b的梯度變化,為簡化計算,設(shè)置中間量δl即對第l層的z求偏導(dǎo),其公式如(12)所示。
(12)
由于CNN前向計算中卷積層和池化層的計算并不相同,所以在反向傳輸過程中他們的反向傳播計算也不相同。
已知池化層的δl推導(dǎo)上一層的δl-1如公式(13),其中unsample如公式(14),其中Nout為輸出,Nin為輸入,s為步長,f為卷積核大小,p為填充。
δl-1=unsample(δl)⊙f′(zl-1)
(13)
Nout=s(Nin-1)+k-2p
(14)
已知卷積層的δl,推導(dǎo)上一層的δl-1如公式(15)所示,其中rot180的意思是卷積核被反轉(zhuǎn)了180°。
δl-1=δl×rot180(wl)⊙f′(zl-1)
(15)
至此可以計算卷積層的w和b,由于池化層并沒有w和b,故不需計算,如公式(16)和(17):
(16)
(17)
式中,由于δl是高維張量,而b只是一個向量,所以需要將δl的各個子矩陣的項分別求和,得到一個誤差向量,即是b的梯度。
綜上所述設(shè)計實驗所用CNN架構(gòu),其中數(shù)據(jù)如表3所示,架構(gòu)圖示如圖9所示。
表3 CNN數(shù)據(jù)
圖9 CNN架構(gòu)
為了得到更為詳盡的實驗數(shù)據(jù),并且對比出符合實驗要求的結(jié)果。實驗中對相同的樣本設(shè)置不同的參數(shù)來進行對比,共進行4個大組進行對照。對照組(1)為卷積層層數(shù)設(shè)置為2,卷積核長寬設(shè)置為3;對照組(2)為卷積層層數(shù)設(shè)置為3,卷積核長寬設(shè)置為3;對照組(3)為卷積層層數(shù)設(shè)置為2,卷積核長寬設(shè)置為5;對照組(4)卷積層層數(shù)設(shè)置為3,卷積核長寬設(shè)置為5。其中每一組中又將樣本分為四組以保障實驗數(shù)據(jù)的真實性。表4為16組實驗識別率。圖10為16組識別率散點圖。
圖10 樣本識別率散點圖
表4 樣本識別率
通過對實驗結(jié)果進行整理,對比不同組數(shù)據(jù)中因為卷積層數(shù)不同、卷積核大小不同以及參數(shù)量不同對識別率產(chǎn)生的影響,表5為4大組平均識別率、表6為卷積層相同卷積核大小不同的平均識別率、表7為卷積層不同卷積核大小相同的平均識別率。
表5 平均識別率
表6 不同卷積核識別率
表7 不同卷積層識別率
通過表中匯總數(shù)據(jù)分析得到:表2顯示識別率最高的是卷積層數(shù)3卷積核3×3達預(yù)期要求。表3顯示卷積層數(shù)3相較于卷積層數(shù)2的識別率提升27.125%;表4顯示卷積核3×3相較于卷積核5×5的識別率提升14.375%。綜上,通過實驗印證本文預(yù)先設(shè)計的卷積層數(shù)3卷積核大小3×3能夠較好的完成鑄件缺陷檢測要求,本次實驗中的平均識別率可達93.5%,達到實驗預(yù)期。
最后識別錯誤的圖像與識別正確的圖像進行了對比,圖11為部分識別錯誤圖像,圖12識別正確的圖像。
通過對比圖11和圖12發(fā)現(xiàn)識別錯誤圖像與識別正確圖像存在一定相似性??紤]到邊緣檢測的應(yīng)用,識別錯誤的原因既有可能是因為這一原因所導(dǎo)致,圖13為無缺陷圖像中可能存在的邊緣檢測識別,圖中箭頭表示該方向上可能存在的邊緣檢測判斷。
圖11 部分識別錯誤圖像
圖12 識別正確圖像
圖13 識別錯誤圖像與邊緣檢測
實驗中發(fā)現(xiàn)最大振幅圖成像效果的參差對于識別效果產(chǎn)生了很大的影響。在樣本采集過程中發(fā)現(xiàn)激光強度設(shè)置為70 %、采樣率為10 Ms/s、檢測速度500 Hz所取得的圖像效果較好。通過實驗驗證,本次實驗較好的完成了鑄件缺陷的識別工作。
本文提出將激光超聲檢測技術(shù)與卷積神經(jīng)網(wǎng)絡(luò)技術(shù)結(jié)合,幫助提高鑄件缺陷檢測效率。經(jīng)過預(yù)先設(shè)計和實際驗證,設(shè)計出一個符合本次實驗識別精度要求,檢測經(jīng)過激光超聲可視化檢測儀輸出的最大振幅圖像的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),經(jīng)過多組對照實驗驗證發(fā)現(xiàn),預(yù)先設(shè)計的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)能夠較好地完成實驗任務(wù)。未來可以通過對比更多的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),得到一個更好的檢測最大振幅圖像的卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)。