(大連理工大學 機械工程學院,遼寧 大連 116024)
激光超聲無損檢測憑借其高分辨率、寬頻帶、多模態(tài)的特點以及檢測過程中無需耦合劑、可實現遠距離無接觸多次掃描的優(yōu)勢,在無損檢測領域受到了廣泛關注[1-3]。圍繞激光超聲缺陷檢測以及定量表征這一課題,國內外學者開展了大量的研究工作。Lei Yang[4]等提出了一種基于連續(xù)小波變換(CWT)的激光生成lamb 波透射系數計算算法,成功預測了薄結構中的缺口深度;F.Hernandez-Valle 等[5]利用激光激發(fā)Rayleigh 波實現對表面缺陷幾何形狀的測量,通過對超聲信號的分析得到的信息表征缺陷的幾何形狀;黃燕杰、尚建華等[6]運用有限元數值模擬的方法研究了表面波在復合材料中波形與裂紋深度和寬度的時間關系,實現對缺陷的定量檢測;陶程等[7]采用有限元法研究了表面波與缺陷之間的相互作用,通過超聲波傳播與缺陷之間的時間關系實現對缺陷深度的定量檢測。超聲檢測的關鍵在于對信號的處理與解釋,進而對缺陷進行定性定量分析,上述研究成果主要通過超聲波與缺陷相互作用的時間關系或通過信號處理提取特征的方式實現對缺陷的定量分析,很大程度上依賴操作者對信號的判讀,容易出現誤判、漏判的情況,難以保證檢測結果的穩(wěn)定[8]。
為了保證檢測結果的穩(wěn)定性,基于深度學習[9-10]在圖像識別、目標檢測等領域的成功應用,有學者嘗試使用深度學習算法實現超聲缺陷的自動檢測,以減少人工操作對檢測結果的影響,取得了良好的效果。李萍[11]等較為詳細介紹了深度學習在超聲缺陷檢測中的應用與發(fā)展。Qiuji Yi 等[12]提出了基于小波包融合算法結合支持向量機(SVM)的激光超聲定量檢測。Min Meng 等[13]提出使用小波變換提取小波系數訓練卷積神經網絡(CNN)對碳纖維聚合物的缺陷分類。目前提出的基于深度學習的激光超聲檢測方法都需要手動提取缺陷特征來訓練網絡模型,而手工提取特征過程復雜,提取的質量對網絡模型的訓練效果有很大影響,需要相關人員具有較高的技術水平。
針對上述問題,借鑒深度學習在圖像識別領域的成果,利用卷積神經網絡(CNN)強大的表征學習能力,不同于以往的人工提取缺陷特征訓練分類檢測模型的方式,本文提出了一種基于二維卷積神經網絡(2D-CNN)激光超聲缺陷檢測方法,直接將缺陷的小波時頻圖作為輸入訓練CNN模型,免去了復雜的特征提取步驟,實現對表面缺陷的自動分類。
小波變換(wavelet transform)采用隨頻率改變的“時間-頻率”窗口,以克服短時傅里葉變換(STFT)中窗口大小不隨頻率或時間變化、無法準確反應頻率與時間變化關系等缺點,更適合處理夾帶瞬態(tài)突變的超聲信號。本文選擇使用連續(xù)小波變換[14](CWT)對信號數據進行預處理,其數學定義為
其中:f(t)為任意的L2(R)空間中的函數;a為尺度因子,表示與頻率相關的伸縮;τ為平移因子;ψ(a,τ)(t)為小波基函數。當a取值較大時,適合提取信號中的低頻特征,反之則適合提取高頻特征。
小波變換的關鍵在于小波基函數的選擇,其決定了小波變換的效果和效率。常用的小波基函數有Haar 小波、Coiflets 小波、Morlet 小波和cmor 小波等。由于Morlet 小波的幾何形狀與超聲回波波形相似[15],而cmor 小波是Morlet 小波的復數形式,具有更好的自適應能力,因此本文選擇cmor 小波作為連續(xù)小波變換的小波基函數。借助Matlab的wavelet toolbox 工具箱,對采集到的時序信號進行處理,得到含有超聲信號時頻域信息的二維時頻圖像。
卷積神經網絡[16](CNN)是一種包含卷積計算且具有深度結構的前饋神經網絡,憑借其強大的表征學習能力在圖像識別、目標檢測和機器視覺等領域廣泛應用。其結構通常由輸入層、卷積層(convolutional layer)、池化層(pooling layer)、全連接層和輸出層構成,圖1為根據缺陷分類需要所建立的CNN模型。
圖1 卷積神經網絡結構圖Fig.1 Structure diagram of convolutional neural network
1)卷積層:卷積層是神經網絡模型中最重要的組成部分,其作用是提取局部區(qū)域的特征,不同層的卷積核相當于不同的特征提取器。同全連接神經網絡相比,具有局部鏈接和權重共享2個突出的性質,可以顯著減少神經網絡的參數數量。卷積運算的數學形式為[16]
式中:z(l)為第l層的輸出;濾波器w(l)為可學習的權重向量;a(l?1)為l?1層的輸出;b(l)∈R為可學 習的偏置。
2)池化層:池化層的主要作用是減小輸出特征的維度,防止過擬合,常用的池化運算包括最大池化(max pooling)和平均池化(average pooling)。本文選擇最大池化,數學表達式為[16]
其中xi是區(qū)域內每個神經元的激活值。
3)全連接層:作為卷積網絡與分類器之間的過渡結構,將Flatten函數展平得到的一維數組與分類函數Softmax 連接起來。
利用小波變換在信號時頻域分析的優(yōu)點和CNN 圖像識別方面優(yōu)異的性能,使用CWT 對激光超聲信號進行時頻處理,得到小波時頻圖用于訓練卷積神經網絡模型,實現對表面缺陷的識別和分類。具體步驟如下:
1)將采集到的超聲信號進行整理,剔除其中的無效信號,構造樣本數據集;
2)使用CWT 對整理好的樣本集進行預處理,生成超聲信號的小波時頻圖,得到圖像樣本,將圖像樣本隨機打亂,按照一定比例劃分為訓練集、驗證集和測試集;
3)構建CNN模型,使用劃分好的訓練集訓練神經網絡并根據訓練結果調整參數,優(yōu)化網絡性能;
4)使用測試集對訓練好的CNN模型進行測試,測試CNN模型的檢測精度及泛化能力。
本文使用有限元仿真軟件Comsol Multiphysics模擬激光激發(fā)超聲波檢測帶涂層工件的表面缺陷來獲得缺陷檢測信號,仿真步驟如圖2所示,缺陷檢測模型如圖3所示。模型長度L=25 mm,總厚度H=10 mm,涂層厚度為h=50 μm,缺陷位置位于距離激光束光斑中心L1=15 mm 處,缺陷寬度0.5 mm,深度分別設置為0.5 mm、1.0 mm、1.5 mm 和2.0 mm,信號采集區(qū)域選擇距激光束光斑中心L2=4 mm 和L3=11 mm的B、C點之間,采樣頻率為10 MHz,通過信號采集裝置對此區(qū)域進行掃掠,可以獲得連續(xù)的超聲波傳播信號。
圖2 有限元仿真流程圖Fig.2 Flow chart of finite element simulation
圖3 模型圖Fig.3 Model diagram
在有限元仿真過程中為了更接近真實情況,將脈沖激光輻照被測工件的過程等效為加載熱力源的形式[17],基于熱彈效應[18]模擬了激光超聲檢測5種類型的帶涂層鋁板,分別為defect_0(無缺陷)、defect_05(缺陷深度0.5 mm)、defect_10(缺陷深度1.0 mm)、defect_15(缺陷深度1.5 mm)和defect_20(缺陷深度2.0 mm),每種缺陷類型分別采集800組超聲波反射信號,共得到4000組檢測信號。
圖4所示為模型同一位置、不同表面缺陷深度條件下的超聲反射信號時域波形圖,分別為無缺陷表面和4種不同深度表面缺陷的波形。從圖4(a)中可以看出在不同缺陷深度下,直達表面波R 基本重合,反射波RR之間存在著一定的差異,但反映在時域波形圖上差異并不明顯,即便對于專業(yè)檢測人員來說,對缺陷深度做出定量解釋也需要進行復雜的計算,而在實際檢測當中還會夾雜有噪音干擾以及涂層對聲波傳播的影響,增加了評價的難度,難以保證檢測結果的準確和穩(wěn)定。
圖4 不同缺陷深度的時域波形圖Fig.4 Time-domain oscillograms of different defect depths
如1.1節(jié)所述,在Matlab的wavelet toolbox 工具箱中,選擇CWT 對樣本數據集進行批量處理,得到小波時頻圖,共得到5類缺陷共4000 張樣本圖片。將圖片輸入神經網絡前需要對圖片大小進行統(tǒng)一,在滿足神經網絡輸入要求和盡可能保存多的圖像信息的條件下,保存為300×300像素分辨率大小,并隨機打亂,按照7∶2∶1的比例將圖片劃分為訓練集、驗證集和測試集,各數據集之間相互獨立,數據集劃分見表1。圖5為不同缺陷深度的小波時頻圖。
基于LeNet[19]神經網絡模型,搭建了如圖1所示的CNN網絡:輸入圖像的像素大小為300×300;中間層由3個卷積層和3個池化層組成,卷積核的大小均為5×5,深度依次為32、64 和128,池化層選擇最大池化(max pool),其作用是減少神經網絡中參數的個數。為避免出現過擬合現象,在Flatten層后面引入了Dropout層,Dropout層作用時在每次訓練中以概率P 隨機凍結神經元,P取0.25。同時在每個卷積層和池化層之間添加了批量歸一化層(batch normalization),激活函數選擇ReLU 激活函數,使用Softmax 分類器進行分類,神經網絡模型中的具體參數見表2。
表1 不同類型缺陷數據集劃分Table1 Division of different types of defects data sets
圖5 不同缺陷深度的小波時頻圖Fig.5 Wavelet time-frequency diagram of different defect depths
表2 卷積神經網絡模型參數Table2 Model parameters of convolutional neural network
在訓練過程中,為了提高CNN模型對缺陷分類的準確率及模型的泛化能力,需要根據訓練結果對網絡參數進行優(yōu)化調整,本文選取不同的學習率和不同的優(yōu)化器以獲得最佳的神經網絡模型。在訓練過程中,卷積神經網絡的學習率分別設置為0.00005 和0.0001,依次選擇Adam、RMSprop 和SGD 優(yōu)化算法,損失函數選擇交叉熵函數(cross entropy),batch_size 設置為64,訓練輪數設置為20個Epoch,為消除隨機因素的影響,對每個學習率和優(yōu)化算法進行多次訓練,結果取平均值。訓練過程在一臺Win10 操作系統(tǒng)的計算機上完成,硬件配置為:CPU為AMD R5 2600;GPU為英偉達GTX1060 5G;16G 運行內存。使用Python在Tensorflow+keras 環(huán)境下搭建CNN模型。圖6表示在不同學習率下,3種梯度下降算法在CNN模型訓練過程中損失值以及準確率的變化曲線。
圖6 神經網絡訓練過程曲線Fig.6 Neural network training process curve
表3 3種優(yōu)化器在不同學習率下的損失值Table3 Loss values of three optimizers at different learning rates
表4 3種優(yōu)化器在不同學習率下的準確率Table4 Accuracy rate of three optimizers at different learning rates
表5 5次測試結果Table5 Five test results
為了使分類模型獲得最優(yōu)效果,將2.2節(jié)中提到的學習率和優(yōu)化算法分別訓練5次,得到CNN分類模型的平均損失值和準確率如表3、表4所示。可以看出,將學習率設置為0.0001時損失值和準確率的表現優(yōu)于將學習率設置為0.00005時的表現;SGD 優(yōu)化器在訓練集上的損失值和準確率效果最好,而Adam 優(yōu)化器在驗證集和測試集上的損失值和準確率要優(yōu)于SGD 優(yōu)化器。對以上結果綜合考量,將CNN 分類模型的學習率設置為0.0001、選擇Adam 優(yōu)化器時的效果最好,該CNN模型運行5次的測試準確率如表5所示,其對測試集的識別準確率均達到了96%以上,平均準確率為97.3%,可見CNN模型對表面缺陷的識別分類達到了較高的準確率且檢測穩(wěn)定性良好。
為了驗證模型的泛化能力,使用新的缺陷時頻圖對訓練好的模型進行測試,表6所示為CNN模型將輸入的測試樣本準確識別為目標分類的概率,結果顯示模型識將被測對象正確分類的概率達到98%以上,說明CNN模型具有良好的泛化能力。
表6 對單一缺陷深度進行測試的識別準確率Table6 Identification accuracy rate of single defects depth test
針對激光超聲表面缺陷檢測過程中,缺陷定量表征對操作者依賴程度高所帶來的檢測結果不穩(wěn)定問題,借鑒深度學習在圖像識別領域的成果,提出一種基于2D-CNN的激光超聲無損檢測方法。該方法使用小波時頻圖作為輸入訓練卷積神經網絡,CNN 自動提取和學習圖像中的缺陷特征,實現對缺陷深度的自動分類,為激光超聲缺陷檢測提供了新的思路。
1)根據訓練的結果對神經網絡的參數進行優(yōu)化,得到的CNN模型可以實現對不同深度的缺陷自動分類,測試的平均準確率達到了97.3%,檢測結果可靠,在后續(xù)的研究中可以嘗試使用不同的網絡結構和算法以提高準確率。
2)使用CNN模型檢測隨機類型的超聲信號,CNN模型的識別正確率可以達到98%以上,分類模型具有較強的泛化能力。
3)所提出的缺陷檢測方法可行有效,缺陷的小波時頻圖能夠準確反映超聲信號攜帶的時頻特征,卷積神經網絡能夠從時頻圖中提取和學習缺陷特征,實現對缺陷類型的自動分類,免去了人工提取缺陷特征的步驟,能夠有效避免因人為主觀因素導致的檢測結果不穩(wěn)定。