(北京衛(wèi)星環(huán)境工程研究所,北京 100094)
目前國外的超聲無損檢測系統(tǒng)已經(jīng)發(fā)展到很高的水平,研制出了很多數(shù)字化、智能化的超聲無損檢測設備,當然價格也是十分高昂,但國內相關研究卻乏善可陳,因此這方面的研究具有重要的意義[1-2]。
超聲波在被測試件中傳播,在穿過界面和障礙塊時會發(fā)生以上的反射、折射、衍射和干涉等現(xiàn)象,超聲波的頻率幅值和相位等參數(shù)會發(fā)生變化,因此回波信號可以反映試件內部眾多的缺陷信息。但是如今大部分的手持式的超聲無損探傷儀器均為通過人工讀取到的首波時間、幅值來判斷該被測試件是否有內部缺陷,大大降低的檢測的效率和準確性[3]。
實際上,回波信號中的首波時間,波速,波形峰值,頻率分量等,都蘊含著大量的信息,通過算法將多種信息融合,可以令機器對缺陷的判斷與識別更加準確,從而代替當前的人工肉眼觀看并依賴經(jīng)驗判斷的方法[4-5]。對信息特征的提取根據(jù)處理域可分為:頻域分析法,時域分析法和時頻分析法[6]。
支持向量機(Support Vector Machine, SVM) 是一種監(jiān)督式學習的機器學習方法,機器學習本質上就是對問題真實模型的逼近[7-8]。
支持向量機的基本思想是:針對低維空間中的非線性可分的數(shù)據(jù)樣本,為了實現(xiàn)其線性可分,建立一個非線性映射,將樣本轉換到高維空間,并在高維空間中搜索分類超平面,當某個分類超平面兩側的兩類樣本之間距離最遠,這就是最優(yōu)的超平面[9-11]。其特點有:實現(xiàn)了最優(yōu)化結構風險,對小樣本數(shù)據(jù)的學習具有良好的泛化能力,避免了神經(jīng)網(wǎng)絡算法中存在的過擬合問題;可以通過設置懲罰參數(shù)和核函數(shù)等參數(shù)來實現(xiàn)非線性分割。由于SVM算法有這些特點,因此它經(jīng)常被應用在小樣本的分類上和非線性實際問題的分類上。
對于實際的超聲無損檢測實驗來說,我們只能從被測試件表面,通過肉眼判斷出該被測試件的表面某一部分是完好的,測試此部分的數(shù)據(jù)即可得到數(shù)據(jù)標簽均為無缺陷的訓練集。在這種情況下,無法得到標簽為有缺陷的訓練集信號,訓練數(shù)據(jù)不均衡,比例嚴重失調,那么此時用到的方法就是單分類支持向量機(One Class SVM),即為一分類支持向量機。與傳統(tǒng)二分類的SVM相比,One Class SVM可以訓練出一個高維超球面,把訓練數(shù)據(jù)盡量緊的包圍起來。
One Class SVM常用于數(shù)據(jù)離群點檢測、異常檢測等。對于實際的被測試件來說,在缺陷診斷之前,通常不能得到含有缺陷信息的回波信號,只能根據(jù)試件表面的完整性測得一些代表無缺陷的回波信號,也就是支持向量機只有一類標簽為“無缺陷”的訓練數(shù)據(jù),所以選擇One Class SVM實現(xiàn)分類。
本系統(tǒng)設計的超聲無損檢測系統(tǒng)如圖1所示,包括4大部分:
圖1 超聲無損檢測系統(tǒng)結構
1.1.1 FPGA核心控制模塊
控制系統(tǒng)的整體工作時鐘,控制LCD1602顯示激發(fā)信號的幅值和頻率,產(chǎn)生方波控制信號,通過USB接口實現(xiàn)與上位機的通訊,傳到上位機顯示并保存,以便后期進行回波信號的處理。
1.1.2 激勵信號發(fā)射模塊
對方波控制信號進行兩次功率放大,以產(chǎn)生幅值為50—300 V可調、頻率為10—80 Hz可調的高壓負脈沖,激發(fā)換能器。
1.1.3 超聲回波信號接收模塊
超聲回波信號接收模塊主要是對超聲回波信號做放大、濾波等預處理使其滿足研究要求,放大倍數(shù)為前置放大62 dB,二級放大0—25 dB可調,帶通濾波器帶寬1—100 kHz左右。
1.1.4 超聲回波信號采集模塊
超聲信號采集模塊完成回波信號的調理和12位的AD采樣,采集頻率為5MHz,分辨率為2.4mV,精度為1.5mV。將模擬回波信號變?yōu)閿?shù)字信號存儲在FPGA片內存儲器中。
1.1.5 PC上位機
PC上位機作為人機交互接口,可以進行數(shù)據(jù)的存儲和重現(xiàn)。PC機通過USB接口與下位機的FPGA進行通訊。
模塊化設計思想在大規(guī)模復雜FPGA系統(tǒng)設計時應用廣泛,模塊化設計可以提高設計效率并減短設計周期同時保證工程的質量。模塊化設計指的是將一個大系統(tǒng)按照一定標準分割成幾個相對獨立的模塊,模塊間做好接口的統(tǒng)一,然后每個模塊就有了輸入輸出參數(shù),可以對每個相對簡單的模塊就行設計,最后將所有模塊整合在一起,完成整體設計。
本系統(tǒng)FPGA 邏輯設計主要包含:
PLL時鐘模塊:利用 FPGA 內部的IP核對輸入的全局時鐘信號進行倍頻移相處理,產(chǎn)生用于SignalTap II顯示和USB傳輸?shù)姆诸l時鐘;
AD模塊:采集超聲回波信號的數(shù)據(jù),并且產(chǎn)生發(fā)射電路需要的激勵控制信號;
ADC0809模塊:采集發(fā)射電路用到的高壓電源的電壓;
USB模塊:傳輸數(shù)據(jù)到上位機軟件進行顯示和保存;
SignalTap II 模塊:利用JTAG傳輸數(shù)據(jù)并在電腦端顯示;
ADConversion模塊:把ADC0809模塊采集到的高壓電源電壓的數(shù)據(jù)轉換成實際電壓的BCD碼;
FREQUENT_BCD模塊 :把發(fā)射電路中激勵控制信號的頻率轉換成實際頻率的BCD碼;
LCD1602顯示配置模塊,顯示高壓電源的實際電壓和激勵控制信號的頻率。
本系統(tǒng)中超聲回波信號分析及SVM缺陷診斷過程為:
1)時域、時頻域特征分析;
2)主成分分析法特征提??;
3)SVM模型參數(shù)優(yōu)化;
4)訓練缺陷診斷SVM模型;
5)缺陷診斷結果輸出。
2.1.1 時域特征分析
回波信號的聲程不同時,差異首先會在時域特征參數(shù)中顯示出來,首先進行時域特征的提取,每個信號提取出九種特征:
首波時間;峰峰值;整流平均值;方差;均方根;波形因子;峰值因子;峭度因子;脈沖因子,組成特征向量T1。
2.1.2 時頻域特征分析
分析平穩(wěn)時變信號時,單獨進行頻域和時域分析就可以得到足夠的信號信息了,而在實際的工程中,往往面對的是非平穩(wěn)時變信號。而在超聲檢測中,分析的回波信號就是典型的非平穩(wěn)時變信號。這時候,時頻分析法(JTFA)即時頻聯(lián)合域分析(Joint Time-Frequency Analysis)就可以發(fā)揮作用,時變非平穩(wěn)信號可以通過時頻分析進行有效分析。時頻分析方法能夠分析得到信號在時間維度和頻率維度上的聯(lián)合分布信息,可表示出頻率能量在時間維度上的變化情況,相較于單獨的時域分析法和頻域分析法,有著天然的優(yōu)勢,的到了廣泛的關注。時頻分析實際是建立了信號在時間和頻率兩個參數(shù)下的表達函數(shù),可以得到信號能量在時域和頻域的二位分布,這種分布成為時頻分布。
小波分析是一種對信號進行變換分析的新方法,它是在短時傅里葉變換局部化思想的基礎上發(fā)展來的。
如果給定母小波ψ(t)=db18、尺度因子a和位移因子b(其中a>0),那么母小波ψ(t)=db18做伸縮和平移后得到一組小波函數(shù)ψ(t)=db18,其中:
(1)
則原始信號f(t)以小波ψ(t)為基的小波變換是:
(2)
小波時頻分析的窗口大小固定,但可以改變頻率窗和時間窗的形狀,具有多分辨率分析的特點,對于分析超聲回波這類非平穩(wěn)信號非常適合。
而小波變換中,高頻部分的分辨率較低,分析精度低,而小波包分析則是把該段高頻部分繼續(xù)細分,明顯提高了時頻分辨率,具有廣泛的應用價值。
小波包分解將信號頻帶進行了多層次劃分,每個結點都可以重構出一個新的信號,即為原始信號在特定頻段下的分解波形。其近似系數(shù)和細節(jié)系數(shù)對原始信號的局部信息做了更為精細的刻畫。由于不同頻率的信號聲衰減系數(shù)不同,那么聲波遇到缺陷就會在頻率上和不同頻率的波形上反映出來某些特征信息。
選取小波基ψ(t)=db18,對回波信號進行五層小波包分解,分別計算第五層每個節(jié)點的的能量占總能量的比值,得到能量最大的兩個節(jié)點(5,0)(5,1),以兩點的能量占比作為參數(shù),組成2維的特征向量T2。同時對節(jié)點(5,0)(5,1)重構的信號分別選取T1所述的9維數(shù)學特征和統(tǒng)計特征參數(shù), 并將其組成18維的特征向量T3,組成結合了時域和時頻域分析結果的29維特征向量:
T=[T1,T2,T3]
提取回波信號的各個特征參數(shù)是診斷的重要環(huán)節(jié),直接決定了檢測結果的準確性,在實際情況中,如果采用了多種信號表征方式,則得到的參數(shù)會包含相同的信息,而且與結果相關的特征參數(shù)只占參數(shù)的一部分,所以會有大量的特征參數(shù)是重復參數(shù)。有用特征的重復表達對于信號處理增加了難度,降低了效率。為了實現(xiàn)參數(shù)壓縮,聚焦有用的關鍵參數(shù),減小分析計算量,人們提出了主成分分析法(Principle Component Analysis,PCA),對提取的特征指標在不影響分析結果的情況下進行簡化,進而降低數(shù)據(jù)維度,提高分析效率。
原始數(shù)據(jù)歸一化后的特征矩陣X可表示為:
(3)
(4)
最后根據(jù)此樣本協(xié)方差進行主成分分析即可得到樣本的各主成分。 根據(jù)主成分的計算過程可以得知,它是將d個隨機變量的方差和表示成K個不相關的特征向量的方差和λ1+λ2+…λK。這里不同的方差λi表示所對應的特征向量占所有方差和的比率,也即是通常說的貢獻率,此貢獻率值越大,表示所對應的主成分能表征原始樣本的可能就越大。
通常說來,第一主成分不足以表征原始樣本,需要按照貢獻率從大到小的順序從中選取r個主成分來表示原始樣本,可通過一個貢獻率累積值來確定r的值,貢獻率累計值可表示為:
(5)
根據(jù)實際需要,wr可有不同的選擇,通??刂圃?85%以上。
在機器學習中,單分類主要是通過從只包含一類數(shù)據(jù)的訓練集中學習,從而在所有測試數(shù)據(jù)中識別該特定類。單分類與傳統(tǒng)的二分類問題不同,甚至比傳統(tǒng)分類問題更復雜,傳統(tǒng)分類模型的訓練集中包含所有類的數(shù)據(jù),分類面是由所有類的數(shù)據(jù)共同決定的,目標是將各類數(shù)據(jù)區(qū)分。而單分類模型的訓練集中只包含一類數(shù)據(jù),目標是判斷測試數(shù)據(jù)是否屬于這一類。
在針對實際試件的檢測中,我們只需要知道此試件的某一部分是有缺陷還是無缺陷,而不需要知道具體是什么類型的缺陷,所以選擇One Class SVM算法對特征提取后的數(shù)據(jù)集進行訓練,建立缺陷分類模型。
所以測試方案為:針對試件中有一部分已知是無缺陷的,測得此無缺陷部分的回波信號作為訓練集,另一些代表有缺陷和無缺陷的信號作為測試集?;赟VM分類的超聲回波信號缺陷診斷模型工作流程如圖2所示。
圖2 缺陷診斷流程
1)將所有回波信號的高維原始特征向量歸一化,歸一化的區(qū)間是[0,1]。
2)為了實現(xiàn)參數(shù)壓縮,聚焦有用的關鍵參數(shù),減小分析計算量,采用主成分分析法(Principle Component Analysis,PCA)降維,為了盡可能還原原始樣本,將累積貢獻率定為 97%,進而降低數(shù)據(jù)維度,提高分析效率。
3)訓練集中的特征向量進行SVM分類器建模,按照網(wǎng)格搜索算法給懲罰參數(shù)nu和核函數(shù)參數(shù)g賦值。本論文是按照最小值-10,最大值0,步進值大小為0.2給nu賦值;按照最小值-10,最大值10,步進值大小為 0.5給 g賦值。與此同時,按照交叉驗證思想,進行10折交叉驗證,選擇出學習準確率最高的一組最優(yōu)參數(shù)組合,作為最終SVM 分類模型參數(shù)。
4)利用測試集中的數(shù)據(jù)作為分類器的輸入數(shù)據(jù),檢驗模型的準確率是否達到要求。
為了證明系統(tǒng)的有效性,我們選用有缺陷的木質材料作為被測試件,對系統(tǒng)的整體性能進行驗證,包括驗證系統(tǒng)硬件各模塊的可用性及SVM方法進行缺陷診斷結果的準確率。
木質被測試件的俯視圖如圖3所示。在試件上表面比較均勻的分布28個待測點,每兩個點之間測一組數(shù)據(jù),共可得到378組數(shù)據(jù)。其中試件的上半部分分布著待測點1到16號,我們認定這一部分是已知的、試件無缺陷的部分,這一部分的16個點,可以測得120組數(shù)據(jù),這些數(shù)據(jù)將作為SVM分類器的訓練集,其余的258組數(shù)據(jù)作為測試集。
圖3 被測試件
對同一試件的測試中,保持激發(fā)電壓恒定,測量不同測試點之間的回波信號,保存并分析其特征。本實驗中,激發(fā)電壓為120 V恒定,AD采樣率為5 MHz,超聲傳感器主頻為50 kHz。
實際測得378組回波信號數(shù)據(jù),得到8192×378的一個矩陣,每一列是信號的8192個數(shù)據(jù)點,其中部分無缺陷和有缺陷的回波信號波形如圖4和圖5所示。兩圖對比可以看出部分有無缺陷的回波信號之間差異很大,部分差異很小,很多信號依靠人工判讀都無法識別。
進行回波信號缺陷診斷,首先對每一組回波信號進行特征分析,得到2.1節(jié)所述的29維特征向量,即得到一個29×378的特征矩陣,特征分析可以讓回波信號數(shù)據(jù)的維數(shù)大大減小。
圖4 無缺陷回波信號
圖5 有缺陷回波信號
特征矩陣每一列是一個樣本,由于同一個樣本中,不同特征值之間數(shù)值差異較大,所以對特征矩陣進行行歸一化,歸一化范圍為[0,1]。
然后利用PCA降維算法進行特征提取,前十維特征的貢獻率如表1所示,為了兼顧盡量更好地還原數(shù)據(jù)樣本和特征降維減少計算量,貢獻率定為97%,所以選取降維矩陣中的前八維特征向量。
表1 降維矩陣前 維特征向量的累積貢獻率
利用已知數(shù)據(jù)分類標簽為無缺陷的120組數(shù)據(jù)作為訓練集,建立SVM分類器模型,利用網(wǎng)格搜索法結合十折交叉驗證對模型參數(shù)進行調整,調整后的具體模型參數(shù)為:
1)SVM類型:單分類one-class SVM。
2)核函數(shù)類型:高斯核函數(shù)。
3)交叉驗證模式:10折交叉驗證。
4)懲罰參數(shù)nu:0.0034。
5)核函數(shù)參數(shù)g:0.0078。
最后得到在上述模型參數(shù)下,模型的準確率為98%。
利用未在訓練集中用到的258組數(shù)據(jù)作為測試集,輸入到模型中進行測試,有248個數(shù)據(jù)都預測正確,準確率為96.124%,結果如圖6所示。
圖6 測試數(shù)據(jù)分類結果
其中有波形50, 100, 130, 132, 141, 151, 161, 162, 210, 211共計10個數(shù)據(jù)發(fā)生判斷錯誤,波形50, 100, 130, 132, 141是無缺陷被判斷為有缺陷,波形151, 161, 162, 210, 211是有缺陷的被判斷為無缺陷,這些波形差異很小,每個波形都既有有缺陷的特征和無缺陷的特征,無法診斷其損傷特性。此種誤差帶來的診斷的不確定性,可以通過多測幾組不同距離和方向的數(shù)據(jù)來盡量減小和消除。
通過上述實驗可以發(fā)現(xiàn),本檢測系統(tǒng)在波形顯示和數(shù)據(jù)分析方面有較好的正確性和可靠性。分類模型訓練只需要較少的數(shù)據(jù)就可以得到較高的準確率。
本論文針對傳統(tǒng)的超聲波檢測設備對試件缺陷診斷不準確的問題,提出了一種機器學習在超聲波無損檢測中的應用,并對實際試件進行了實驗驗證。
首先從時域和時頻域兩個方面進行了回波信號的特征選擇,然后運用PCA的方法進行數(shù)據(jù)特征提取與篩選,接著建立SVM分類器模型,并利用網(wǎng)格搜索算法結合十折交叉驗證對模型參數(shù)進行調整,最后用測試集數(shù)據(jù)對模型進行評估,最終使用硬件系統(tǒng)實際測量超聲波回波信號和對回波信號進行分析診斷并驗證診斷準確率,實驗表明回波信號發(fā)射和采集穩(wěn)定可靠,診斷準確率較高,本檢測系統(tǒng)比較完善。
本研究中的基于SVM方法的缺陷診斷算法,是通過對時頻域分析后的回波信號進行學習,建立判斷規(guī)則,就可以得知試件各個部分的缺陷診斷結果,并實驗驗證該算法的準確率可達95%以上,解決了傳統(tǒng)的人工肉眼識別、經(jīng)驗判斷的缺陷診斷模式不準確的問題,對解決自動化診斷超聲回波信號具有切實可行的指導意義。