郭 璐 于忠清 Yu Jianqi
1(青島大學數據科學與軟件工程學院 山東 青島 266071)
2(青島大學計算機科學技術學院 山東 青島 266071)
物聯網、通信和計算機技術的發展催生了工業向著4.0及智能制造的轉型,這種轉型反過來促使制造業向著快速、小批量和定制化的方向發展。制造系統如何在快速反應、設備制造模式切換頻繁中及時地檢測出異常、盡早發現系統內的故障從而延長系統使用壽命,減少維護成本是當前制造業的重要問題。而在各種輕、重制造業設備中,滾動軸承是制造系統中旋轉機器設備中廣泛應用的零件之一。在旋轉機器故障中,有近30%的故障是由軸承損壞導致的,故障的準確定位、早期的故障診斷對于減少設備停機所帶來的高額成本十分重要,變負載驅動環境下的軸承故障信號區別不夠明顯,導致滾動軸承故障的精確度較低,所以本文關注變負載驅動下滾動軸承的故障診斷。
現有的滾動軸承的故障診斷方法主要分為三類,一是基于知識的途徑;二是數據驅動的方法;三是混合方法。其中:基于知識的方法主要為基于可靠性模型和基于專家經驗的方法;數據驅動方法是通過傳感技術和計算機,將獲得的設備數據通過AI方法進行建模預測;混合方法則是將數據驅動方法和傳統的物理指標、信號處理等方法相結合。后兩者已經成為現在研究的重點。文獻[1-2]即使用混合方法,分別通過將小波能量譜及Hilbert能量圖進行特征提取然后結合機器學習方法進行故障診斷。但小波變換自適應性弱,Hilbert能量譜會忽略邊緣能量信息,而Teager能量算子具有檢測信號瞬態沖擊的優勢,且能夠跟蹤信號、結合信號變化的動能和勢能,計算信號的瞬時能量和總能量。文獻[3-5]都通過使用Teager能量算子以及Teager能量譜進行綜合診斷,并取得了很好的效果。但現有的相關研究仍依賴于人工的特征提取和診斷,無法適應當前制造系統對于故障的準確診斷和及時反映的要求。
深度學習在數據分類和特征提取問題方面的優勢十分明顯。文獻[6-7]利用CNN用于自動抽取圖像中的特征進行識別的特點,分別使用原始信號數據及頻譜圖作為輸入訓練網絡來進行故障的診斷。卷積神經網絡在圖像處理、識別上有很多成功的應用,同時能夠自行抽取圖像特征且不需要組合其他分類方法。但原始數據中的噪聲造成故障特征的隱藏和缺失,頻域圖雖然能夠根據故障頻率發現故障特征,但在不同驅動狀態下軸承診斷中效果不佳。
綜上,本文通過Teager能量譜在不同負載驅動下的故障特征,對軸承故障進行精確的診斷。將Teager能量算子與卷積神經網絡結合起來,提出基于Teager能量譜和CNN的軸承故障診斷模型以及基于該模型的故障診斷方法,來提高變負載驅動下滾動軸承故障診斷的準確率。
Teager能量算子是一個非線性算子,最初是由H.M.Teager在研究非線性語音建模時提出的信號分析算法。但由于其在發現振動信號沖擊特征中的出色表現,Teager能量算子以及能量譜被廣泛應用于設備的故障診斷與健康管理中。如文獻[8-10]均使用Teager能量算子與其他方法相結合分別解決了滾動軸承早期故障難以識別和齒輪箱故障特征提取問題。文獻[11] 先將振動信號通過MCKD方法過濾,再使用Teager能量譜進行分析,提出了滾動軸承的復合診斷方法,提高了軸承故障診斷的準確性。鑒于能量算子及能量譜在早期故障識別以及故障特征提取上的出色表現,針對變負載驅動下的故障特征不明顯、導致診斷難的問題和對振動信號整體分析的考量,本文對由Teager能量算子計算繪制后得到的Teager能量譜進行了進一步的研究。
能量譜是指用密度的概念表示信號能量在各個頻率點的分布情況,能夠反映出信號能量隨著頻率的變化情況。因此各類能量譜被廣泛應用于設備的故障診斷、損傷識別等分析中,通過能量信號變化來確定設備故障。曹展等[2]將小波包能量譜和Hilbert包絡分析相結合,來發現行星齒輪的早期故障,并通過實驗發現這種方法不能用于橫向振動信號。鄧飛躍等[12]使用全生命周期的軸承數據計算時間-小波能量譜,并將能量譜的樣本熵按照時間順序排列,繪制軸承的運行狀態曲線,從而通過判斷正常軸承的曲線走勢來判斷其是否會發生故障。但上述研究中,探討的故障類型較少且沒有對變負載驅動下的情況進行研究。同時雖然小波信號能夠反映振動信號時頻域的局部化信息,但小波基長度有限,進行小波變換時會造成能量泄露。而小波基和分解尺度的限制,使得小波變換的自適應性較弱。
針對小波變換的能量譜在變負載驅動下診斷的缺點,王玉靜等[13]則對變負載下軸承故障識別難的問題,提出了基于經驗模態分解和希爾伯特包絡譜和深度信念神經網絡的狀態識別方法,用來識別不同負載驅動下的軸承狀態,且識別率達到92%。但相比于包絡譜,基于Teager能量算子計算得到的Teager能量譜則能夠更好地兼顧信號的邊緣和主體信號,更容易發現不同負載驅動下振動信號變化的微小信號,在速度和精度等方面都表現更好。
張小龍等[14]首先將振動信號進行固有時間尺度分解(ITD),得到若干個固有旋轉分量,并取前兩個固有旋轉分量進行濾波,將其與剩余旋轉分量進行重構,對重構信號繪制Teager能量譜,能夠清楚地識別出軸承的故障特征。向玲等[8]通過變分模式分解和1.5維Teager能量譜的結合研究,準確地提取了非線性、非平穩滾動軸承故障信號中的故障特征。劉尚坤等[3]和齊詠生等[11]都將振動信號通過MCKD方法過濾,然后使用Teager能量譜進行分析,分別提出了滾動軸承的復合診斷方法與軸承早期故障識別方法,都取得了較好成果。任學平等[15]也針對軸承早期故障難以提取的問題,在頻帶幅值熵的基礎上,將雙樹復小波變換與Teager能量譜結合,用于識別早期故障。圖1為Teager能量算子及能量譜計算過程。

