張訓杰,張 敏,2,李賢均
(1.西南交通大學 機械工程學院,成都 610031; 2.西南交通大學 軌道交通運維技術與裝備四川省重點實驗室,成都 610031)
滾動軸承作為旋轉機械的核心部件,其健康狀況將直接影響到旋轉機械的性能、穩定性以及壽命[1]。研究表明40%~50%的旋轉機械故障都與滾動軸承失效有關[2],為保障旋轉機械作業安全,對滾動軸承進行有效的故障診斷就顯得意義重大。采用機器學習的智能故障診斷算法在滾動軸承故障診斷領域得到廣泛運用[3-5]。盡管這些方法已經取得了較好的效果,但機器學習算法一般結構較淺,從而限制了分類器在故障診斷問題中學習軸承信號中所包含的復雜非線性以及非平穩性關系的能力。
為解決這些問題,越來越多的深度學習模型應用在滾動軸承故障診斷領域[6-9]。其中,卷積神經網絡(convolutional neural network,CNN)作為一種端到端的學習模型,極大地簡化了故障診斷步驟,因此得到了廣泛關注[10]。Zhang等[11]利用一維卷積神經網絡直接對滾動軸承原始信號進行故障診斷,省去了特征提取等預處理環節。曲建玲等[12]提出了基于卷積神經網絡的層級化智能故障診斷模型,可同時識別出滾動軸承的故障位置以及故障程度。Wang等[13]對卷積神經網絡做出進一步改進,利用粒子群優化算法確定網絡的主要參數,以適應滾動軸承故障診斷。以上模型都是基于一維卷積神經網絡而建立的,因為軸承振動信號是一維數據,但卷積神經網絡更容易從高維數據中提取特征信息[14]。這是因為卷積神經網絡最本質的結構構想包括3個關鍵方面:局部連接、權值共享以及池化,這使得卷積神經網絡更適合處理二維數據,其在計算機視覺領域尤其是在圖像特征自動提取與圖像分類識別中已經得到廣泛運用并取得很好的效果[15]。
因此有學者開始研究將軸承振動信號轉換為圖像數據,進而使用二維卷積神經網絡完成分類識別。Zhang等[16]對軸承振動信號進行均分,再把分得的每一段信號按順序作為圖像矩陣的行,實現一維信號向二維圖像的轉換,最后通過卷積神經網絡完成故障診斷。張弘斌等[17]采用連續小波變換提取軸承信號的時頻特征,以此構建二維圖像,并將3種相關聯的圖像融合在一起,輸入至深度卷積神經網絡以實現分類識別。Hoang等[18]將軸承信號的振幅進行歸一化處理,并將其作為相應圖像中所對應的像素值,得到各類信號的振動圖像,之后同樣由卷積神經網絡通過對振動圖像分類來識別軸承的故障狀態。以上模型通過圖像轉換,成功將滾動軸承故障診斷與二維卷積神經網絡聯系在一起,并取得了較滿意的診斷結果。但診斷過程依然存在以下一些缺陷:由振動信號轉換的二維圖像多為灰度圖像,包含的特征信息有限,相比之下,彩色圖像囊括更豐富的顏色特征信息,特別是在圖像分類的應用中[19];同時,構建不同的二維圖像并將之融合在一定程度上增加了圖像轉換的復雜性;另外軸承振動信號包含著對時間的依賴性,尤其是對于不同故障程度的振動信號,這種時間關系顯得尤為重要。振動信號在轉換為圖像的過程中,這種對時間的依賴性同樣映射到圖像特征空間中,而卷積神經網絡更多地是提取圖像局部空間特征,以上模型都難以將這種時間依賴特征提取出來。
綜上所述,一方面由滾動軸承振動信號轉換的二維圖像需盡可能多的包含原始特征信息;另一方面以二維卷積神經網絡為基礎建立的診斷模型要能夠有效識別出圖像特征中對于時間的依賴性。針對以上問題,本文利用格拉姆角場(Gramian angular fields,GAF)方法[20]將滾動軸承振動信號轉換為二維彩色圖像,并提出基于二維卷積神經網絡與雙向門控循環單元(gated recurrent unit,GRU)相結合的診斷模型自動提取圖像的空間特征與時間特征,最終由分類器實現分類識別。
格拉姆角場能夠將時間序列數據轉換為圖像數據[21-22]。滾動軸承故障振動信號在采集過程中多為加速度信號,在直角坐標系中是典型的一維時間序列,其橫坐標表示采樣點或者時間值,縱坐標則表示每個點對應的幅值大小,單位為m/s2。通過格拉姆角場方法,將時序數據轉化成圖像數據,實現過程如下。
步驟1假定一段時間序列數據X={x1,x2,x3,…,xn},通過式(1)將其歸一化至區間[-1,1]或者[0,1]內

