李 輝,徐偉烝
(天津職業技術師范大學機械工程學院,天津 300222)
基于傳統信號處理方法的故障診斷技術,過度依賴于人工對故障特征的提取,會為故障診斷增加一定的不確定性,當機器運轉工況復雜、振動信號中含有高強度噪聲時,人工提取特定的故障特征更加困難[1-2]。隨著人工智能技術的發展,機器學習、深度學習和智能模式識別等新方法已逐步應用于機械設備故障診斷。基于數據驅動的故障診斷方法,能把特征學習與故障分類融為一體,基于神經網絡的智能特征提取代替了人工特征提取[3]。在故障診斷領域,Zhang 等[4]提出了一種基于寬卷積核的一維卷積神經網絡(WDCNN)的軸承故障診斷方法,直接利用傳感器采集的一維信號作為神經網絡的輸入,在卷積層使用小尺寸卷積核,利用數據增強技術產生更多的輸入樣本,實現了軸承故障的分類。李恒等[5]提出了一種基于STFT 和CNN 的軸承故障診斷方法,通過STFT 獲得振動信號的2D 時頻譜圖,再將時頻譜圖作為2D 卷積神經網絡的輸入,實現故障分類。陳仁祥等[6]提出了一種基于CNN-DWT的軸承故障診斷方法,利用離散小波變換構造合適的時頻矩陣,進而利用搭建的CNN 進行特征提取,采用softmax 分類器,利用BP 算法調整結構參數,實現故障分類。袁建虎等[7]采用Morlet 小波變換構造振動信號時頻圖,建立CNN 分類模型,實現了滾動軸承故障的智能診斷,但該方法對時頻圖進行壓縮時會丟失部分特征,導致一定程度的故障類型誤分。Shao 等[8]對振動信號進行CWT,并基于VGG-16 預訓練模型進行參數遷移,實現了齒輪箱的故障診斷。胡曉依等[9]將SVM 引入卷積神經網絡,提出了一種基于CNN-SVM 的軸承故障診斷方法,直接對原始實測信號進行學習和分類,對不同損傷程度的軸承實現了99%的識別準確率。鄢仁武等[10]利用連續小波變換和二維卷積神經網絡,實現了高壓斷路器操縱機構的故障識別。Islam 等[11]采用小波包變換得到一維信號的二維構造矩陣,將其作為CNN 的輸入,自動進行故障識別。深度學習在機械設備故障診斷領域的研究成果,很大程度上實現了機械設備故障診斷的自動化,但常見的深度學習方法往往假設訓練數據和測試數據來源于同一工況,不僅難以適用于不同工況的檢測數據,而且為實時跨域故障診斷的應用帶來了障礙。
域泛化(domain generalization,DG)是深度學習領域非常熱門的一個研究課題,主要研究從若干個具有不同數據分布的數據集(領域)中學習一個泛化能力強的模型,以便在未知(unseen)的測試集上取得較好的效果[12-14]。軸承故障振動信號為典型的循環平穩信號[15-16],譜相關密度(spectral correlation density,SCD)能有效提取軸承的故障特征[17-19],更易于卷積神經網絡對信號特征的學習和提取。本文針對變負載工況、少樣本數據和樣本數據類別不平衡(class imbalance)3種工業場景,提出基于譜相關密度和卷積神經網絡的軸承故障診斷技術。
卷積神經網絡常使用二維圖像作為輸入層,因此在基于卷積神經網絡的故障診斷技術中,常將一維振動信號采用信號預處理方法轉化為二維圖像。常用的信號預處理方法有:短時傅里葉變換(short-time Fourier transform,STFT)和連續小波變換(continuous wavelet transform,CWT)等,本文采用譜相關密度作為信號預處理方法。
連續信號x(t)的短時傅里葉變換可表示為

式中:w(t - τ)為中心在t 的有限長度窗函數;t 為時間;f 為頻率。
STFT 將信號x(t)映射到時頻(τ,f)平面內。
小波變換是連續信號x(t)的時間-尺度表示,信號x(t)的連續小波變換可表示為

式中:a 為小波尺度因子;τ 為小波頻移因子;Ψ(·)為小波母小波;*為復共軛。
CWT 將信號x(t)映射到時間-尺度(t,a)平面內。
對于循環平穩實信號x(t),其時變自相關函數為

式中:τ 為時間滯后量;E[·]為數學期望。
時變自相關函數Rx(t,τ)可展開為傅里葉級數形式,即