圖1 Teager能量算子與能量譜計算
以上研究中,主要是將Teager能量譜用于早期故障的特征提取中,使用信號統計量作為故障特征,根據找到的特征來進行人為的識別診斷。相比于上述研究,本文主要將Teager能量譜用于變負載驅動下的軸承故障識別,同時使用深度學習的方法代替人工的特征提取。深度學習會從圖像的角度,提取更為抽象的特征量,如信號的形狀、密度等,不僅解決了以往方法對于人工特征的依賴,又能夠對Teager能量譜進行更為全面的分析。所以本文提出了以下研究想法來進行變負載驅動下軸承的故障診斷。
卷積神經網絡是深度學習的代表算法之一,學習效果穩定且不需要額外的特征處理,在計算機視覺、醫學和健康管理等領域有著出色的表現[16-17]。所以,本文通過使用CNN對Teager能量譜圖進行直接的識別,來替代僅使用均值、方差等傳統統計量的特征提取方法。圖2為本文提出的研究路線,主要包括兩個部分:模型構建和使用模型進行故障診斷。

圖2 滾動軸承故障診斷流程
第一個部分模型構建分為三個模塊:① 計算Teager能量譜圖,通過獲得的軸承振動信號,計算Teager能量算子并繪制能量譜圖,然后對計算得到的能量譜圖進行訓練集和測試集劃分;② 卷積神經網絡,構建出合適當前能量譜圖的卷積神經網絡結構;③ 模型訓練,得到軸承故障診斷模型。使用①模塊得到的訓練集和測試集對構建好的卷積神經網絡進行訓練和參數調整,直到準確度達到要求,則模型訓練結束。
第二個部分使用模型進行故障診斷也分為三個模塊:① 計算Teager能量譜圖,與模型構建部分的①模塊不同的是,模型構建中是使用確定故障的信號計算能量譜圖并劃分數據集,而此處的能量譜圖則是使用未知故障的振動信號計算得到,用于后續的故障診斷;② 使用模型構建過程中構建好的診斷模型識別①步驟計算的未知故障振動信號能量譜;③ 得到診斷結果,即當前設備是否故障,屬于哪種故障類型。
診斷模型是研究中的核心部分,本節就研究路線中的模型構建部分具體實現進行詳細介紹,即圖2 中的①部分。如圖3所示,模型的構建主要分為數據處理和診斷模型訓練兩個部分組成。其中數據處理主要將振動信號轉換為可供CNN處理的能量譜圖像,模型訓練部分則說明如何使用提取的數據集來進行故障診斷模型的訓練。

