齊愛玲,李 琳,朱亦軒,張廣明
(1.西安科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,陜西 西安 710054;2.北京化工大學(xué)信息科學(xué)與技術(shù)學(xué)院,北京 102200;3.西安科技大學(xué)機(jī)械工程學(xué)院,陜西 西安 710054)
滾動軸承被廣泛應(yīng)用于工業(yè)生產(chǎn)中,它是旋轉(zhuǎn)機(jī)械的重要組成部分。確保設(shè)備能正常工作的前提是滾動軸承穩(wěn)定運(yùn)轉(zhuǎn),若軸承在長期高負(fù)荷條件下持續(xù)工作,極易引發(fā)故障,從而影響設(shè)備性能及穩(wěn)定性,甚至造成人員傷亡[1]。因此需要對滾動軸承故障展開研究,從而較快識別故障種類,提高設(shè)備運(yùn)行效率,增強(qiáng)設(shè)備穩(wěn)定性[2-5]。
由于機(jī)器學(xué)習(xí)研究的不斷深入,應(yīng)用在軸承故障診斷領(lǐng)域的智能故障診斷算法已成為主流算法[6]。傳統(tǒng)的智能故障診斷算法分為特征提取、特征選擇和故障識別3個步驟[7]。常用的特征提取方法有頻譜分析法(SA)[8]、傅里葉變換(FFT)[9]、小波變換(WT)[4]和經(jīng)驗(yàn)?zāi)B(tài)分解(EMD)[10]等。特征選擇是對前一步特征提取“去粗取精”,常用的方法有主成分分析法(PCA)[5]和獨(dú)立分量分析法(ICA)[3]。最后將選擇后的特征輸入到分類器中,通過對數(shù)據(jù)的反復(fù)迭代輸出故障識別的結(jié)果[7]。反向傳播神經(jīng)網(wǎng)絡(luò)(BPNN)、隨機(jī)森林和支持向量機(jī)(SVM)等都被廣泛用作故障診斷的分類器,均有良好的分類效果[11-12]。然而此類算法進(jìn)行特征提取時較依賴本領(lǐng)域內(nèi)的專家知識和經(jīng)驗(yàn),提取過程復(fù)雜,算法通用性差,大多只能用于淺層結(jié)構(gòu)提取,不能應(yīng)用于深層結(jié)構(gòu)中[13]。
近年來,由于深度神經(jīng)網(wǎng)絡(luò)有良好的自主學(xué)習(xí)能力,能夠從數(shù)據(jù)中主動學(xué)習(xí)到數(shù)據(jù)的本征特征,給故障診斷領(lǐng)域帶來了新思路。一些研究[6,14-17]借助人工提取故障特征,將信號轉(zhuǎn)換為時頻圖或直接將原始振動信號輸入進(jìn)卷積神經(jīng)網(wǎng)絡(luò)并診斷,采集到的振動信號往往混有各種噪聲,從而影響信號提取時的時域指標(biāo),通常卷積神經(jīng)網(wǎng)絡(luò)善于處理二維數(shù)據(jù),而一維CNN模型的識別準(zhǔn)確率會受到影響。
針對以上問題,為了充分發(fā)揮一維CNN模型和二維CNN模型的優(yōu)勢,本文提出一種基于雙通道CNN的滾動軸承故障識別方法。
對連續(xù)時間m(t)=T2(R)進(jìn)行連續(xù)小波變換,則W定義為
W(α,β)=〈m(t),ψα,β(t)〉=
(1)
母小波通過伸縮平移變換得到ψα,β(t)函數(shù),即
(2)
ψα,β(t)為連續(xù)的小波基函數(shù);α為尺度因子,與頻率伸縮有關(guān);β為平移因子,與時間移動有關(guān)。當(dāng)α越大時,超聲信號的低頻特征越容易被提取出來;當(dāng)α越小時,超聲信號的高頻特征越容易被提取出來。
連續(xù)小波變換要求其小波基函數(shù)的波形與故障的信號特征有較高的匹配度,故小波基函數(shù)的選擇是連續(xù)小波變換的核心[18]。滾動軸承故障所產(chǎn)生的故障脈沖特征與Morlet小波波形類似[19],Morlet小波中的cmor小波表示其復(fù)數(shù)形式,具有很強(qiáng)的自適應(yīng)性,故本文將cmor小波作為連續(xù)小波的小波基函數(shù)。
卷積神經(jīng)網(wǎng)絡(luò)CNN 是深度學(xué)習(xí)中最常用的算法之一,屬于多層前饋神經(jīng)網(wǎng)絡(luò)[20]。一個典型的CNN包含輸入層、隱含層和輸出層,隱含層通常由多個卷積層和池化層相交組成,負(fù)責(zé)對輸入數(shù)據(jù)進(jìn)行特征提取和降維,輸出層通常與全連接層結(jié)合組成分類器,Softmax、SVM和邏輯回歸等都是分類器[21]。CNN模型如圖1所示。

