冷 佳,劉 鎮(zhèn),張笑非,湯浩宇
(1.江蘇科技大學(xué) 計算機學(xué)院,江蘇 鎮(zhèn)江 212100;2.江蘇科技大學(xué)蘇州理工學(xué)院電氣與信息工程學(xué)院,江蘇蘇州 215600)
軸承是最基本、最重要的機械部件之一,它的任何部位出現(xiàn)故障都可能導(dǎo)致機器運行狀況惡化,發(fā)生機械故障和人員傷亡。因此,準(zhǔn)確識別軸承故障至關(guān)重要?;谡駝有盘柗治龅墓收显\斷方法能有效診斷機械缺陷[1]。軸承振動信號分析是故障診斷和故障檢測的重要途徑。用于軸承故障診斷的振動信號處理方法一般包括特征提取和模型選擇與構(gòu)建兩個階段[2]。
在提取信號特征方面廣泛使用的是時域分析、頻域分析和時頻域分析方法。典型的時域分析是從時間序列信號中計算統(tǒng)計條件指標(biāo),常用的條件指標(biāo)包括描述性統(tǒng)計,如平均值、峰值、峰間間隔和標(biāo)準(zhǔn)差。采用均方根(Root Mean Square,MS)、波峰因子等簡單條件指標(biāo)檢測局部軸承缺陷的效果有限[3]。由于頻域分析可以很容易地分離和識別某些重要信號特征,它比時域分析有一定優(yōu)勢;快速傅里葉變換(Fast Fourier Transform,F(xiàn)FT)[4]是一種典型的頻域分析方法,F(xiàn)FT 可有效獲取窄帶光譜。在軸承故障診斷中,高頻段和低頻段的頻譜成分都是有價值的,特別是滾動軸承的缺陷在運行過程中產(chǎn)生短暫的脈沖,導(dǎo)致特定頻段內(nèi)高能。一般采用時頻域分析方法來擴展非平穩(wěn)波形信號的頻域分析能力,常見的時頻域分析方法有短時傅里葉變換(Short-Fourier Transform,STFT)[5]、Wigner-Ville 分布[6]和小波變換(WT)[7-8]等,它們可以處理非平穩(wěn)信號進行機器故障診斷。然而,短時傅立葉變換無法同時達(dá)到最佳的時頻分辨率,Wigner-Ville 分布的交叉項接口以及小波變換的能量泄漏問題和基函數(shù)選擇的準(zhǔn)確性[9]限制了這些方法在軸承故障診斷中的應(yīng)用。希爾伯特—黃變換(Hilbert-Huang Transform,HHT)中的經(jīng)驗?zāi)B(tài)分解(Empirical Mode Decomposition,EMD)是一種應(yīng)用于旋轉(zhuǎn)機械故障診斷的強時頻域分析方法,它對不含基函數(shù)的信號進行分解,適用于平穩(wěn)信號和非平穩(wěn)信號[10]。雖然EMD相關(guān)方法已經(jīng)取得了成果,但隨著工況的變化,其計算量大、結(jié)果復(fù)雜[11]。
故障診斷領(lǐng)域常選擇機器學(xué)習(xí)作為分類工具,如隱馬爾科夫模型、貝葉斯網(wǎng)絡(luò)、反向傳播(Back Propagation)神經(jīng)網(wǎng)絡(luò)、支持向量機等。由于這些算法的網(wǎng)絡(luò)結(jié)構(gòu)較淺,所以特征提取能力比較差,從而難以挖掘到故障數(shù)據(jù)更深層次的微小特征。深度學(xué)習(xí)是機器學(xué)習(xí)的一個分支,因其易于訓(xùn)練和分類精度高而成為實現(xiàn)特征提取和故障識別的有效工具;為了克服傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANNs)的不足,Lei 等[12]提出由堆疊自編碼器(Stacked_AutoEncoder,SAEs)組成的深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNNs)對滾動軸承和行星齒輪箱進行故障診斷,但是該方法需要將原始數(shù)據(jù)轉(zhuǎn)化為頻譜信號;卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)作為深度學(xué)習(xí)的一個重要分支,由于其具有稀疏連通性、共享權(quán)值和局部域的特點,能夠更好地提取深度特征,抑制網(wǎng)絡(luò)過擬合[13],因此可用于CNN 完成軸承故障診斷。Zhang 等[14]直接將原始時間信號作為1D CNN 輸入,實現(xiàn)了端到端軸承故障診斷,在噪聲和不同工作負(fù)載下實現(xiàn)了較高的診斷性能;Peng 等[15]提出基于一維CNN 的殘差學(xué)習(xí)與原始振動信號相結(jié)合的變載荷軸承診斷方法,但原始振動信號并不能直觀表征軸承的故障特征。針對以上使用的原始振動信號,一些研究者嘗試從圖像處理角度實現(xiàn)軸承的智能故障診斷,提供一種新的診斷思路;Li 等[16]利用STFT 和CNN 對軸承故障特征進行提取和分類;Ding 等[17]利用深度卷積網(wǎng)絡(luò)自動學(xué)習(xí)小波包能量(Wavelet Packet Energy,WPE),生成圖像的多尺度特征用于軸承故障診斷。但如果只是將一維原始的故障信號轉(zhuǎn)化成二維的特征圖,對故障信號直接處理會很不方便,而且很容易丟失某些故障數(shù)據(jù)的重要特征,導(dǎo)致分類不準(zhǔn)確。
根據(jù)以上分析,本文提出一種多特征融合CNN 網(wǎng)絡(luò)的旋轉(zhuǎn)機械故障診斷方法。該方法首先對振動信號進行連續(xù)小波變換,得到二維小波時頻圖;然后構(gòu)建多特征融合CNN 網(wǎng)絡(luò)模型。其中,原始一維旋轉(zhuǎn)機械振動信號作為1DCNN 模型的輸入,變換而來的二維小波時頻圖作為2D CNN 模型的輸入;然后將它們分別進行卷積層和池化層的特征提取,得到拉伸后的特征向量;最后,兩組訓(xùn)練數(shù)據(jù)在匯聚層進行拼接,經(jīng)過全連接層和分類層后實現(xiàn)不同旋轉(zhuǎn)機械故障的具體分類。本文將一維旋轉(zhuǎn)機械振動信號、二維時頻圖和CNN 相結(jié)合,既可以輸入時域特征,又可以輸入時頻特征,最后利用CNN 來實現(xiàn)多特征融合。該方法明顯的優(yōu)點是既最大程度地保留了原始一維振動信號的某些重要原始特征,又充分發(fā)揮了卷積神經(jīng)網(wǎng)絡(luò)對二維圖像分類精確度高的優(yōu)勢,從而豐富了不同維度特征,進而提高了旋轉(zhuǎn)機械故障診斷的準(zhǔn)確率。
小波變換廣泛應(yīng)用于提取原始信號的時域和頻域特征,通過平移獲取信號時域信息,通過縮放小波母函數(shù)的尺寸獲取信號頻域信息。它對信號的時頻域可以局部放大分析,調(diào)整尺度因子大小來改變低頻信號和高頻信號的時間分辨率及頻率分辨率,以適應(yīng)不同成分的信號,因而小波分析法在故障診斷方面效果很好。
基本小波函數(shù)ψ(t)通常稱為母小波函數(shù),在此基礎(chǔ)上,一組時間尺度小波ψa,b(t)可用尺度和平移平差表示:
其中,a和b分別為尺度因子和平移因子。
對于任意信號函數(shù)ψ(t) ∈L2(R),相應(yīng)的連續(xù)小波變換定義為:
CNN 是一種深度神經(jīng)網(wǎng)絡(luò),其特點是神經(jīng)元的結(jié)構(gòu)具有權(quán)值和偏差,可以通過訓(xùn)練進行調(diào)整。CNN 結(jié)構(gòu)主要由一個輸入層、一個輸出層和多個隱藏層組成,其中隱藏層通常包含卷積層、池化層和全連接層,其基本結(jié)構(gòu)如圖1 所示。許多CNN 結(jié)構(gòu)已經(jīng)在圖像處理、形狀識別和視頻分析中得到應(yīng)用,這些都證明了CNN 模型的有效性[18-19]。
Fig.1 Basic structure of CNN network圖1 CNN 網(wǎng)絡(luò)基本結(jié)構(gòu)
1D CNN 對于從序列數(shù)據(jù)[20]中提取重要的特征非常有效。一維信號輸入網(wǎng)絡(luò)模型后,自動逐層提取特征,且提取特征的抽象程度逐漸變高,提取的特征經(jīng)過全連接層和輸入層,從而實現(xiàn)對一維信號不同種類的分類。
2D CNN 對于從二維圖像[21]中提取有用特征很有效,它也可以用來提取二維信號結(jié)構(gòu)特征,同樣適用于時頻圖的特征學(xué)習(xí)和識別。二維信號或圖像輸入網(wǎng)絡(luò)模型后,經(jīng)過卷積層、池化層和全連接層后,輸出為不同信號或圖像的具體分類。
2.3.1 輸入層
卷積神經(jīng)網(wǎng)絡(luò)輸入層可以處理多維數(shù)據(jù)。一維卷積神經(jīng)網(wǎng)絡(luò)的輸入層接收一維或二維數(shù)組,其中一維數(shù)組通常為時間或頻譜采樣,二維數(shù)組可能包含多個通道。二維卷積神經(jīng)網(wǎng)絡(luò)的輸入層接收二維或三維數(shù)組。卷積神經(jīng)網(wǎng)絡(luò)的輸入表達(dá)式為:
其中,X為初始輸入數(shù)據(jù),θ(1)、θ(2)、K、θ(L)為學(xué)習(xí)變量參數(shù),即每一級對應(yīng)的偏置與權(quán)重,f1、Kf2、fL為每一級相應(yīng)的函數(shù),每一級的輸出結(jié)構(gòu)均為特征映射矩陣。
2.3.2 卷積層
卷積層由若干卷積核卷積運算得到的特征圖組成,卷積核具有局部感知和參數(shù)共享特性,在學(xué)習(xí)到多種特征表示的同時能大幅減少模型參數(shù)量。卷積層通過一組核權(quán)重和一個激活函數(shù)生成一個輸出特征圖。卷積運算可以表示為:
其中,l表示神經(jīng)網(wǎng)絡(luò)的層數(shù)序號,k'為輸出特征映射矩陣的序號,k為輸入特征映射矩陣的序號,分別為第l層中第k'個神經(jīng)元的輸入和偏置,為第l-1 層中第k'個神經(jīng)元與第l層中第k個神經(jīng)元之間的卷積核,為第l-1 層的第k'個神經(jīng)元的輸出,K 為第l-1 層神經(jīng)元個數(shù)。
為了增加網(wǎng)絡(luò)的非線性,在每個卷積操作之后通常還會應(yīng)用激活函數(shù)。為了有效防止梯度消失和加快網(wǎng)絡(luò)收斂速度,激活函數(shù)采用修正線性單元(rectified linear unit,ReLU),表達(dá)式為:
式(5)中,xijk為第k個特征映射矩陣的(i,j)元素。
因此卷積層中每個神經(jīng)元的最終輸出為:
2.3.3 池化層
在每個卷積層之后都有一個池化層。池化層是減少輸入特性的水平和垂直空間的操作。池化層根據(jù)輸入數(shù)據(jù)的通道數(shù)產(chǎn)生輸出數(shù)據(jù)。在圖像識別領(lǐng)域,主要采用最大池化,即取某位置相鄰區(qū)域內(nèi)的最大值作為該位置的最終輸出。最大池化公式為:
其中,p為池化窗口長度,yi'j'k為池化之前區(qū)域值,yijk為池化處理之后的值。
2.3.4 全連接層
池化層之后是完全連接層。全連通層中的每個神經(jīng)元都連接到最后一個池化層中的所有特征映射,提取全連通層中的高級特征作為輸出層的輸入,然后生成CNN 模型的預(yù)測輸出。全連接層正向傳播表達(dá)式為:
本文所提出的多特征融合CNN 網(wǎng)絡(luò)旋轉(zhuǎn)機械故障診斷方法流程如下:首先對傳感器獲得的原始一維振動信號進行連續(xù)小波變換(Continuous Wavelet Transform,CWT),得到小波時頻圖;然后構(gòu)建多特征融合CNN 網(wǎng)絡(luò)模型,將一維旋轉(zhuǎn)機械振動信號輸入到雙流CNN 的1D CNN 模型中,將得到的小波時頻圖輸入到雙流CNN 的2D CNN 模型中,分別進行卷積層和池化層的特征提取后,拉伸為特征向量;隨后在匯聚層進行拼接;最后經(jīng)過全連接層和分類層得到不同旋轉(zhuǎn)機械故障的具體分類結(jié)果,流程如圖2 所示。
在數(shù)據(jù)預(yù)處理階段,利用CNN 能夠?qū)崿F(xiàn)多特征融合,即既可將時域特征作為網(wǎng)絡(luò)輸入,又可將時頻特征作為網(wǎng)絡(luò)輸入,從而豐富不同維度特征。因此,本文將一維旋轉(zhuǎn)機械振動信號作為多特征融合CNN 網(wǎng)絡(luò)模型中1D CNN 網(wǎng)絡(luò)模型的輸入,將從連續(xù)小波變換得到的小波時頻圖作為多特征融合CNN 網(wǎng)絡(luò)模型中2D CNN 網(wǎng)絡(luò)模型的輸入。圖3 為原始振動信號(彩圖掃OSID 碼可見,下同),圖4 為經(jīng)連續(xù)小波變換后得到的小波時頻圖。
Fig.2 Method flow圖2 方法流程
Fig.3 Original vibration signal圖3 原始振動信號
Fig.4 Wavelet time-frequency圖4 小波時頻
為了更好地利用一維原始振動信號和二維時頻圖融合和豐富兩個不同維度特征,本文充分發(fā)揮CNN 的多特征融合優(yōu)勢,使用多特征融合CNN 網(wǎng)絡(luò)模型作為軸承故障診斷模型,本文多特征融合CNN 網(wǎng)絡(luò)模型結(jié)構(gòu)如圖5 所示。多特征融合CNN 網(wǎng)絡(luò)模型中1D CNN 的輸入是一維數(shù)組,所以在軸承故障診斷中可以直接輸入原始的一維振動信號,而2D CNN 輸入的是二維信號或者圖像,所以需要對原始信號做一定的預(yù)處理將其轉(zhuǎn)化為二維信號或者圖像。
原始的一維旋轉(zhuǎn)機械振動信號輸入1D CNN 模型,經(jīng)過輸入層、卷積層、池化層、全連接層,得到拉伸后的一組特征向量;同時將原始的一維旋轉(zhuǎn)機械振動信號經(jīng)過連續(xù)小波變換后得到的小波時頻圖輸入2D CNN 模型,同樣經(jīng)過輸入層、卷積層、池化層、卷積、全連接層,得到另一組拉伸后的特征向量。將兩組向量在匯聚層進行拼接,再經(jīng)過Dropout 層、全連接層和分類層,最終得到不同旋轉(zhuǎn)機械故障的分類。
本實驗數(shù)據(jù)集1 來自凱斯西儲大學(xué)(CWRU)的軸承數(shù)據(jù)庫。如表1 所示,數(shù)據(jù)的采集頻率為48kHz,數(shù)據(jù)集包含不同的組件故障以及同一類但具有不同嚴(yán)重級別的故障,共10 種故障類別。其中,正常作為一類特殊的故障類型,其他依次為滾動體、內(nèi)圈和外圈,分別為在損傷斑點0.007inches,0.014 inches,0.021 inches 三種直徑下的故障模式。每類故障各有1 000 個樣本,一共10 000 個樣本。數(shù)據(jù)集按照7∶2∶1 的比例劃分,即訓(xùn)練集7 000 個,驗證集2 000 個,測試集1 000 個。
本實驗數(shù)據(jù)集2 來自機械故障預(yù)防技術(shù)學(xué)會(MFPT)的軸承數(shù)據(jù)庫。如表2 所示,輸入軸速率為25Hz,采樣速率為48 828sps。數(shù)據(jù)集包含不同的組件故障以及同一類但具有不同嚴(yán)重級別的故障,共14 種故障類別。每類故障各有1 000 個樣本,一共有14 000 個樣本。數(shù)據(jù)集按照7∶2∶1 的比例劃分,即訓(xùn)練集9 800 個,驗證集2 800 個,測試集1 400 個。
Fig.5 CNN network model structure with multi-feature fusion圖5 多特征融合CNN 網(wǎng)絡(luò)模型結(jié)構(gòu)
Table 1 Experimental data set 1表1 實驗數(shù)據(jù)集1
Table 2 Experimental data set 2表2 實驗數(shù)據(jù)集2
本文實驗環(huán)境基于Windows10(64 位),MATLAB R2014b,JetBrains PyCharm 2018.3 x64。
多特征融合CNN 網(wǎng)絡(luò)中1D CNN 網(wǎng)絡(luò)模型各層設(shè)置如表3 所示。模型共有2 個卷積層,第1 個卷積層有6 個卷積核,第2 個卷積層有16 個卷積核。多特征融合CNN 網(wǎng)絡(luò)中2D CNN 網(wǎng)絡(luò)模型各層設(shè)置如表4 所示。模型共有2 個卷積層,第1 個卷積層有6 個卷積核,第2 個卷積層有16 個卷積核。來自1D CNN 和2D CNN 模型的兩組不同的一維特征向量,在匯聚層拼接成一個1×6112 的一維向量,然后經(jīng)過Dropout 的隨機失活,得到一個1×84 的一維特征向量,最終通過分類層得到一個1×10 的一維向量。網(wǎng)絡(luò)采用Relu激活函數(shù),模型的學(xué)習(xí)率為0.005,批處理大小為64,迭代次數(shù)為500 次。
Table 3 1D CNN model parameters表3 1D CNN 模型參數(shù)
Table 4 2D CNN model parameters表4 2D CNN 模型參數(shù)
為驗證本文提出的多特征融合CNN 網(wǎng)絡(luò)模型的故障診斷準(zhǔn)確率,將整個數(shù)據(jù)集分為訓(xùn)練集、驗證集和測試集。首先,將訓(xùn)練集和驗證集訓(xùn)練多特征融合的CNN 網(wǎng)絡(luò)模型,然后將測試集輸入已訓(xùn)練的多特征融合CNN 網(wǎng)絡(luò)模型中并輸出結(jié)果,得到測試集的準(zhǔn)確率。
圖6(彩圖掃OSID 碼可見,下同)顯示訓(xùn)練集和驗證集的故障分類診斷誤差率。在前100 個迭代內(nèi),訓(xùn)練集的誤差率和驗證集的誤差率下降相對較快,訓(xùn)練集的誤差率從0.040 左右下降到0.016 左右,驗證集的誤差率從0.037 左右下降到0.013 左右。在第100 到200 個迭代內(nèi),訓(xùn)練集的誤差率和驗證集的誤差率相對前100 個迭代下降變慢,訓(xùn)練集的誤差率從0.016 左右下降到0.002 左右,驗證集的誤差率從0.013 左右下降到0.001 左右;在第200 到300 個迭代內(nèi),訓(xùn)練集的誤差率和驗證集的誤差率下降相對平緩,訓(xùn)練集的誤差率從0.002 左右下降到接近于0,驗證集的誤差率從0.001 左右下降到接近0。此后的迭代中,訓(xùn)練集和驗證集的誤差率都恒定在0 左右,表明此時的學(xué)習(xí)速率已經(jīng)不再適合網(wǎng)絡(luò)參數(shù)的繼續(xù)優(yōu)化,該網(wǎng)絡(luò)模型迅速收斂。
Fig.6 Error rate variation curve圖6 誤差率變化曲線
圖7 為訓(xùn)練集和驗證集的故障分類診斷準(zhǔn)確率。在前100 個迭代內(nèi),訓(xùn)練集的準(zhǔn)確率和驗證集的準(zhǔn)確率急速上升且波動較大,訓(xùn)練集的準(zhǔn)確率從10%左右上升到83%左右,驗證集的準(zhǔn)確率從22%左右上升到82%左右。在第100 到200 個迭代內(nèi),訓(xùn)練集的準(zhǔn)確率和驗證集的準(zhǔn)確率相對于前100 個迭代上升變慢,但波動依然很大。訓(xùn)練集的準(zhǔn)確率從83%左右上升到99%左右,驗證集的準(zhǔn)確率從82%左右上升到97%左右;在第200 到300 個迭代內(nèi),訓(xùn)練集的準(zhǔn)確率和驗證集的準(zhǔn)確率上升相對平緩,訓(xùn)練集的誤差率從99% 左右上升到接近100%,驗證集的準(zhǔn)確率從97%左右上升到接近100%。此后的迭代中,訓(xùn)練集和驗證集的準(zhǔn)確率都恒定在100%左右,表明此時該網(wǎng)絡(luò)模型的故障分類診斷正確率接近100%,網(wǎng)絡(luò)模型已經(jīng)訓(xùn)練完成,同時也證明了多特征融合CNN 網(wǎng)絡(luò)模型有快速的收斂性和極高的故障診斷分類準(zhǔn)確率。
Fig.7 Accuracy change curve圖7 準(zhǔn)確率變化曲線
為進一步驗證本文提出的多特征融合CNN 網(wǎng)絡(luò)模型故障診斷的高準(zhǔn)確率,選取離散傅里葉變換+1D CNN[22]和小波時頻+2D CNN[23]進行對比實驗分析。離散傅里葉變換+1D CNN 是原始時域振動信號通過離散傅里葉變換后得到的頻域振動信號。用一維卷積神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練以達(dá)到軸承故障分類診斷效果。小波時頻+2D CNN 通過對軸承的振動信號進行連續(xù)小波變換得到小波時頻圖,將其作為特征圖輸入到二維卷積神經(jīng)網(wǎng)絡(luò)模型中訓(xùn)練以實現(xiàn)軸承故障分類診斷。分別采用上述3 種方法對數(shù)據(jù)集進行軸承故障分類診斷實驗,表5 為各類故障診斷方法在相同數(shù)據(jù)集下的分類準(zhǔn)確率。
Table 5 Fault diagnosis accuracy of different methods表5 不同方法的故障診斷準(zhǔn)確率 (%)
從表5 可以看出,本文提出的多特征融合CNN 網(wǎng)絡(luò)模型故障診斷分類準(zhǔn)確率最終高達(dá)99.78%。與離散傅里葉變換+1D CNN 和小波時頻+2D CNN 軸承故障診斷模型在相同數(shù)據(jù)集上的準(zhǔn)確率相比,分別提升了9.67%、2.84%。各類方法的故障診斷結(jié)果對比表明,本文方法的測試準(zhǔn)確率更高,更適合用于軸承故障診斷和分類。
本文提出了一種多特征融合CNN 網(wǎng)絡(luò)的旋轉(zhuǎn)機械故障診斷模型,它將一維旋轉(zhuǎn)機械振動信號、小波時頻圖和CNN 結(jié)合起來,利用CNN 的多特征融合特點豐富了兩個不同維度的特征,進而提高了旋轉(zhuǎn)機械故障診斷的準(zhǔn)確率。首先通過連續(xù)小波變換將一維軸承信號轉(zhuǎn)化為小波時頻圖,其次構(gòu)建雙流CNN 模型,其中,將一維軸承振動信號作為雙流CNN 的1D CNN 輸入,將小波時頻圖作為雙流CNN的2D CNN 輸入;然后訓(xùn)練網(wǎng)絡(luò)模型;最后將測試集輸入已訓(xùn)練的網(wǎng)絡(luò)模型進行不同旋轉(zhuǎn)機械故障的分類。與其他診斷方法相比,本文方法有更高的診斷準(zhǔn)確率和較強的泛化能力,同時為軸承故障診斷分類提供了新的物理模型思路。但本文的實驗數(shù)據(jù)集都是單個類型的,而在現(xiàn)實生產(chǎn)活動中旋轉(zhuǎn)機械的故障往往是多個故障同時發(fā)生。因此,復(fù)合故障可以作為后續(xù)研究對象。此外,對于診斷模型本身而言,采用何種優(yōu)化方法提高模型訓(xùn)練的收斂速度和效率值得研究。