譜相關密度定義為Rx(α,τ)的傅里葉變換,即

為充分說明SCD-CNN 方法的優良性能,首先利用美國凱斯西儲大學(CWRU)電機滾動軸承數據[20],比較說明STFT、CWT 和SCD 的軸承故障特征提取能力。診斷對象為SKF6205 深溝球軸承,電機振動信號采樣頻率為48 kHz,電機轉速1 772 r/min,負載1 hp,每個數據的采樣點數為1 024。軸承滾動體故障數據序號為123,內圈故障數據序號為110,外圈故障數據序號為116,軸承正常狀態數據序號為98。軸承振動信號如圖1 所示,圖1(a)至圖1(d)分別為軸承滾動體故障(BF7)、內圈故障(IF7)、外圈故障(OF7)和正常狀態(NC)的振動信號。

圖1 軸承振動信號
圖2 為圖1 所示軸承振動信號的短時傅里葉變換(STFT),采用漢明窗函數,時間窗寬度為128 個采樣點,重疊點數為64 個采樣點。
從圖2(a)至圖2(c)可以看出,當軸承出現故障時,軸承振動信號的能量主要集中在較低頻率范圍(0~4 kHz)。從圖2(d)可以看出,當軸承正常時,軸承振動信號的能量集中在較寬的頻率范圍內(0~8 kHz),能量比較分散。從圖2 可以看出,短時傅里葉變換的頻率分辨率較高,而時間分辨率較低。盡管當軸承出現不同類型的故障時,其短時傅里葉變換的時頻圖具有不同的形態,但從短時傅里葉變換時頻圖中,難以發現不同故障類型的故障特征。主要原因是由于STFT 采用的窗函數為固定時間窗,很難同時兼顧時間分辨率和頻率分辨率。此外,STFT 只對頻率波動較小的平穩信號具有較好的時頻分析效果,對頻率波動大的非平穩信號進行分析時,會出現性能衰退甚至失效。

圖2 軸承振動信號的STFT
圖3 為圖1 所示軸承振動信號的連續小波變換(CWT)時間-尺度圖,采用Morlet 小波。
從圖3(a)至圖3(c)可以看出,當軸承出現故障時,軸承振動信號的能量也主要是集中在較低的小波尺度范圍(10~20)。從圖3(d)可以看出,當軸承正常時,軸承振動信號的能量集中在較寬廣的小波尺度范圍內(10~80),能量也比較分散,與STFT 分析結果基本一致。

圖3 軸承振動信號的CWT
對比圖2 和圖3 可以發現,小波變換的時間分辨率較高,而頻率分辨率較低,小波變換能比較準確地提取軸承故障信號中的瞬時沖擊特征,其性能優于短時傅里葉變換。雖然CWT 能有效提取振動信號的瞬時沖擊特征,但從圖3(a)至圖3(c)中也很難發現反映軸承故障類型的時間-尺度特征,這主要是由于小波基函數的選取會影響故障分析的效果。因此,STFT 和CWT 在處理循環平穩信號時都存在一定的局限性,尤其當振動信號含有較強的噪聲干擾時,STFT 和CWT更難取得較好的分析效果。
圖1 所示軸承振動信號的譜相關密度(SCD)圖如圖4 所示。

圖4 軸承振動信號的SCD
譜相關密度圖整體呈菱形結構,體現了SCD 特有的譜相關特性。在構成的雙頻平面內,SCD 關于α 軸和f 軸對稱,并且呈菱形分布,對于呈大菱形分布的每個譜峰簇而言,其內部都存在4 個小菱形,且任意一小菱形水平方向對角線長度為軸承故障特征頻率的2倍,在豎直方向對角線長度等于軸承故障特征頻率。由于軸承故障類型不同,其故障特征頻率也不同。因此,從圖4 可以看出,不同的軸承故障類型,其譜相關密度圖也不同,譜相關密度能很好地刻畫軸承的故障特征,根據譜相關密度圖能有效區分軸承的故障類型。
對比圖2、圖3 和圖4 可知,SCD 比STFT、CWT 可以更好地刻畫軸承的故障特征,因而能為CNN 提供更高質量的輸入數據,提高CNN 特征學習和故障特征識別能力。
CNN 結構主要由輸入層、卷積層、池化層、全連接層和輸出層組成。本文的CNN 主要包含2 個卷積層,2個批歸一化層,2 個池化層,2 個全連接層和1 個Softmax 輸出層,所有激活函數均采用ReLU 函數。CNN 主要結構參數如表1 所示。