圖1 典型的CNN網(wǎng)絡(luò)模型
1.2.1 卷積層
通常把二維數(shù)據(jù)作為CNN的輸入層數(shù)據(jù),在下一層卷積層中,各個卷積核對前一層輸入的數(shù)據(jù)進(jìn)行加權(quán)操作,得到對應(yīng)的數(shù)據(jù)特征,利用非線性激活函數(shù)將其拼接成為下一層的輸入數(shù)據(jù),其過程用數(shù)學(xué)公式表示為
(3)

(4)

1.2.2 池化層
卷積層之后一般接入池化層,池化層的主要操作是對上一層提取后的數(shù)據(jù)進(jìn)行降維,對特征數(shù)據(jù)進(jìn)行簡化,從而可以提高數(shù)據(jù)識別速度。目前最常用的池化方法為最大值池化,可得到輸入的局部最大值,有效降低訓(xùn)練數(shù)據(jù)參數(shù),提高魯棒性。最大池化公式表示為
(5)
q為特征向量中神經(jīng)元的數(shù)值;l為池化局部區(qū)域的寬度;p為神經(jīng)元對應(yīng)的數(shù)值。
1.2.3 全連接層
全連接層負(fù)責(zé)將卷積層和池化層處理后的數(shù)據(jù)進(jìn)行融合,在Softmax分類器中將融合后的數(shù)據(jù)進(jìn)行分類。Softmax的模型表示為
(6)
q為卷積的偏置值;P為權(quán)重矩陣;最終輸出為W。
1.2.4 雙通道的卷積神經(jīng)網(wǎng)絡(luò)
雙通道的CNN模型采用Lenet-5網(wǎng)絡(luò),同時輸入二維信號時頻圖和一維原始信號,使其分別通過各自對應(yīng)的卷積層和池化層,在匯聚層將各個特征向量進(jìn)行拼接,最后通過Softmax分類器對軸承故障進(jìn)行分類。雙通道模型如圖2所示。輸入的二維特征圖的大小為64×64,輸入的一維原始信號的大小為1×1 024;分別經(jīng)過各自對應(yīng)的2層卷積層和池化層,第1層卷積層的卷積核個數(shù)為6,第2層卷積層的卷積核個數(shù)為16,卷積核大小均為5×5,選用ReLU函數(shù)作為激活函數(shù);池化層選用最大池化法,池化層大小為2;全連接層選用Softmax分類器。

圖2 雙通道卷積神經(jīng)網(wǎng)格模型
本文采用美國斯凱西儲大學(xué)的軸承數(shù)據(jù)中心提供的公開數(shù)據(jù)集,軸承故障采集實(shí)驗(yàn)平臺如圖3所示。該裝置由1個1.5 kW電機(jī)、譯碼器、功率測試計(jì)和電子控制器組成。本文選用型號為SKF6205,采樣頻率為18 kHz的驅(qū)動端軸承數(shù)據(jù),軸承故障種類為內(nèi)圈故障、外圈故障和滾動體故障,每個故障的損傷直徑包括0.07 mm、0.14 mm和0.21 mm,正常軸承數(shù)據(jù)算一類故障,故共有10種故障狀態(tài)。

圖3 軸承缺陷數(shù)據(jù)采集平臺
本文對驅(qū)動端軸承故障的4種不同負(fù)載下的故障信號均做了實(shí)驗(yàn),并采用長度為1 024的隨機(jī)采樣方式對軸承數(shù)據(jù)的振動信號進(jìn)行隨機(jī)分割。每種故障類型200個樣本,共計(jì)2 000個樣本。隨機(jī)選擇1 400個樣本作為訓(xùn)練集,400個樣本作為驗(yàn)證集,200個樣本作為測試集。本實(shí)驗(yàn)中具體的樣本數(shù)據(jù)集如表1所示。

