張楓毅 王莉華 葉文靜
(同濟大學航空航天與力學學院,上海 200092)
鋁是一種重要的輕金屬材料,因其良好的性能和廣泛的應用場景而成為了現(xiàn)代工業(yè)中最常用的材料之一.然而,在鋁材料的制造和加工過程中,極易出現(xiàn)缺陷,這些缺陷會對鋁材料的性能和質量造成負面影響[1-2],例如會降低鋁材料的強度、延展性和韌性,縮短其使用壽命,降低其表面質量和外觀等.
所以,在鋁材料的生產(chǎn)和加工過程中,對其進行嚴格的質量控制是非常必要的.然而,氣泡缺陷的問題不可避免地會在鋁材料的制造和加工過程中存在,為了緩解此問題,可以采取一系列措施,如控制熔化和凝固過程的溫度和壓力、控制氣體含量和流動速度、采用合適的氣體排除方法等[3].此外,還可以采用現(xiàn)代化的無損檢測技術,如超聲波檢測[4-5]、聲發(fā)射[6]、X 射線檢測[7]和磁粉檢測[8]等,來檢測和定位氣泡缺陷.這些技術可以幫助生產(chǎn)和加工人員及時發(fā)現(xiàn)氣泡缺陷,采取必要的措施來修復或移除缺陷,從而提高產(chǎn)品的質量和性能.
超聲波可以檢測鋁板中的裂紋和夾雜等缺陷,其原理是將超聲波信號通過發(fā)射器傳入鋁板中,超聲波信號在傳播過程中,如果遇到不均勻性會產(chǎn)生反射和散射,這些反射和散射的信號會被接收器接收,并轉化為電信號以供處理和分析.通過對接收信號進行分析和處理,可以得到鋁板中缺陷的位置、大小和形狀等信息,從而進行有效的缺陷檢測和評估.Cho 等[9]使用超聲波引導波進行了板結構疲勞裂紋生長的結構健康監(jiān)測,通過數(shù)值模擬和實驗驗證了超聲波引導波檢測疲勞裂紋生長的可行性,并提出一種基于超聲波引導波的疲勞裂紋生長監(jiān)測方法.Junping 等[10]介紹了超聲引導波的原理和檢測方法,并設計一個檢測系統(tǒng)來檢測鋁護套的缺陷.然后,通過實驗對不同類型的缺陷進行檢測,結果表明,超聲引導波可以有效地檢測到這些缺陷,并且檢測結果與實際情況相符,為高壓電纜鋁護套的定期檢測和維護提供有力的支持.Tiwari 等[11]提出一種新的缺陷估計算法,該算法利用圖像處理技術對超聲信號進行分析和處理,以實現(xiàn)玻璃纖維增強塑料材料中脫黏型缺陷的位置和大小的估計.Hasiotis 等[12]采用超聲檢測方法對復合材料試樣進行多種人工缺陷的定位,結果顯示不同材料定位的檢測精度不同,具有一定的局限性.所以超聲檢測得到的波形數(shù)據(jù)內包含著材料中缺陷的信息,研究這些數(shù)據(jù)可以獲得缺陷的性質,但是檢測到的波形數(shù)據(jù)會出現(xiàn)缺陷波、回波和雜質波相似的情況,這些情況會極大地影響缺陷的定位,而且需要質檢人員熟悉材料的工藝特性.因此,這種方法主觀因素影響較大,易產(chǎn)生誤差.
近年來,神經(jīng)網(wǎng)絡技術廣泛應用于無損檢測領域,取得了大量的研究成果,有效解決了主觀因素影響大的問題.一方面,神經(jīng)網(wǎng)絡可以通過學習樣本數(shù)據(jù),實現(xiàn)對缺陷的自動識別和分類.在無損檢測中,樣本數(shù)據(jù)通常包括已知缺陷和正常狀態(tài)的物體圖像或信號數(shù)據(jù),通過對這些數(shù)據(jù)的訓練,可以讓神經(jīng)網(wǎng)絡學習到不同類型的缺陷特征,從而實現(xiàn)對未知缺陷的準確識別和分類.例如利用卷積神經(jīng)網(wǎng)絡(CNN)等深度學習模型,對物體表面或內部缺陷的圖像進行自動識別和分類[13-17],利用循環(huán)神經(jīng)網(wǎng)絡(RNN)等模型,對聲波和電磁波等信號進行處理和分析,實現(xiàn)對物體內部的缺陷檢測[18-20].另一方面,神經(jīng)網(wǎng)絡還可以通過數(shù)據(jù)融合的方式,提高無損檢測的準確性和可靠性.數(shù)據(jù)融合是指將來自不同傳感器或檢測方法的數(shù)據(jù)進行融合,從而獲得更全面、更準確的缺陷信息.總之,神經(jīng)網(wǎng)絡在輔助超聲波缺陷檢測方面具有極大的優(yōu)勢和潛力.
為了檢測鋁板中氣泡缺陷的信息,本文建立了超聲波探測鋁板缺陷的有限元模型,并導出波形信號,利用多層級長短期記憶(LSTM)神經(jīng)網(wǎng)絡對信號進行分析和處理,最終可以檢測到氣泡的大小和位置.該方法提高了超聲缺陷檢測的效率,得到的信號不需要經(jīng)過深層處理且神經(jīng)網(wǎng)絡不受人為挑選信號特征的影響,避免了人為因素的干擾,拓展了LSTM 神經(jīng)網(wǎng)絡的適用領域,為日后的實際應用奠定了基礎.
RNN 是一種用于處理序列數(shù)據(jù)的人工神經(jīng)網(wǎng)絡[21],其結構如圖1 所示.RNN 具有記憶功能,能夠保存之前處理的信息,并將其作為下一步的輸入,它在處理語言、音頻和時間序列數(shù)據(jù)等方面具有優(yōu)勢,已經(jīng)廣泛應用于自然語言處理[22]、語音識別[23]、機器翻譯[24]和音樂生成[25]等領域.RNN 的核心是隱藏狀態(tài),也稱為記憶單元.在每個時間步,隱藏狀態(tài)接收當前輸入Xt和上一個時間步的隱藏狀態(tài)St-1作為輸入,并計算出當前時間步的輸出Mt和新的隱藏狀態(tài)St.所以RNN 可以將之前的信息傳遞到下一個時間步,從而捕捉到序列數(shù)據(jù)的時間依賴性,它通過在序列數(shù)據(jù)的演進方向進行遞歸的方式,有效解決了數(shù)據(jù)序列的建模問題.
圖1 RNN 結構圖Fig.1 The structure of an RNN
圖1 中Mt-1是上一個時刻的輸出,Xt-1是上一個時刻的輸入,Mt+1是下一個時刻的輸出,而Xt+1是下一個時刻的輸入,St+1是下一個時刻的隱藏狀態(tài),RNN 的輸出及隱藏狀態(tài)的更新可以由如下公式表示
其中,WaS,WaX,Wa和Wb是網(wǎng)絡的權重矩陣,[St-1,Xt] 是t時刻的輸入矩陣,ba和bb是網(wǎng)絡的偏置向量,fl和fm是激活函數(shù).
理論上,RNN 是一種能夠處理任意長度數(shù)據(jù)的神經(jīng)網(wǎng)絡模型,但在實際應用中存在一定的限制.為了訓練RNN 模型,通常采用基于反向傳播(BPTT)算法[26-28]的梯度下降方法,該方法的核心思想是,將每個時間步的參數(shù)梯度視為一個序列,并在整個序列上應用鏈式法則來計算梯度.具體而言,假設L是損失函數(shù),θ0是所有參數(shù)的集合,在時間步t上,將損失函數(shù)Lt與當前時間步的參數(shù) θt相關聯(lián).對于當前時間步的隱藏狀態(tài)ht,它依賴于前一個時間步的隱藏狀態(tài)ht-1和當前時間步的輸入Xt.因此,可以用鏈式法則來計算損失函數(shù)對參數(shù)的梯度
其中,?Lt/?ht表示損失函數(shù)關于當前時間步的隱藏狀態(tài)的梯度,?ht/?θt表示當前時間步的隱藏狀態(tài)關于參數(shù)的梯度.在進行反向傳播時,需要計算每個時間步的梯度,然后將它們加起來得到整個序列的梯度.
由于在RNN 中,每個時間步的隱藏狀態(tài)St都依賴于上一個時間步的隱藏狀態(tài)St-1,因此,當梯度在反向傳播時,如果梯度乘以一個大于1 的數(shù),那么梯度就會不斷地放大,最終導致梯度爆炸.而LSTM 是常用的RNN 變種,它通過添加門控機制來控制信息的流動,進一步提高了RNN 的穩(wěn)定性.LSTM 的結構如圖2 所示.
圖2 LSTM 結構圖Fig.2 The structure of an LSTM
圖2 中h表示隱藏狀態(tài),它對短期輸入非常敏感,C用于存儲長期狀態(tài),也被稱為細胞狀態(tài),yt-1和yt+1分別是t-1 和t+1 時 刻的輸出向量.ht-2和ht+1分別是t-2 和t+1 時刻的隱藏狀態(tài),Ct-2和Ct+1分別是t-2 和t+1 時刻的細胞狀態(tài).時間為t時,LSTM 有3 個輸入:當前時間的網(wǎng)絡輸入值Xt、上一時間步的LSTM 輸出值ht-1以 及上一時間步的細胞狀態(tài)Ct-1.LSTM 有3 個輸出:當前時間的隱藏狀態(tài)ht、細胞狀態(tài)Ct和輸出值yt.
圖3 展示了LSTM 的單個節(jié)點的結構圖.綠色虛線框代表輸入,棕色虛線框代表輸出.單元的狀態(tài)由門控開關控制,門控開關是一個全連接層,輸入是一個向量,輸出是一個取值范圍為0~1 的實數(shù)向量.第一個開關用于控制長期狀態(tài)的保留,即遺忘門.遺忘門 讀取ht-1和Xt,對于狀態(tài)Ct-1中的 每個數(shù)值輸出一個介于0~1 之間的值.值為1 表示“完全保留”,值為0 表示“完全丟棄”.遺忘門可以由下式表示
圖3 LSTM 單節(jié)點結構圖Fig.3 The structure of the LSTM cell
其中,qt代表遺忘門,Wc代表權重矩陣,R=[ht-1;Xt]是輸入矩陣,bc是偏置矩陣,n為神經(jīng)網(wǎng)絡神經(jīng)元的數(shù)目,m為輸入序列的長度,σ 是sigmoid 函數(shù),可由下式表示
第2 個開關用于將當前狀態(tài)輸入到被稱為輸入門的長期狀態(tài)中,從而決定在狀態(tài)中存儲哪些新信息.輸入門由兩部分組成:第一部分是一個sigmoid層,它決定將更新哪些值;另一部分是一個tanh 層,它創(chuàng)建一個新的候選值向量kt,該向量會被添加到狀態(tài)中.這可由下式表示
其中,it代表輸入門,We和Wd代表權重矩陣,be和bd代表偏置矩陣,tanh 是雙曲正切函數(shù),可用如下公式表示
第3 個開關控制是否輸出當前的長期狀態(tài),也就是輸出門,它決定了需要輸出什么值.它首先使用sigmoid 層來確定哪一部分單元狀態(tài)需要輸出,然后將該部分單元狀態(tài)通過一個tanh 函數(shù)(它產(chǎn)生介于-1 和1 之間的值),并與sigmoid 層的輸出相乘,最后得到輸出值.這個過程可以用以下公式來表示
本文中使用的雙向LSTM 是LSTM 模型的改進版本,它不同于傳統(tǒng)的LSTM 模型,雙向LSTM通過向模型添加一個反向的LSTM 層,以實現(xiàn)同時利用兩個方向(前面和后面)的信息進行預測[29].相比之下,傳統(tǒng)的LSTM 模型只能使用前面的信息來進行預測,并且無法納入當前時間之后的信息[30].具體而言,雙向LSTM 將序列從前面和后面分別輸入到兩個LSTM 層中,每個層都有自己的隱藏狀態(tài)和輸出.然后這兩個層的輸出組合起來產(chǎn)生最終的輸出.雙向LSTM 的優(yōu)點在于它能夠更好地捕捉序列中的長期依賴關系,并處理輸入序列中的噪聲和變化.因此,它已經(jīng)廣泛應用于序列建模任務,如自然語言處理[31]和語音識別[32].本文中使用的雙向LSTM 共有3 層,分別是雙向LSTM 層,隱藏層和輸出層,其結構圖如圖4 所示.
圖4 雙向LSTM 結構圖Fig.4 Diagram of the bidirectional LSTM architecture
通過有限元軟件COMSOL Multiphysics 中的“彈性波”物理場建立了鋁板的超聲檢測模型,如圖5 所示.其中,模型的寬為60 mm,高為30 mm,邊界的反射回波與缺陷的反射回波之間有一定的時間差,為了簡化處理,本文將材料的左右和底部邊界設為了低反射邊界.材料參數(shù)如表1 所示.
表1 模型的材料參數(shù)Table 1 Material parameters of the model
在進行超聲波仿真模擬時,在鋁板上施加指定速度作為超聲波的激勵信號,本文選擇了生成簡單、無需調試的單脈沖正弦波作為激勵信號,激勵信號公式如下所示
其中,f(t) 代表激發(fā)的信號,T0是信號的周期,τ0是信號的頻率,t代表時間.
在采集信號時,采用一發(fā)一收的形式對信號進行采集.如圖6 所示,超聲發(fā)射器將超聲波發(fā)射到樣品中,超聲接收器將反射回來的信號接收并記錄下來.收集到的信號可用于計算材料的聲學特性和檢測材料中的缺陷,例如裂紋和空洞等.圖6 中黃色和綠色的線代表了本文數(shù)據(jù)集中氣泡可能出現(xiàn)的位置.
圖6 信號收發(fā)示意圖 (單位:mm)Fig.6 Schematic diagram of signal receiving and sending (unit:mm)
在無損檢測中,超聲波的頻率是影響檢測靈敏度和檢測能力的重要參數(shù)之一.一般來說,超聲波的頻率越高,檢測能力越好,可以檢測到更小的裂紋.但是頻率過高也會帶來一定的問題,例如衰減嚴重和穿透深度變淺等.所以本章采用的是頻率為τ0=2.5MHz 的信號,激勵信號的波形如圖7 所示.
圖7 超聲激勵圖Fig.7 Ultrasonic signal diagram
在發(fā)射激勵信號后,超聲波在鋁板中傳播,會遇到內部缺陷而發(fā)生反射,這部分反射波會被接收裝置接收.如果鋁板中沒有缺陷,則不會有反射回波被接收.從反射回波中獲取信息,可反映出缺陷的位置和大小.圖8(a)和圖8(b)可以觀察到有缺陷和無缺陷的反射回波之間的差別.本文的模型在深度為10 mm 和深度為20 mm 處設置氣泡,缺陷大小有1 mm,1.1 mm,1.2 mm 和1.3 mm 這4 種類型,同一高度,每隔0.05 mm 取一個模型數(shù)據(jù),所以,每個深度含有的數(shù)據(jù)量為2400 個,數(shù)據(jù)集總共有4800 個模型數(shù)據(jù).
圖8 A 掃波形圖Fig.8 Waveform chart
由于波形數(shù)據(jù)復雜,計算機資源有限,構建的神經(jīng)網(wǎng)絡無法一次性將氣泡缺陷的所有特征檢測到.因此,為了檢測氣泡缺陷的各個特征,本文采用層層遞進的方式將缺陷的特征逐層檢測出來.具體操作如下:首先,將所有模型信號按深度分為兩類,一類的深度為10 mm,另一類深度為20 mm.接著,在同一深度,根據(jù)氣泡的大小將缺陷分為4 類,其半徑分別是1 mm,1.1 mm,1.2 mm 和1.3 mm.同時,按照橫坐標位置的不同將缺陷分為30 類.具體細節(jié)如圖9 所示.這種逐層檢測的方法可以有效地區(qū)分缺陷的不同特征,并提高檢測準確率.
圖9 多層級分類策略圖Fig.9 Multilevel classification strategy
深度不同時,波形數(shù)據(jù)的差異可以由圖10(a)和圖10(b)觀察到,這些差異性正是區(qū)分缺陷特征的關鍵信息,這證明了人工檢測缺陷特征的困難性,并突顯了多層級LSTM 神經(jīng)網(wǎng)絡的優(yōu)勢.且波形前期并無明顯波動,缺陷的反射波的到達時間不超過13 μs,所以舍棄前后兩部分數(shù)據(jù),從而減少在訓練神經(jīng)網(wǎng)絡時無用數(shù)據(jù)的輸入,節(jié)省計算時間.當各部分數(shù)據(jù)量不同時,以數(shù)據(jù)量最小的波形為基準,適當刪除每0.001 μs 中的數(shù)據(jù)量個數(shù),使訓練集的輸入維度統(tǒng)一,統(tǒng)一后波形如圖11 所示.
圖10 波形圖例Fig.10 Ultrasound signal
圖11 數(shù)據(jù)統(tǒng)一維度之后的圖例Fig.11 Data after normalization
在處理輸出數(shù)據(jù)時,如果用輸出位置的數(shù)值來表示,會導致模型的準確率不夠高.獨熱(One-Hot)編碼是一種常見的特征編碼方法,常用于機器學習中分類變量的處理.其基本思想是將每個分類變量映射為一個二進制向量,其中只有一位為1,其余位均為0.使用獨熱編碼的分類特征更容易被計算機算法處理,并且可以避免分類特征取值之間的大小和距離問題,因此,在許多機器學習的應用中,獨熱編碼是一個非常有用的數(shù)據(jù)預處理技術.舉例來說,氣泡缺陷可能分布在鋁板的兩個不同深度,(0,1)代表分布在深度為10 mm 的缺陷,(1,0)代表分布在深度為20 mm 的缺陷.
首先LSTM 神經(jīng)網(wǎng)絡將整個數(shù)據(jù)集分為兩類:氣泡深度為10 m m 的為第1 類,氣泡深度為20 mm 的為第2 類,具體分類情況如表2 所示.訓練集和驗證集的準確率隨訓練次數(shù)的變化如圖12(a)所示,其中accuracy 表示訓練集的準確率,val_accuracy表示驗證集的準確率(下同).測試集的結果如圖12(b)所示,紅色菱形代表預測標簽,藍色線條代表真實標簽(下同).在訓練模型時,信號數(shù)據(jù)有4800 個,其中有3888 個作為訓練集,有432 個作為驗證集,有480 個作為測試集.最終測試集全部預測準確,結果準確率為1,說明模型訓練結果良好.
表2 氣泡深度分類Table 2 Classification of bubble depth
圖12 按氣泡深度分為兩類Fig.12 Two categories according to the depth of bubble defects
當氣泡深度為10 mm 時,按照氣泡的半徑大小可將氣泡缺陷分為4 類:1 mm 大小的是第1 類;1.1 mm 的是第2 類;1.2 mm 的是第3 類;1.3 mm 的是第4 類.具體分類情況如表3 所示.訓練集和驗證集的準確率隨訓練次數(shù)的變化如圖13(a)所示,測試集的結果如圖13(b)所示.在訓練模型時,信號數(shù)據(jù)有2400 個,其中有1944 個作為訓練集,有216 個作為驗證集,有240 個作為測試集.最終測試集全部預測準確,結果準確率為1,說明模型訓練結果良好.
表3 氣泡大小分類Table 3 Classification of bubble size
圖13 按氣泡大小分為4 類Fig.13 Four categories according to the size of bubble defects
當氣泡深度為20 mm 時,按照氣泡的半徑大小可將氣泡缺陷分為4 類:1 mm 大小的是第1 類;1.1 mm 的是第2 類;1.2 mm 的是第3 類;1.3 mm 的是第4 類.訓練集和驗證集的準確率隨訓練次數(shù)的變化如圖14(a)所示,測試集的結果如圖14(b)所示.在訓練模型時,信號數(shù)據(jù)有2400 個,其中有1944 個作為訓練集,有216 個作為驗證集,有240 個作為測試集.最終測試集中有4 個預測錯誤,最大預測誤差為0.1 mm,結果準確率為98.3%,說明模型訓練結果良好.
圖14 按氣泡大小分為4 類Fig.14 Four categories according to the size of bubble defects
當氣泡深度位于10 mm 時,按照氣泡的橫坐標位置可以把氣泡缺陷分為30 類,橫坐標范圍是:15~45 mm,每1 mm 之間設置一類,使氣泡缺陷的橫坐標位置精度為1 mm.具體分類情況如表4 所示.訓練集和驗證集的準確率隨訓練次數(shù)的變化如圖15所示,測試集的結果如圖16 所示.在訓練模型時,信號數(shù)據(jù)有2400 個,其中有1944 個作為訓練集,有216 個作為驗證集,有240 個作為測試集.最終測試集有13 個預測錯誤,最大預測誤差為1 mm,結果準確率為94.58%,說明模型訓練結果還有待提高.
表4 氣泡橫坐標的分類Table 4 Classification of the abscissa of bubbles
圖15 訓練集與驗證集的準確率Fig.15 Training accuracy of training set and validation set
圖16 測試集測試結果Fig.16 Testing results of test set
當氣泡深度位于20 mm 時,同樣按照氣泡的橫坐標位置把氣泡缺陷分為30 類,橫坐標范圍是:15~45 mm,每1 mm 之間設置一類.訓練集和驗證集的準確率隨訓練次數(shù)的變化如圖17 所示,測試集的結果如圖18 所示.在訓練模型時,信號數(shù)據(jù)有2400 個,其中有1944 個作為訓練集,有216 個作為驗證集,有240 個作為測試集.最終測試集有8 個預測錯誤,最大預測誤差為1 mm,結果準確率為96.6%,說明模型訓練結果良好.
圖17 訓練集與驗證集的準確率Fig.17 Training accuracy of training set and validation set
圖18 測試集測試結果Fig.18 Testing results of test set
訓練機器學習模型后,模型的預測準確率并不總是100%.有許多其他技術可以提高模型的預測準確率[33],例如增加訓練數(shù)據(jù)、調參和投票方法等.本文為了減少預測誤差,采用了訓練多個模型并通過投票過程進行決策的方法,避免了繁復的調參問題.結果表明,在不同的氣泡檢測場景下,硬投票方法都能有效地提高預測準確率.圖19 展示的是使用3 個不同模型對橫坐標(氣泡位于10 mm 深度)檢測的硬投票過程,準確率由原來最高的94.58%提高到了95.83%,預測錯誤數(shù)量由13 個減少為10 個.同樣地,在氣泡位于20 mm 深度的橫坐標的檢測中,使用了5 個模型對該位置的氣泡預測進行了硬投票,準確率由原來最高的96.6%提高到了97.5%,預測錯誤的數(shù)量由8 個減少為6 個,可見硬投票是提高效率的優(yōu)秀方法.
圖19 硬投票前后模型預測結果Fig.19 Predicted results of the model before and after hard voting
本文主要對有氣泡缺陷的鋁板進行了有限元仿真,并通過激發(fā)超聲波探測鋁板的缺陷,對氣泡的位置和大小進行了研究.本文得到主要結論如下.
(1)建立了鋁板氣泡缺陷的仿真模型,模型可以模擬超聲波的傳播及遇到缺陷之后的反射,并通過設置接收超聲波反射波的探針,導出了超聲波信號,為下一步的分析做了基礎.
(2)建立了多層級的LSTM 神經(jīng)網(wǎng)絡,用于分析接收到的超聲波信號,網(wǎng)絡經(jīng)過訓練后,可以高效地、快速地對鋁板的氣泡缺陷進行預測和分類,從而得到氣泡缺陷的位置和大小,結果表明,經(jīng)過模型的預測和硬投票之后,氣泡半徑檢測的準確率達到98%以上,氣泡深度檢測的準確率達到1,氣泡橫坐標位置檢測的準確率在95%以上.
在處理鋁板缺陷檢測的情況時,其水平位置的檢測準確率達到了95%以上,如需提高準確率,可以將接收和發(fā)射裝置同時向左移動1 mm,用第1 次訓練好的模型對波形數(shù)據(jù)進行預測,得出的結果應該比第1 次預測的結果大1 mm.再將兩個裝置向右移動1 mm,用第1 次的模型進行預測,所得的結果應該比第1 次預測的結果小1 mm,比第2 次預測的結果小2 mm.在確定最終結果時,同樣采用硬投票的方法,將出現(xiàn)頻率最高的結果作為最終的決策.這種改進方法可以提高缺陷檢測的準確性.