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