圖3 診斷模型的構建
數據處理是模型訓練前的重要準備工作。為了將振動信號轉換為可以作為卷積神經網絡輸入的訓練數據,數據處理包括了計算能量譜圖和圖像調整兩個部分。
在圖像調整方面,由于繪圖保存的圖像過大,且不同故障下的數據繪圖有不同的幅值,這就使得圖像不在同一范圍內,無法比較。所以本文分別實驗了以下幾種方案來使得圖像可用:① 將帶有坐標軸信息圖像直接壓縮裁剪;② 使圖像繪圖范圍在同一坐標軸下,再進行壓縮裁剪;③ 歸一化幅值數據,再進行繪圖調整。實驗發現,由于坐標軸信息在整幅圖中占比較小,導致①方案圖像無法辨認;而不同故障的幅值信息差別較大,固定的坐標無法適應幅值變化,所以排除了②方案。最終經過實驗,在圖像調整中本文采用了歸一化的方式,既不會影響不同故障的幅值比較,同時又把圖像限制在了一定范圍內。
以下為詳細的計算過程:
(1) 設輸入的離散振動信號為s(n),信號的采樣頻率為fs,采樣點數為N。首先根據式(1)計算振動信號的Teager能量算子。
Ψ(x(n))=[x(n)]2-x(n-1)x(n+1)
(1)
(2) 對Teager能量算子進行快速傅里葉變換,之后計算幅值mag,計算數據點對應的頻率f。
mag=abs(fft(Ψ[x(n)]))
(2)
f=n×fs/N
(3)
(3) 對幅值mag進行歸一化,使其在(0,1)范圍內。然后使用plot繪圖,并保存圖像。
(4)
(5)
(4) 設保存的圖像為picture,設像素點值分別為R、G、B,整幅圖像像素個數為m,設灰度轉換后圖像為picture′。
picture′(m)=0.298 9×R+0.587 0×G+0.114 0×B
(6)
(5) 裁剪確定范圍圖像到合適大小。
(6) 對所有采樣數據進行步驟(1)-(5)的計算得到數據集,設置訓練測試百分比x,隨即劃分1-x百分比數據為訓練集,x百分比測試集。
對于本文使用的Teager能量譜圖像,由于采樣頻率較高,能夠檢測的頻率范圍從0 Hz一直到6 000 Hz,而主要的特征頻率又集中在前半部分,所以本文實驗的步驟(5),去掉了圖像的空白邊界,并保留了前3 500 Hz的頻率信息。
2.2.1改進的卷積神經網絡結構
Lecun等[18]提出的LeNet-5模型,確定了卷積神經網絡基本結構,即卷積層、池化層和全連接層。其中卷積層和池化層用于圖像的特征抽取,而全連接層用于分類。關于基本結構和原理可以參考文獻[16-18]。鑒于卷積神經網絡在特征提取和圖像處理等方面的出色表現,本文將Teager能量譜數據集輸入到CNN中進行訓練,得到故障的分類模型。限于圖像數量,CNN采用了兩個卷積層、兩個池化層、兩個全連接層的基本結構。
但是只含有卷積、池化及全連接層的卷積神經網絡,在處理能量譜數據時會產生嚴重的過擬合,其訓練集準確度達到100%,但預測集準確度卻不足50%,即模型泛化能力低。為了解決圖像訓練集較少易過擬合問題,本文嘗試在網絡訓練中使用Dropout方法隨機化網絡連接并增加BN層對輸入圖像歸一化處理。
Dropout是Hinton于2012年提出的方法[19],主要是針對模型參數多,但是樣本過少產生的過擬合現象。其主要原理是通過減少特征選擇器的重復作用來提高網絡性能。文獻[18-20]中都通過在全連接層使用Dropout方法來減少過擬合現象。在網絡搭建中,本文嘗試在卷積層和全連接層加入Dropout層,經過多次實驗,最后一層pooling層以及全連接層中加入Dropout層使得神經元隨機連接,得到了較好的訓練效果(迭代50次,訓練準確率為93%,測試準確率為90%),其網絡結構如圖4所示。