表1 滾動軸承數(shù)據(jù)集
滾動軸承在4種不同狀態(tài)時的信號波形處于內(nèi)圈故障、外圈故障、滾動體故障和正常狀態(tài)。僅憑有相關(guān)經(jīng)驗(yàn)的研究人員的直觀分辨是能區(qū)分出各個信號所對應(yīng)的狀態(tài),但這僅針對個別理想的信號,且非研究人員無法對這些信號做出判斷,加上信號間的波形極為相似,憑借肉眼難以區(qū)分,僅憑借振動信號的波形圖對故障狀態(tài)進(jìn)行識別是不可靠的,因此需要將波形圖和其對應(yīng)的時頻圖相結(jié)合進(jìn)行故障狀態(tài)識別。
本文算法有以下幾個步驟:
a.首先從CWRU數(shù)據(jù)集的驅(qū)動端軸承數(shù)據(jù)中讀取出故障信號,將信號按照6∶4的比例分為訓(xùn)練集和測試集,設(shè)置故障信號的隨機(jī)采樣長度為1 024,給每種故障類型設(shè)置標(biāo)簽并采用One-hot標(biāo)簽,以便計(jì)算交叉熵時使用。
b.將采樣后的數(shù)據(jù)集進(jìn)行Morlet小波變換,得到訓(xùn)練集和測試集故障信號對應(yīng)的時頻圖。
c.設(shè)置時頻圖大小為64×64,獲取前一步得到的時頻圖和采樣后的原始數(shù)據(jù),將其使用torch函數(shù)轉(zhuǎn)換為單精度格式,設(shè)置最佳learning_rate大小為0.005,epoch大小設(shè)置為160和200,batch_size大小為24。
d.將時頻圖輸入二維CNN中,卷積核大小為6和16,使用ReLU作為激活函數(shù);將原始信號輸入一維CNN中,卷積核大小為6和16,使用ReLU作為激活函數(shù)。
e.經(jīng)過2次卷積層和池化層提取出故障特征,在匯聚層將兩特征數(shù)據(jù)進(jìn)行融合,用Dropout來防止過擬合現(xiàn)象,大小設(shè)為0.5。
f.將拼接后的向量輸入Softmax分類器進(jìn)行訓(xùn)練,不斷修改訓(xùn)練參數(shù),選出最佳模型,再對滾動軸承的測試集進(jìn)行測試。
本文分別對故障信號進(jìn)行小波變換、短時傅里葉變換和廣義S變換,其時頻圖如圖4所示。圖4所示的時頻圖,對正常狀態(tài)下的信號做了時頻分析,選用的采樣點(diǎn)為1 024,采樣頻率為48 000 Hz。從圖4中可以看出,廣義S變換分析出的時頻圖不能較清晰地顯示出信號的特征,短時傅里葉變換則優(yōu)于S變換,但沒有小波變換更清晰,故本文選用小波變換對信號進(jìn)行視頻分析。

圖4 故障信號的3種時頻圖
實(shí)驗(yàn)所用的操作系統(tǒng)為Windows 10,使用的開發(fā)工具為Spyder和MATLAB,深度學(xué)習(xí)框架為PyTorch。使用數(shù)據(jù)分別為0 hp、1 hp、2 hp、3 hp下的48k的驅(qū)動端的軸承數(shù)據(jù),將初始數(shù)據(jù)做小波變換得到對應(yīng)的時頻圖,用原始信號和時頻圖同時作為神經(jīng)網(wǎng)絡(luò)的輸入,選用1 200個樣本為訓(xùn)練樣本,800個樣本為測試樣本,學(xué)習(xí)率設(shè)置為0.005。由于訓(xùn)練大小會對結(jié)果產(chǎn)生影響,將每批訓(xùn)練大小分別設(shè)置為12、24、32、64。實(shí)驗(yàn)表明,當(dāng)訓(xùn)練大小為24時準(zhǔn)確率和速率為最佳結(jié)果,對4種不同負(fù)載下的軸承數(shù)據(jù)的比較如表2所示。

表2 不同訓(xùn)練大小的實(shí)驗(yàn)結(jié)果
為驗(yàn)證本實(shí)驗(yàn)所用方法的有效性,分別對時頻圖+SVM、時頻圖+BP神經(jīng)網(wǎng)絡(luò)、原始信號+CNN、時頻圖+CNN、本文原始信號+時頻圖+CNN方法做對比。相同樣本、相同迭代、不同負(fù)載條件下,選用訓(xùn)練大小為24時所生成的準(zhǔn)確率,本實(shí)驗(yàn)所用方法的平均準(zhǔn)確率在99.69%。幾種方法對軸承故障識別準(zhǔn)確率的比較如表3所示。

表3 5種方法的結(jié)果比較
本文提出了一種基于融合特征的雙通道CNN滾動軸承的識別方法,采用一維原始信號和二維時頻圖同時作為輸入,該方法與其他方法相比,能夠更好地保留信息的本征特征,解決了因人工提取特征而造成重要信息丟失的問題。
利用改進(jìn)的Lenet-5網(wǎng)絡(luò)作為模型,通過對參數(shù)的優(yōu)化選擇,提高了算法的識別準(zhǔn)確率。通過對傳統(tǒng)算法和單一通道的CNN算法的對比實(shí)驗(yàn),進(jìn)一步驗(yàn)證本算法對不同負(fù)載下的軸承故障的診斷準(zhǔn)確率更高,魯棒性更強(qiáng)。