表1 卷積神經網絡結構參數
SCD-CNN 故障診斷方法包括對軸承故障振動信號進行重疊采樣,構建訓練集和測試集,數據預處理計算樣本譜相關密度,訓練CNN 模型,CNN 特征提取與識別等。SCD-CNN 軸承故障診斷流程圖如圖5 所示。

圖5 SCD-CNN 軸承故障診斷流程圖
機械設備運行工況復雜,研究卷積神經網絡在變工況、少樣本和類別不平衡情況下,能否有效提取故障特征以及對不同數據分布的自適應能力,具有重要的學術價值和工程實際意義。CWRU 電機軸承振動信號數據集,包括不同損傷位置、不同損傷程度、不同負載、不同轉速等工況,依據軸承損傷位置分為軸承滾動體損傷、內圈損傷和外圈損傷,不同的損傷位置還分別對應3 種不同的損傷直徑:0.007 inch、0.014 inch 和0.021 inch。將軸承滾動體、內圈、外圈損傷和正常狀態分 別 標 記 為BF7、BF14、BF21、IF7、IF14、IF21、OF7、OF14、OF21 和NC 共10 個類別。根據電動機負載和轉速不同,將數據分為數據集A(負載1 hp、轉速為1 772 r/min)、數據集B(負載2 hp、轉速為1 750 r/min)和數據集C(負載3 hp、轉速為1 730 r/min)。本節應用CWRU 軸承數據集,在變負載工況、少樣本數據和樣本數據類別不平衡3 種實際工業場景下,研究SCDCNN 模型的泛化能力。
機械設備經常工作在變負載工況下,在某種負載工況下訓練的故障診斷模型,期望將其遷移到其他負載工況也具有良好的自適應性能,能得到比較高的故障識別準確率。由于機械設備的工作負載不同,傳感器采集信號的幅值、振動周期、特征個數以及相位等均存在較大差異,可能會對診斷模型產生嚴重干擾。在變負載工況下,檢測SCD-CNN 模型的自適應性能,源域數據用于訓練CNN,目標域數據用于測試CNN 的域泛化自適應性能,在源域負載條件下訓練的故障診斷模型,將其遷移至負載變化的目標域進行自適應性能測試,變負載工況下自適應數據集如表2 所示。

表2 變負載工況下自適應數據集
在表2 中,訓練集每類故障樣本數為600 個,測試集每類故障樣本數為200 個,每個樣本的采樣點數為2 048,根據表1 的CNN 參數和SCD-CNN 軸承故障診斷流程圖進行測試,并與STFT-CNN 和CWT-CNN 模型實驗結果進行對比分析,結果如圖6 所示。

圖6 變負載工況下故障識別準確率對比
從圖6 可以看出,SCD-CNN 故障診斷模型,在變負載工況下的平均識別準確率接近90%,高于STFTCNN 和CWT-CNN 故障診斷方法,其中CWT-CNN 方法在變負載工況下的泛化力最差,平均故障識別準確率低于75%。此外,不難發現當負載變化相差1 hp 時,SCD-CNN 模型的泛化力較好,故障識別準確率變化較小,而當負載變化相差2 hp 時,使用訓練集C(負載3hp)來訓練模型,對測試集A(負載1 hp)進行診斷驗證時,SCD-CNN 模型的識別正確率低于80%,說明當負載變化大時,振動信號的幅值、周期、特征個數或相位等存在較大的差異,對模型的穩定性有一定的影響。總體上,SCD-CNN 模型在負載變化較小工況下的自適應能力很強,在負載變化較大工況下的自適應力較差,但其泛化性能優于STFT-CNN 和CWT-CNN 模型,具有較好的變負載自適應力。
在利用大數據訓練模型的驅動下深度學習已在許多領域中取得了廣泛應用。但在現實應用場景中,有時很難得到大量的數據,并且在監督學習方式下,對大量數據樣本添加標簽會耗費大量時間。因此,期望通過用少樣本學習得到解決問題的穩定模型,減少對大量訓練數據的依賴。
基于標準CWRU 軸承數據集,在少樣本數據下對軸承故障診斷模型的泛化力進行研究,按照6 ∶2 ∶2 劃分訓練集、驗證集和測試集,每類故障樣本數分別為800、500、300和100個,對SCD-CNN、STFT-CNN和CWTCNN 模型分別進行實驗,實驗結果如圖7 所示。