圖4 增加了Dropout層的卷積神經網絡結構
在pooling層及全連接層中加入了Dropout層的方法使得網絡的準確率得到了提升,但是其訓練過程較慢且不穩定(前27次迭代訓練準確率浮動較大,訓練準確率38%左右)。所以考慮對數據進行歸一化來解決不同范圍數據的影響,加強穩定性,同時提高訓練速度。BN層即Batch Normalization,由Ioffe等[21]提出,其優點在于減少網絡訓練參數調整的難度,可以使用較大學習率使得訓練速度加快,同時使得訓練數據和測試數據分布一致。所以本文將其加入到卷積神經網絡中以提高網絡訓練速度及模型的泛化能力,模型測試十次中,最高測試準確率達到100%。
經過對模型結構的改進和參數調整,得到適合用于當前數據的卷積神經網絡結構。如圖5所示,本文最終改進的網絡結構包括:兩個加入了BN層(Batch Normalization)的基本卷積神經網絡結構,以及由兩個全連接隱藏層組成的分類部分。

圖5 增加了Dropout層和BN層的網絡卷積神經網絡結構
各個層次的具體參數如下所示:
輸入層。根據實驗數據集,設置輸入層大小,本文實驗數據圖像大小為568 px×479 px的Teager能量譜圖構成。訓練過程每批訓練數量(Batch Size)為64。
卷積層和池化層。兩個卷積層的卷積核大小和特征數量分別為2×2,32;2×2,64。池化層為2×2的采樣窗口,步長為1。激活函數使用ReLU函數。兩層中間加入BN層進行歸一化。最后一層Dropout篩選概率默認設為0.5。
全連接層。全連接層分為兩層:第一層為512個神經元,第二層為128個神經元,輸出層神經元個數為訓練數據類別個數。層間激活函數使用ReLU函數,全連接層和輸出層之間使用Softmax函數。Dropout層篩選概率默認設為0.5。
2.2.2模型訓練流程
如圖3右半部分模型訓練所示,模型訓練的詳細步驟如下。
(1) 按照2.2.1節模型參數搭建卷積神經網絡。設置訓練圖像個數為N,測試數據集個數為M,一同訓練的批處理參數為BS,最大迭代次數為Epoch,當前迭代次數為i,希望達到的測試準確率為TestAcc,當前測試準確率為TempAcc。
(2) 使用分批的訓練數據集圖像訓練建立好的CNN模型,每批圖像個數為BN,如果BN×i≥N,一次迭代結束,更新迭代次數i;否則重復步驟(2)。
(3) 如果i>Epoch,結束訓練,得到訓練好的診斷模型TempModel,跳轉到步驟(4),否則重復(2)繼續訓練。
(4) 使用測試集作為輸入,輸入到TempModel中進行計算,對比測試集的原標簽和TempModel輸出的診斷標簽,統計準確率TempAcc。
(5) 如果TempAcc≥TestAcc,則訓練結束,得到診斷模型Model。否則,跳轉到步驟(6)。
(6) 修改模型參數,如Dropout篩選率、池化層窗口大小及步長等。跳轉到步驟(2),繼續訓練模型。
建立好的故障診斷模型,能夠根據輸入的能量譜圖進行自動化的特征提取和分類。針對如何使用模型進行故障診斷,即圖2中的②部分,本文提出了基于該模型的故障診斷方法。如圖6所示,基于Teager能量譜和CNN的軸承故障診斷流程如下:

