張訓(xùn)杰,張 敏,2,李賢均
(1.西南交通大學(xué) 機械工程學(xué)院,成都 610031; 2.西南交通大學(xué) 軌道交通運維技術(shù)與裝備四川省重點實驗室,成都 610031)
滾動軸承作為旋轉(zhuǎn)機械的核心部件,其健康狀況將直接影響到旋轉(zhuǎn)機械的性能、穩(wěn)定性以及壽命[1]。研究表明40%~50%的旋轉(zhuǎn)機械故障都與滾動軸承失效有關(guān)[2],為保障旋轉(zhuǎn)機械作業(yè)安全,對滾動軸承進行有效的故障診斷就顯得意義重大。采用機器學(xué)習(xí)的智能故障診斷算法在滾動軸承故障診斷領(lǐng)域得到廣泛運用[3-5]。盡管這些方法已經(jīng)取得了較好的效果,但機器學(xué)習(xí)算法一般結(jié)構(gòu)較淺,從而限制了分類器在故障診斷問題中學(xué)習(xí)軸承信號中所包含的復(fù)雜非線性以及非平穩(wěn)性關(guān)系的能力。
為解決這些問題,越來越多的深度學(xué)習(xí)模型應(yīng)用在滾動軸承故障診斷領(lǐng)域[6-9]。其中,卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)作為一種端到端的學(xué)習(xí)模型,極大地簡化了故障診斷步驟,因此得到了廣泛關(guān)注[10]。Zhang等[11]利用一維卷積神經(jīng)網(wǎng)絡(luò)直接對滾動軸承原始信號進行故障診斷,省去了特征提取等預(yù)處理環(huán)節(jié)。曲建玲等[12]提出了基于卷積神經(jīng)網(wǎng)絡(luò)的層級化智能故障診斷模型,可同時識別出滾動軸承的故障位置以及故障程度。Wang等[13]對卷積神經(jīng)網(wǎng)絡(luò)做出進一步改進,利用粒子群優(yōu)化算法確定網(wǎng)絡(luò)的主要參數(shù),以適應(yīng)滾動軸承故障診斷。以上模型都是基于一維卷積神經(jīng)網(wǎng)絡(luò)而建立的,因為軸承振動信號是一維數(shù)據(jù),但卷積神經(jīng)網(wǎng)絡(luò)更容易從高維數(shù)據(jù)中提取特征信息[14]。這是因為卷積神經(jīng)網(wǎng)絡(luò)最本質(zhì)的結(jié)構(gòu)構(gòu)想包括3個關(guān)鍵方面:局部連接、權(quán)值共享以及池化,這使得卷積神經(jīng)網(wǎng)絡(luò)更適合處理二維數(shù)據(jù),其在計算機視覺領(lǐng)域尤其是在圖像特征自動提取與圖像分類識別中已經(jīng)得到廣泛運用并取得很好的效果[15]。
因此有學(xué)者開始研究將軸承振動信號轉(zhuǎn)換為圖像數(shù)據(jù),進而使用二維卷積神經(jīng)網(wǎng)絡(luò)完成分類識別。Zhang等[16]對軸承振動信號進行均分,再把分得的每一段信號按順序作為圖像矩陣的行,實現(xiàn)一維信號向二維圖像的轉(zhuǎn)換,最后通過卷積神經(jīng)網(wǎng)絡(luò)完成故障診斷。張弘斌等[17]采用連續(xù)小波變換提取軸承信號的時頻特征,以此構(gòu)建二維圖像,并將3種相關(guān)聯(lián)的圖像融合在一起,輸入至深度卷積神經(jīng)網(wǎng)絡(luò)以實現(xiàn)分類識別。Hoang等[18]將軸承信號的振幅進行歸一化處理,并將其作為相應(yīng)圖像中所對應(yīng)的像素值,得到各類信號的振動圖像,之后同樣由卷積神經(jīng)網(wǎng)絡(luò)通過對振動圖像分類來識別軸承的故障狀態(tài)。以上模型通過圖像轉(zhuǎn)換,成功將滾動軸承故障診斷與二維卷積神經(jīng)網(wǎng)絡(luò)聯(lián)系在一起,并取得了較滿意的診斷結(jié)果。但診斷過程依然存在以下一些缺陷:由振動信號轉(zhuǎn)換的二維圖像多為灰度圖像,包含的特征信息有限,相比之下,彩色圖像囊括更豐富的顏色特征信息,特別是在圖像分類的應(yīng)用中[19];同時,構(gòu)建不同的二維圖像并將之融合在一定程度上增加了圖像轉(zhuǎn)換的復(fù)雜性;另外軸承振動信號包含著對時間的依賴性,尤其是對于不同故障程度的振動信號,這種時間關(guān)系顯得尤為重要。振動信號在轉(zhuǎn)換為圖像的過程中,這種對時間的依賴性同樣映射到圖像特征空間中,而卷積神經(jīng)網(wǎng)絡(luò)更多地是提取圖像局部空間特征,以上模型都難以將這種時間依賴特征提取出來。
綜上所述,一方面由滾動軸承振動信號轉(zhuǎn)換的二維圖像需盡可能多的包含原始特征信息;另一方面以二維卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ)建立的診斷模型要能夠有效識別出圖像特征中對于時間的依賴性。針對以上問題,本文利用格拉姆角場(Gramian angular fields,GAF)方法[20]將滾動軸承振動信號轉(zhuǎn)換為二維彩色圖像,并提出基于二維卷積神經(jīng)網(wǎng)絡(luò)與雙向門控循環(huán)單元(gated recurrent unit,GRU)相結(jié)合的診斷模型自動提取圖像的空間特征與時間特征,最終由分類器實現(xiàn)分類識別。
格拉姆角場能夠?qū)r間序列數(shù)據(jù)轉(zhuǎn)換為圖像數(shù)據(jù)[21-22]。滾動軸承故障振動信號在采集過程中多為加速度信號,在直角坐標系中是典型的一維時間序列,其橫坐標表示采樣點或者時間值,縱坐標則表示每個點對應(yīng)的幅值大小,單位為m/s2。通過格拉姆角場方法,將時序數(shù)據(jù)轉(zhuǎn)化成圖像數(shù)據(jù),實現(xiàn)過程如下。
步驟1假定一段時間序列數(shù)據(jù)X={x1,x2,x3,…,xn},通過式(1)將其歸一化至區(qū)間[-1,1]或者[0,1]內(nèi)
(1)
步驟2對縮放后的時間序列 在極坐標系上進行編碼,將新得到的幅值編碼為角余弦,其對應(yīng)的時間戳編碼為半徑
(2)
步驟3對格拉姆角場進行定義,利用每個點之間的三角和或差來識別不同時間間隔的相關(guān)性。格拉姆角和場(Gramian angular summation fields,GASF)與格拉姆角差場(Gramian angular difference fields,GADF)的定義公式分別如式(3)和式(4)所示
AGSF(i,j)=[cos(φi+φj)]=
(3)
AGDF(i,j)=[sin(φi-φj)]=
(4)
圖1 格拉姆角場編碼示意圖Fig.1 Gramian angular fields coding schematic
卷積神經(jīng)網(wǎng)絡(luò)通常由輸入層、卷積層、池化層、全連接層以及輸出層組成。卷積層主要對輸入數(shù)據(jù)進行特征提取,由輸入層而來的數(shù)據(jù)信息與卷積層的卷積核進行卷積運算,其數(shù)學(xué)表達式為
(5)
卷積層后通常都連接著一個池化層,用于信息過濾并減少網(wǎng)絡(luò)中參與計算的參數(shù),防止發(fā)生過擬合。其計算公式為
(6)
門控循環(huán)單元由Chung等[24]于2014年開發(fā)。作為循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)的變體之一,GRU能有效地解決RNN在訓(xùn)練過程中出現(xiàn)的梯度消失問題。與長短期記憶網(wǎng)絡(luò)(long short-term memory,LSTM)相比,GRU更像是其簡化版,GRU只有兩個門(更新門和重置門),在一定程度上減少了網(wǎng)絡(luò)的參數(shù),進而提升了模型的訓(xùn)練速度。在GRU內(nèi)部,更新門(z)指定相關(guān)信息保留至下一個狀態(tài),而重置門(r)則決定如何將先前的信息狀態(tài)與新的輸入信息結(jié)合起來。在處理時間序列數(shù)據(jù)時,GRU能有效學(xué)習(xí)到其中的長期依賴關(guān)系,其具體計算過程為
zt=σ(Wz·[x(t),h(t-1)])
(7)
rt=σ(Wr·[x(t),h(t-1)])
(8)
(9)
(10)
式中:σ(·)與tanh(·)為激活函數(shù);x(t)為輸入數(shù)據(jù);h(t-1)為前一狀態(tài)的輸出數(shù)據(jù);Wz、Wr以及Wh分別為更新門、重置門以及輸出待定值的權(quán)重矩陣。
雙向控循環(huán)單元(bidirectional gated recurrent unit,BiGRU)包含了兩個普通的GRU[25],每個GRU分別沿一個方向?qū)斎胄蛄羞M行處理(時間正序和時間逆序),然后將各自的輸出合并在一起。由格拉姆角場轉(zhuǎn)換的二維圖像依然保留著對于時間的依賴性,而雙向GRU能夠捕捉到可能被單向GRU忽略的特征信息,從而提高GRU的性能,雙向GRU結(jié)構(gòu)如圖2所示。
圖2 雙向GRU結(jié)構(gòu)圖Fig.2 The structure of bidirectional GRU
針對由格拉姆角場轉(zhuǎn)換而來的二維圖像,本文提出基于CNN-BiGRU的識別模型,其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 CNN-BiGRU網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.3 The structure of CNN-BiGRU network
模型中通過第一層批量輸入由滾動軸承振動信號轉(zhuǎn)換的二維圖像;第二層為卷積層,通過卷積運算,學(xué)習(xí)輸入圖像的局部特征;第三層為池化層,對輸入的特征圖進行下采樣,去掉部分冗余信息。經(jīng)過第一輪卷積層與池化層的運算,模型完成了第一階段的特征學(xué)習(xí)。之后增加3組卷積層與池化層,使模型逐漸從低層次的原始故障特征學(xué)習(xí)到高層次的本質(zhì)故障特征。將由CNN提取到的特征圖展平為一維向量,并將其送入到雙向GRU中,每個GRU層分別從正向和反向處理這段向量,確保模型不僅能由正序獲得積聚依賴信息,而且也能從逆序獲得來自未來的積聚依賴信息,保持對時間特征的敏感性,并進一步剔除冗余信息,達到豐富特征信息的目的。最終得到的特征信息包含有原始圖像的空間特征與時間特征,將其展平后再送入全連接層進行重新整合以及參數(shù)的微調(diào)并映射到樣本標簽空間,由Softmax層完成對故障信息的分類。整個網(wǎng)絡(luò)在各個特征學(xué)習(xí)階段后都引入Dropout層,使網(wǎng)絡(luò)在運算過程中隨機停止部分神經(jīng)元參與工作,防止模型發(fā)生過擬合。模型的架構(gòu)如表1所示。
表1 模型架構(gòu)說明Tab.1 Illustration of model structure
本文所提出的滾動軸承故障模式識別的整體流程圖,如圖4所示。振動信號進行樣本擴充處理后,通過格拉姆角場轉(zhuǎn)換為二維圖像,利用訓(xùn)練集與驗證集訓(xùn)練設(shè)計的CNN-BiGRU網(wǎng)絡(luò)模型,最后在測試集上驗證模型分類的有效性。
圖4 故障模式識別整體流程圖Fig.4 Overall flow chart of fault pattern recognition
本文的試驗數(shù)據(jù)為美國凱斯西儲大學(xué)(CWRU)的開放滾動軸承故障振動信號[26],試驗平臺如圖5所示,由1.5 kW的電動機(圖5左側(cè))、扭矩傳感器(圖5中間連接處)、功率測試計(圖5右側(cè))以及電子控制器(圖5中未標出)組成。
圖5 CWRU滾動軸承試驗平臺Fig.5 CWRU rolling bearing test device
該試驗平臺檢測了的驅(qū)動端軸承(型號為SKF6205)和風(fēng)扇端軸承3種故障位置,包括內(nèi)圈損傷、滾動體損傷以及外圈損傷,損傷直徑為0.177 8 mm、0.355 6 mm以及0.533 4 mm共計9種故障狀態(tài)。試驗選取了驅(qū)動端軸承的內(nèi)圈故障位置的3種損傷直徑的振動信號與正常振動信號作為研究對象,其中測量轉(zhuǎn)速為1 797 r/min,采樣頻率為12 kHz。以864個采樣點作為一個樣本長度。為了更大地獲取試驗樣本,以滿足深度學(xué)習(xí)基于龐大數(shù)據(jù)的要求,試驗中采用重疊樣本的方式,對數(shù)據(jù)進行增強處理,以擴大樣本的數(shù)量[27],原理如圖6所示。即在對振動信號劃分樣本時,每一段信號與其后的一段信號有一部分是重疊的,這樣既保證了對信號的充分利用,也進一步地擴充了樣本的數(shù)量。原始數(shù)據(jù)數(shù)據(jù)采集完成后,構(gòu)建的數(shù)據(jù)表,如表2所示。
圖6 樣本擴充方式Fig.6 Sample expansion mode
表2 試驗樣本數(shù)據(jù)表Tab.2 Test sample data sheet
擴充完的樣本通過格拉姆角場轉(zhuǎn)換為二維圖像,生成圖像的像素分辨率設(shè)置為100×100。將4種狀態(tài)的樣本分別取一張作為展示,其中左側(cè)為振動信號時域波形圖,右側(cè)為轉(zhuǎn)換的二維圖像,且對應(yīng)圖像為信號的唯一轉(zhuǎn)化結(jié)果,體現(xiàn)了兩者之間的雙射關(guān)系,如圖7所示。從圖中可以看出每類圖片相同位置的顏色深淺以及紋理形狀都有著較大的差異,這是因為不同振動信號的幅值在時間上的依賴關(guān)系不一樣,當軸承存在故障時,測得的振動數(shù)據(jù)表現(xiàn)出明顯的沖擊性,而正常軸承的信號就相對隨機,只有輕微沖擊性,這就導(dǎo)致每類軸承振動信號所轉(zhuǎn)換的圖片彼此之間都有較明顯的區(qū)別,為做圖像識別在方法上提供了可能性。
(a)正常
試驗?zāi)P褪褂没趐ython的keras框架,所用計算機的配置為CPU i7-9750H,GTX 1660 Ti,8 GB內(nèi)存。在投入網(wǎng)絡(luò)訓(xùn)練前,需對圖像數(shù)據(jù)進行歸一化處理,即將所有圖像乘以1/255縮放。訓(xùn)練過程中,采用Adam自適應(yīng)優(yōu)化器,其學(xué)習(xí)率設(shè)置為0.001,損失函數(shù)使用categorical_crossentropy函數(shù),batch_size為40,循環(huán)迭代次數(shù)為64輪。隨著訓(xùn)練迭代次數(shù)的增長,模型不斷學(xué)習(xí),其訓(xùn)練過程如圖8所示,為了減少噪聲的影響,使圖像更具可讀性,將每個精度和損失值都替換為指數(shù)移動平均值,從而使得曲線變得更為平滑。從圖中可以看出,模型訓(xùn)練至20次迭代后,準確率和損失值逐漸趨于平穩(wěn),說明模型從訓(xùn)練集中已經(jīng)學(xué)習(xí)到較好的規(guī)則,并且訓(xùn)練曲線緊緊跟隨驗證曲線表明模型沒有發(fā)生過擬合。模型總的訓(xùn)練時間為576.36 s,測試時間為7.53 s。
(a)精度變化
通過對測試集的識別分類,得到的混淆矩陣如圖9所示。圖中橫縱坐標的數(shù)字0~3分別表示試驗軸承振動信號的類型(正常,內(nèi)圈輕度損傷,內(nèi)圈中度損傷,內(nèi)圈重度損傷),矩陣的對角線代表著每類狀態(tài)的識別準確率。從圖9可以看出,對于正常狀態(tài)、內(nèi)圈損傷輕度損傷狀態(tài)以及內(nèi)圈重度損傷狀態(tài)的軸承,模型完全識別正確,即達到100%的準確率,而對于內(nèi)圈中度損傷狀態(tài)的軸承模型也能保證較高的識別準確率,只有極少數(shù)樣本被誤判到內(nèi)圈重度損傷故障狀態(tài)。試驗的總準確率達到99.63%,表明本方法的可行性。
圖9 混淆矩陣Fig.9 Confusion matrix
文獻[28]提出了一種基于連續(xù)小波變換與改進生成對抗網(wǎng)絡(luò)的電機軸承故障診斷方法,該方法通過連續(xù)小波變換將電機振動信號轉(zhuǎn)換為小波時頻圖,將其預(yù)處理后作為對抗網(wǎng)絡(luò)的輸入,以完成對電機軸承的故障模式識別。本文將表2的4種工況樣本進行連續(xù)小波變換得到時頻圖,并將其壓縮至100×100的大小,與格拉姆角場圖像保持一致。將4種軸承狀態(tài)轉(zhuǎn)換的時頻圖各取一個樣本作為展示,如圖10所示。
(a)正常
將時頻圖作為本文模型的輸入數(shù)據(jù),經(jīng)過訓(xùn)練后得到測試結(jié)果,如表3所示。從表3可以看出,模型對于連續(xù)小波變換轉(zhuǎn)換的時頻圖的識別準確率為98.25%,略低于在格拉姆角場轉(zhuǎn)換圖像數(shù)據(jù)集上取得的準確率。這表明通過格拉姆角場轉(zhuǎn)換的圖像包含更豐富的特征知識,對于模型的分類識別具備更優(yōu)越的效果。
表3 時頻圖分類結(jié)果Tab.3 Time-frequency diagram classification results
為驗證本文提出模型的有效性,將本文方法與常見的深度學(xué)習(xí)算法CNN與深度神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN)以及支持向量機(support vector machine,SVM)進行對比分析。在試驗中,CNN的結(jié)構(gòu)與CNN-BiGRU類似,CNN將CNN-BiGRU的門控循環(huán)單元替換為一層全連接層,并在該層使用dropout機制防止過擬合。除此之外,CNN的參數(shù)與CNN-BiGRU完全一致。而搭建的DNN網(wǎng)絡(luò)主要包含兩個隱藏層,其神經(jīng)元個數(shù)分別設(shè)置為128與64,同時也在每層隱藏層中使用Dropout來防止模型發(fā)生過擬合。最后SVM的核函數(shù)選用高斯徑向基核函數(shù)。
每個模型使用相同的圖像數(shù)據(jù)集進行試驗,試驗的最終結(jié)果如圖11以及表4所示。從圖11可以看出3種深度學(xué)習(xí)方法的識別準確率都達到96%以上,遠遠高于SVM的識別準確率。這表明了深度學(xué)習(xí)方法在故障診斷領(lǐng)域有著極強的識別能力,同時也說明了本文轉(zhuǎn)換得到的圖像集的可用性。CNN-BiGRU的準確率比CNN與DNN都有所提高,表明本文提出的方法具有更優(yōu)越的效果。同時從表中可以看出CNN-BiGRU能夠保持較高的診斷率,穩(wěn)定性更好。相比于CNN,CNN-BiGRU的平均準確率提升了0.4%,且方差更低,說明CNN-BiGRU具備更好的診斷效果。
圖11 不同算法的試驗結(jié)果Fig.11 Test results of different algorithms
表4 不同算法10次試驗結(jié)果Tab.4 Results of 10 test with different algorithms
為了驗證本文提出方法的特征提取能力,利用t-SNE降維技術(shù)[29],將CNN、DNN與本文提出模型的最后一個隱藏層提取到的圖像特征進行二維平面可視化,如圖12所示。從圖12可以看出3種方法對圖像數(shù)據(jù)都有著高效的特征提取性能,代表每種故障類型的故障特征在空間具有明顯的可分性。但在空間聚簇性上,CNN-BiGRU明顯優(yōu)于CNN與DNN。比如代表內(nèi)圈輕度損傷的特征在CNN與DNN的特征空間中分布在了不同的空間位置,而在CNN-BiGRU的特征空間中分布在了相似的空間位置;代表內(nèi)圈重度損傷的特征也在CNN-BiGRU的特征空間中表現(xiàn)出更密集的聚簇性。這進一步提升了本文提出模型對于滾動軸承故障類別的識別精度。
(a)DNN特征
為了更進一步地驗證本文提出方法的可行性,試驗又選取了測量轉(zhuǎn)速為1 797 r/min,采樣頻率為12 kHz下的驅(qū)動端軸承3種不同故障位置且同一故障程度的振動信號與正常振動信號作為研究對象,如表5所示。
表5 試驗樣本數(shù)據(jù)表Tab.5 Test sample data sheet
試驗過程中,將使用訓(xùn)練集與驗證集訓(xùn)練好后的模型用于測試集進行分類,與其他方法的某一次對比試驗結(jié)果,如表6所示,從表6可以看出CNN-BiGRU的準確率明顯優(yōu)于CNN與DNN以及SVM,進一步表明本文提出方法的擁有更好的識別穩(wěn)定性,其對于滾動體損傷狀態(tài)的軸承模型的識別準確率最低,這也與工程實際情況一致,而其他位置的識別率都能達到100%,測試集最終的識別總準確率達到99.28%。
表6 不同算法的試驗結(jié)果Tab.6 Test results of different algorithms %
在此基礎(chǔ)上,增加滾動軸承的故障類別數(shù)目進行測試,選擇同等條件下驅(qū)動端軸承3種故障位置分別對應(yīng)的3種損傷直徑的振動信號與正常振動信號作為研究對象,將故障類別數(shù)目擴充至10類。利用設(shè)計的CNN-BiGRU進行分類識別,總的準確率為97.40%,診斷性能較為良好,驗證了本文方法的有效性。相信在對模型超參數(shù)進行進一步調(diào)試后,能夠取得更好的效果。
為充分利用卷積神經(jīng)網(wǎng)絡(luò)在圖像分類識別中的優(yōu)勢,本文通過格拉姆角場方法將滾動軸承振動信號轉(zhuǎn)換為二維圖像數(shù)據(jù),在不丟失原始數(shù)據(jù)信息的前提下,保留了信號對于時間的依賴性。在此基礎(chǔ)上,提出基于CNN-BiGRU網(wǎng)絡(luò)的分類模型,利用CNN對于圖像強大的自動提取特征能力提取關(guān)于圖像的空間特征,再由BiGRU進一步篩選其時間特征,最終由分類器實現(xiàn)模式識別。試驗證明,本文所使用的方法對于滾動軸承不同故障程度以及不同故障位置的振動信號識別都取得了較好的效果,準確率均優(yōu)于常見的深度學(xué)習(xí)算法與機器學(xué)習(xí)算法。通過特征可視化對比分析,本文提出的模型擁有更好特征提取能力,因此其故障識別準確率更高。上述試驗與結(jié)果表明,本文所提出的方法對于滾動軸承故障模式識別有一定的實用價值,為智能故障診斷提供了一個可行的方案。