圖7 少樣本條件下故障識別準確率對比
由圖7 可知,SCD-CNN、STFT-CNN 和CWT-CNN模型,在不同負載下的故障識別率,總體上隨著數據集樣本數的減少呈下降趨勢。其中,當每類故障樣本分別為1000、800、500 和300 個時,SCD-CNN 診斷模型的故障識別準確率接近,因此可適當減少訓練樣本的個數,節約神經網絡計算時間,提高模式識別效率,同時對故障識別準確率影響較小。與STFT-CNN 和CWTCNN 相比,當每類故障樣本分別為1000、800 和500個時,STFT-CNN 方法的故障識別準確率波動小于CWT-CNN,即STFT-CNN 模型的泛化力高于CWTCNN。當每類故障樣本數為100 個時,SCD-CNN 方法的故障識別準確率遠高于STFT-CNN 和CWT-CNN方法,其故障識別準確率與STFT-CNN 和CWT-CNN方法,在每類故障樣本為300~500 個時的準確率相當。由此可見,基于SCD-CNN 滾動軸承故障識別方法,在少樣本學習情況下,當不對模型進行微調時,仍具有較好的泛化性能。
在實際工作場景下,滾動軸承產生的故障類型和故障程度都是隨機的,且軸承故障工況下樣本數量較少,而正常工況下的樣本數量較多,因而研究類別不平衡情況下卷積神經網絡的泛化性能,也具有很現實的應用價值。類別不平衡是指在分類任務中,不同類別的訓練樣本數存在很大差別的不均衡情況。在本節中,使用負載為1hp 的CWRU 軸承數據集進行實驗,將正常樣本作為多數類,將全部故障樣本作為少數類,且少數類中包含的9 種故障類型的樣本數分別相等,每類故障樣本與正常樣本比為1 ∶10。
設定不平衡率為每類故障樣本/正常樣本,構建不平衡率為1 ∶2、1 ∶10、1 ∶100 和1 ∶200 四組實驗,具體樣本信息如表3 所示。以不平衡率1 ∶200 為例,將定工況為1 hp 的CWRU 軸承數據集進行劃分,不平衡率1 ∶200 的數據集劃分(負載1 hp)如表4 所示。

表3 類別不平衡樣本信息

表4 不平衡率1 ∶200 的數據集劃分(負載1 hp)
神經網絡分類效果的評價指標主要包括準確率(Accuracy)、精確率(Precision)、召回率(Recall)和F1-score 等。使用以上4種評測指標,對SCD-CNN、STFT-CNN和CWT-CNN 模型進行實驗,實驗結果如表5 所示。

表5 不均衡數據集診斷結果
從表5 可以看出,隨著不平衡率的提高,正常樣本(多數類)的數據量也逐漸增加,分類的準確率不斷提高。這是由于正常樣本數占主導,故障診斷的準確率向正常樣本傾斜,但這并不能準確反映模型對故障樣本的檢測能力。觀察SCD-CNN、STFT-CNN 和CWT-CNN模型的召回率和F1-score 指標,SCD-CNN 模型的召回率和F1-score 指標在不同的不平衡率下,均高于STFT-CNN 和CWT-CNN 模型,說明SCD-CNN 模型對少數類故障檢測能力上優于STFT-CNN 和CWTCNN 模型,在數據類別不均衡場景下的故障診斷能力較強。
本文針對變負載工況、少樣本數據和樣本數據類別不平衡3 種工況條件,對SCD-CNN 模型的域泛化自適應性能進行了研究,并與STFT-CNN 和CWT-CNN模型的泛化性能進行了對比,得到以下結果:
(1)SCD-CNN 模型在負載變化較小的工況下具有很強的自適應力,對負載變化較大工況下的自適應力稍差,但其泛化性能優于STFT-CNN 和CWT-CNN模型,能適應變工況條件下的滾動軸承故障診斷。
(2)SCD-CNN 方法在少樣本學習時,即使不對模型進行微調,仍具有較好的泛化性能,可適當減少訓練樣本數,以節約模型訓練時間,仍能得到穩定的軸承故障診斷模型,STFT-CNN 的泛化性能次之。
(3)SCD-CNN 模型在類別不均衡場景下,對少數類故障的識別能力較強。