(1)
步驟2對縮放后的時間序列 在極坐標系上進行編碼,將新得到的幅值編碼為角余弦,其對應的時間戳編碼為半徑

(2)

步驟3對格拉姆角場進行定義,利用每個點之間的三角和或差來識別不同時間間隔的相關性。格拉姆角和場(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
卷積神經網絡通常由輸入層、卷積層、池化層、全連接層以及輸出層組成。卷積層主要對輸入數據進行特征提取,由輸入層而來的數據信息與卷積層的卷積核進行卷積運算,其數學表達式為
(5)

卷積層后通常都連接著一個池化層,用于信息過濾并減少網絡中參與計算的參數,防止發生過擬合。其計算公式為
(6)

門控循環單元由Chung等[24]于2014年開發。作為循環神經網絡(recurrent neural network,RNN)的變體之一,GRU能有效地解決RNN在訓練過程中出現的梯度消失問題。與長短期記憶網絡(long short-term memory,LSTM)相比,GRU更像是其簡化版,GRU只有兩個門(更新門和重置門),在一定程度上減少了網絡的參數,進而提升了模型的訓練速度。在GRU內部,更新門(z)指定相關信息保留至下一個狀態,而重置門(r)則決定如何將先前的信息狀態與新的輸入信息結合起來。在處理時間序列數據時,GRU能有效學習到其中的長期依賴關系,其具體計算過程為
zt=σ(Wz·[x(t),h(t-1)])
(7)
rt=σ(Wr·[x(t),h(t-1)])
(8)
(9)
(10)
式中:σ(·)與tanh(·)為激活函數;x(t)為輸入數據;h(t-1)為前一狀態的輸出數據;Wz、Wr以及Wh分別為更新門、重置門以及輸出待定值的權重矩陣。
雙向控循環單元(bidirectional gated recurrent unit,BiGRU)包含了兩個普通的GRU[25],每個GRU分別沿一個方向對輸入序列進行處理(時間正序和時間逆序),然后將各自的輸出合并在一起。由格拉姆角場轉換的二維圖像依然保留著對于時間的依賴性,而雙向GRU能夠捕捉到可能被單向GRU忽略的特征信息,從而提高GRU的性能,雙向GRU結構如圖2所示。

圖2 雙向GRU結構圖Fig.2 The structure of bidirectional GRU
針對由格拉姆角場轉換而來的二維圖像,本文提出基于CNN-BiGRU的識別模型,其網絡結構如圖3所示。

圖3 CNN-BiGRU網絡結構圖Fig.3 The structure of CNN-BiGRU network
模型中通過第一層批量輸入由滾動軸承振動信號轉換的二維圖像;第二層為卷積層,通過卷積運算,學習輸入圖像的局部特征;第三層為池化層,對輸入的特征圖進行下采樣,去掉部分冗余信息。經過第一輪卷積層與池化層的運算,模型完成了第一階段的特征學習。之后增加3組卷積層與池化層,使模型逐漸從低層次的原始故障特征學習到高層次的本質故障特征。將由CNN提取到的特征圖展平為一維向量,并將其送入到雙向GRU中,每個GRU層分別從正向和反向處理這段向量,確保模型不僅能由正序獲得積聚依賴信息,而且也能從逆序獲得來自未來的積聚依賴信息,保持對時間特征的敏感性,并進一步剔除冗余信息,達到豐富特征信息的目的。最終得到的特征信息包含有原始圖像的空間特征與時間特征,將其展平后再送入全連接層進行重新整合以及參數的微調并映射到樣本標簽空間,由Softmax層完成對故障信息的分類。整個網絡在各個特征學習階段后都引入Dropout層,使網絡在運算過程中隨機停止部分神經元參與工作,防止模型發生過擬合。模型的架構如表1所示。

表1 模型架構說明Tab.1 Illustration of model structure
本文所提出的滾動軸承故障模式識別的整體流程圖,如圖4所示。振動信號進行樣本擴充處理后,通過格拉姆角場轉換為二維圖像,利用訓練集與驗證集訓練設計的CNN-BiGRU網絡模型,最后在測試集上驗證模型分類的有效性。

圖4 故障模式識別整體流程圖Fig.4 Overall flow chart of fault pattern recognition
本文的試驗數據為美國凱斯西儲大學(CWRU)的開放滾動軸承故障振動信號[26],試驗平臺如圖5所示,由1.5 kW的電動機(圖5左側)、扭矩傳感器(圖5中間連接處)、功率測試計(圖5右側)以及電子控制器(圖5中未標出)組成。

圖5 CWRU滾動軸承試驗平臺Fig.5 CWRU rolling bearing test device
該試驗平臺檢測了的驅動端軸承(型號為SKF6205)和風扇端軸承3種故障位置,包括內圈損傷、滾動體損傷以及外圈損傷,損傷直徑為0.177 8 mm、0.355 6 mm以及0.533 4 mm共計9種故障狀態。試驗選取了驅動端軸承的內圈故障位置的3種損傷直徑的振動信號與正常振動信號作為研究對象,其中測量轉速為1 797 r/min,采樣頻率為12 kHz。以864個采樣點作為一個樣本長度。為了更大地獲取試驗樣本,以滿足深度學習基于龐大數據的要求,試驗中采用重疊樣本的方式,對數據進行增強處理,以擴大樣本的數量[27],原理如圖6所示。即在對振動信號劃分樣本時,每一段信號與其后的一段信號有一部分是重疊的,這樣既保證了對信號的充分利用,也進一步地擴充了樣本的數量。原始數據數據采集完成后,構建的數據表,如表2所示。

圖6 樣本擴充方式Fig.6 Sample expansion mode

表2 試驗樣本數據表Tab.2 Test sample data sheet
擴充完的樣本通過格拉姆角場轉換為二維圖像,生成圖像的像素分辨率設置為100×100。將4種狀態的樣本分別取一張作為展示,其中左側為振動信號時域波形圖,右側為轉換的二維圖像,且對應圖像為信號的唯一轉化結果,體現了兩者之間的雙射關系,如圖7所示。從圖中可以看出每類圖片相同位置的顏色深淺以及紋理形狀都有著較大的差異,這是因為不同振動信號的幅值在時間上的依賴關系不一樣,當軸承存在故障時,測得的振動數據表現出明顯的沖擊性,而正常軸承的信號就相對隨機,只有輕微沖擊性,這就導致每類軸承振動信號所轉換的圖片彼此之間都有較明顯的區別,為做圖像識別在方法上提供了可能性。

(a)正常
試驗模型使用基于python的keras框架,所用計算機的配置為CPU i7-9750H,GTX 1660 Ti,8 GB內存。在投入網絡訓練前,需對圖像數據進行歸一化處理,即將所有圖像乘以1/255縮放。訓練過程中,采用Adam自適應優化器,其學習率設置為0.001,損失函數使用categorical_crossentropy函數,batch_size為40,循環迭代次數為64輪。隨著訓練迭代次數的增長,模型不斷學習,其訓練過程如圖8所示,為了減少噪聲的影響,使圖像更具可讀性,將每個精度和損失值都替換為指數移動平均值,從而使得曲線變得更為平滑。從圖中可以看出,模型訓練至20次迭代后,準確率和損失值逐漸趨于平穩,說明模型從訓練集中已經學習到較好的規則,并且訓練曲線緊緊跟隨驗證曲線表明模型沒有發生過擬合。模型總的訓練時間為576.36 s,測試時間為7.53 s。

(a)精度變化
通過對測試集的識別分類,得到的混淆矩陣如圖9所示。圖中橫縱坐標的數字0~3分別表示試驗軸承振動信號的類型(正常,內圈輕度損傷,內圈中度損傷,內圈重度損傷),矩陣的對角線代表著每類狀態的識別準確率。從圖9可以看出,對于正常狀態、內圈損傷輕度損傷狀態以及內圈重度損傷狀態的軸承,模型完全識別正確,即達到100%的準確率,而對于內圈中度損傷狀態的軸承模型也能保證較高的識別準確率,只有極少數樣本被誤判到內圈重度損傷故障狀態。試驗的總準確率達到99.63%,表明本方法的可行性。

圖9 混淆矩陣Fig.9 Confusion matrix
文獻[28]提出了一種基于連續小波變換與改進生成對抗網絡的電機軸承故障診斷方法,該方法通過連續小波變換將電機振動信號轉換為小波時頻圖,將其預處理后作為對抗網絡的輸入,以完成對電機軸承的故障模式識別。本文將表2的4種工況樣本進行連續小波變換得到時頻圖,并將其壓縮至100×100的大小,與格拉姆角場圖像保持一致。將4種軸承狀態轉換的時頻圖各取一個樣本作為展示,如圖10所示。

(a)正常
將時頻圖作為本文模型的輸入數據,經過訓練后得到測試結果,如表3所示。從表3可以看出,模型對于連續小波變換轉換的時頻圖的識別準確率為98.25%,略低于在格拉姆角場轉換圖像數據集上取得的準確率。這表明通過格拉姆角場轉換的圖像包含更豐富的特征知識,對于模型的分類識別具備更優越的效果。

表3 時頻圖分類結果Tab.3 Time-frequency diagram classification results
為驗證本文提出模型的有效性,將本文方法與常見的深度學習算法CNN與深度神經網絡(deep neural network,DNN)以及支持向量機(support vector machine,SVM)進行對比分析。在試驗中,CNN的結構與CNN-BiGRU類似,CNN將CNN-BiGRU的門控循環單元替換為一層全連接層,并在該層使用dropout機制防止過擬合。除此之外,CNN的參數與CNN-BiGRU完全一致。而搭建的DNN網絡主要包含兩個隱藏層,其神經元個數分別設置為128與64,同時也在每層隱藏層中使用Dropout來防止模型發生過擬合。最后SVM的核函數選用高斯徑向基核函數。
每個模型使用相同的圖像數據集進行試驗,試驗的最終結果如圖11以及表4所示。從圖11可以看出3種深度學習方法的識別準確率都達到96%以上,遠遠高于SVM的識別準確率。這表明了深度學習方法在故障診斷領域有著極強的識別能力,同時也說明了本文轉換得到的圖像集的可用性。CNN-BiGRU的準確率比CNN與DNN都有所提高,表明本文提出的方法具有更優越的效果。同時從表中可以看出CNN-BiGRU能夠保持較高的診斷率,穩定性更好。相比于CNN,CNN-BiGRU的平均準確率提升了0.4%,且方差更低,說明CNN-BiGRU具備更好的診斷效果。

圖11 不同算法的試驗結果Fig.11 Test results of different algorithms

表4 不同算法10次試驗結果Tab.4 Results of 10 test with different algorithms
為了驗證本文提出方法的特征提取能力,利用t-SNE降維技術[29],將CNN、DNN與本文提出模型的最后一個隱藏層提取到的圖像特征進行二維平面可視化,如圖12所示。從圖12可以看出3種方法對圖像數據都有著高效的特征提取性能,代表每種故障類型的故障特征在空間具有明顯的可分性。但在空間聚簇性上,CNN-BiGRU明顯優于CNN與DNN。比如代表內圈輕度損傷的特征在CNN與DNN的特征空間中分布在了不同的空間位置,而在CNN-BiGRU的特征空間中分布在了相似的空間位置;代表內圈重度損傷的特征也在CNN-BiGRU的特征空間中表現出更密集的聚簇性。這進一步提升了本文提出模型對于滾動軸承故障類別的識別精度。

(a)DNN特征
為了更進一步地驗證本文提出方法的可行性,試驗又選取了測量轉速為1 797 r/min,采樣頻率為12 kHz下的驅動端軸承3種不同故障位置且同一故障程度的振動信號與正常振動信號作為研究對象,如表5所示。

表5 試驗樣本數據表Tab.5 Test sample data sheet
試驗過程中,將使用訓練集與驗證集訓練好后的模型用于測試集進行分類,與其他方法的某一次對比試驗結果,如表6所示,從表6可以看出CNN-BiGRU的準確率明顯優于CNN與DNN以及SVM,進一步表明本文提出方法的擁有更好的識別穩定性,其對于滾動體損傷狀態的軸承模型的識別準確率最低,這也與工程實際情況一致,而其他位置的識別率都能達到100%,測試集最終的識別總準確率達到99.28%。

表6 不同算法的試驗結果Tab.6 Test results of different algorithms %
在此基礎上,增加滾動軸承的故障類別數目進行測試,選擇同等條件下驅動端軸承3種故障位置分別對應的3種損傷直徑的振動信號與正常振動信號作為研究對象,將故障類別數目擴充至10類。利用設計的CNN-BiGRU進行分類識別,總的準確率為97.40%,診斷性能較為良好,驗證了本文方法的有效性。相信在對模型超參數進行進一步調試后,能夠取得更好的效果。
為充分利用卷積神經網絡在圖像分類識別中的優勢,本文通過格拉姆角場方法將滾動軸承振動信號轉換為二維圖像數據,在不丟失原始數據信息的前提下,保留了信號對于時間的依賴性。在此基礎上,提出基于CNN-BiGRU網絡的分類模型,利用CNN對于圖像強大的自動提取特征能力提取關于圖像的空間特征,再由BiGRU進一步篩選其時間特征,最終由分類器實現模式識別。試驗證明,本文所使用的方法對于滾動軸承不同故障程度以及不同故障位置的振動信號識別都取得了較好的效果,準確率均優于常見的深度學習算法與機器學習算法。通過特征可視化對比分析,本文提出的模型擁有更好特征提取能力,因此其故障識別準確率更高。上述試驗與結果表明,本文所提出的方法對于滾動軸承故障模式識別有一定的實用價值,為智能故障診斷提供了一個可行的方案。