圖6 基于故障診斷模型的軸承故障診斷流程
(1) 獲取滾動軸承的振動數據,計算能量因子后通過FFT變換得到頻率f和對應幅值大小mag。
(2) 對mag進行歸一化,使用頻率和歸一化后的mag數據繪圖,進行灰度轉換并根據訓練數據集格式化圖像。
(3) 將規格化后的Teager能量譜圖作為診斷診斷模型的輸入。輸入到訓練好的診斷模型中,得到當前能量譜圖所示的軸承是否健康或存在故障。
由上述圖例和描述可知,一旦診斷模型建立完畢,后續模型使用中的計算主要集中在如何將振動數據轉換為模型能夠識別的圖像上。以上即為故障診斷模型構建及方法的具體實現,下面通過兩個實驗分別驗證本文網絡結構以及Teager能量譜在軸承故障診斷中的實用性、以及對于變負載驅動軸承故障診斷的準確性。
本節將針對提出方法進行實驗驗證。實驗使用的滾動軸承振動數據為美國西儲大學公開軸承數據集,待檢測的軸承支撐著1.6 kW電動機的轉軸,驅動端軸承為SKF6205,在驅動端進行振動數據采集,采樣頻率為12 kHz,分別采集電機在0 hp、1 hp、2 hp和3 hp負載驅動時的健康、內圈故障、外圈故障和滾動體故障數據。本文通過不同的驅動下的健康和故障數據進行計算,得到了含有2 409個電機故障能量譜圖,作為實驗數據集。
下面將分別從網絡結構和輸入數據類型、完整的診斷與預測實驗來驗證模型和方法的可行性和有效性。
實驗一:網絡結構與不同輸入數據測試對比。
本實驗通過調整網絡結構與參數,以及使用不同的輸入數據來對比驗證網絡結構和輸入數據的有效性。實驗使用輸入數據分為3種:第1種為如圖7所示能量譜圖,第2種和第3種分別為振動數據的原始時域圖和振動數據頻域圖,圖8(a)和(b)為時域圖,圖8(c)和(d)為頻域圖。實驗對比的不同網絡結構和輸入數據如表1所示,其中:In和Out代表輸入和輸出層,C代表卷積層,P代表池化層,F代表全連接層,D代表Dropout層,BN代表BN層。

圖7 部分能量譜

圖8 振動數據時域圖和頻域

表1 對比實驗網絡結構
模型1的網絡結構為僅含有卷積層、池化層和全連接網絡的卷積神經網絡,模型2的網絡結構如圖4所示,為增加了Dropout層的卷積神經網絡,本文模型的網絡結構如圖5所示,增加了Batch Normalization來加快訓練速度,進一步減少過擬合。
其中模型1、模型2和本文模型1用于對比驗證增加了Dropout方法和BN層后的網絡結構對于準確度的影響,模型3、模型4、模型5與本文模型1對比驗證卷積核大小、池化層篩選步長對于測試結果的影響。本文模型1與模型6、模型7則通過以不同的輸入數據,驗證Teager能量譜在識別軸承變負載驅動時故障的優越性。每批訓練圖像數為64,Dropout層隨機篩選概率為0.15。測試結果如表2所示。

表2 不同模型測試對比結果
其中測試平均準確率為計算10次測試的平均值,迭代次數本文使用次數范圍是因為訓練過程達到結束要求的迭代次數并不相同。由表2可知,對于軸承故障診斷,傳統的CNN模型以及只加入Dropout層的模型準確率都低于本文提出的模型,且迭代次數也均在30次以上。
對于本文提出的網絡結構,卷積核大小為2×2時的準確率要優于卷積核大小為3×3及5×5,原因是卷積核過大,導致篩選的特征范圍過于寬泛,而振動信號之間的變化往往較為細微,所以較小的卷積核效果更好。池化層的篩選窗口步長也對準確率有較大的影響,主要原因是較多的篩選會導致有用特征的減少,從而導致了準確率下降。
模型6、模型7及本文模型測試準確率分別為0.844 0、0.902 9和0.933 5。變負載驅動狀態下的軸承,在微小負載變化時在時域波形上不會產生巨大的影響,所以獲取振動數據的時域波形基本一致,從而導致診斷效果較差。而對于頻域圖而言,90%準確度說明頻域波形用來診斷故障要比時域波形更具有優勢,但是不同負載下頻域信號可能會產生重合或相似,從而使得其診斷的準確率不如能夠從時間和空間積累信號能量的Teager能量譜圖。通過這組模型對比,驗證了本文提出的Teager能量譜圖作為輸入數據進行變負載驅動下軸承的故障診斷能夠得到更好的效果。
實驗二:變負載驅動軸承故障診斷。
通過實驗一,可知本文提出的網絡結構處理軸承故障診斷上的優勢。下面將通過在0 hp、1 hp、2 hp和3 hp負載驅動時的健康、內圈故障、外圈故障和滾動體故障數據來進行故障診斷模型的訓練,并通過測試驗證本模型對于變負載驅動下軸承故障診斷的可行性。
1) 數據處理。
分別計算電機在0 hp、1 hp、2 hp和3 hp負載驅動時的健康、內圈故障、外圈故障和滾動體故障振動數據進行處理并繪圖得到不同負載驅動下軸承振動信號的Teager能量譜。如圖9-圖10分別為健康狀態下的軸承振動信號和Teager能量譜圖。

圖9 不同負載驅動下軸承振動信號

圖10 不同負載驅動下軸承能量譜圖
得到繪制出的能量譜圖后,需要對圖像進行處理,首先灰度化,之后進行裁剪,得到數據集。如圖11所示,為圖像處理后的不同負載驅動下的健康軸承Teager能量譜。之后進行數據集劃分,將1 806個隨機能量譜數據作為訓練集,剩余603個能量譜數據作為測試集。

圖11 不同負載驅動下健康數據能量譜
2) 模型訓練。
使用訓練集和測試集進行模型訓練,數據共十六類,標簽為0-15,故障類別對應標簽如表3所示。其中:B代表滾動體故障,H為健康,IR為內圈故障,OR為外圈故障,0-3為不同的負載驅動。

表3 類別標簽對應表格
圖12(a)為在訓練的不同迭代次數停止訓練后使用測試集進行測試得到的測試準確率,可以看到當迭代次數超過12時,由于模型完全擬合訓練數據,訓練準確度為100%,導致過擬合,使測試準確率降低。本次實驗選擇訓練迭代12次即測試準確率為95.273%時的模型作為診斷模型,圖12(b)為模型訓練過程準確率變化折線圖。之后保存并使用模型進行故障診斷。

(a) 不同迭代次數測試準確率對比
3) 基于模型的故障診斷。
得到了滿足準確率要求的模型之后,即可使用該模型進行故障診斷。本文收集了100組未知故障的軸承振動信號,對其進行故障診斷。首先對未知故障的軸承振動信號進行數據處理,得到能量譜圖。圖13為部分未知故障數據計算得到的Teager能量譜。

圖13 未知故障振動信號能量譜圖
對其進行診斷,上述示例圖像得到診斷結果如表4所示。由實驗結果可知,訓練好的模型能夠對變負載軸承故障進行準確的識別。

表4 診斷結果對應
隨著物聯網、計算機、傳感通信技術的發展,快速、小批量定制化的需求對制造設備的要求也不斷提高。如何在頻繁變換生產參數的情況下保持設備健康,盡早發現故障節約維護和時間成本是當前制造業的重要問題。對此,本文針對制造業中故障多發的軸承在變負載驅動環境下故障診斷不準確的問題,提出了基于Teager能量譜和卷積神經網絡的故障診斷方法。使用不同故障的軸承振動信號計算得到Teager能量譜圖,分成訓練集和測試集,訓練得到軸承故障診斷模型。新輸入的軸承振動信號先通過數據處理層計算得到Teager能量譜圖,然后通過訓練好的CNN模型,確定當前的軸承故障。通過對網絡結構、變負載驅動等實驗驗證,本文提出的方法能夠較好地識別變負載驅動下的滾動軸承故障,其識別準確率平均達到93%。同時也驗證了相較于振動信號時域圖和頻域圖,Teager能量譜圖能夠更好地識別變負載驅動下的軸承故障。
然而,本文研究仍存在一些不足,例如,必須提前準備好故障數據集,在數據缺乏的情況下,可能會對準確率造成一定的影響。今后本文將探討如何建立正常運行的軸承數字模型,從而擺脫故障數據的限制。另外,還將探討軸承的故障預測以及剩余壽命預測相關問題,同時推動深度學習方法在故障診斷及設備健康管理中的進一步應用。