張岷濤,廖文豪,卿朝進(jìn)
(西華大學(xué) 電氣與電子信息學(xué)院,成都 610039)
智能故障診斷(Intelligent fault diagnosis,IFD)是指將機(jī)器學(xué)習(xí)應(yīng)用于故障診斷。近年來,隨著機(jī)器學(xué)習(xí)的理論發(fā)展取得巨大成就,IFD 被更多專家學(xué)者所關(guān)注[1-4]。這對以信號處理和人工提取特征為主的傳統(tǒng)故障診斷方法提出了挑戰(zhàn)。
時域、頻域及時頻域分析是基于振動信號的傳統(tǒng)故障診斷方法[5]。為表征局部特征,通常采用短時傅里葉變換[6]、小波變換[7]、經(jīng)驗?zāi)B(tài)分解[8]、局部均值分解[9]等時頻處理方法提取故障特征,再通過工程師的人工經(jīng)驗進(jìn)行故障判定,這需要大量的數(shù)據(jù)統(tǒng)計。智能化的故障診斷方法則利用支持向量機(jī)[10]、k-means[11]、人工神經(jīng)網(wǎng)絡(luò)[12]等機(jī)器學(xué)習(xí)方法自動分類特征,降低了對專家經(jīng)驗的依賴,但準(zhǔn)確率仍取決于人工提取的特征能否準(zhǔn)確描述故障信息,具有較大局限性。而深度學(xué)習(xí)等方式是基于數(shù)據(jù)驅(qū)動的方式,只需要精確的原始數(shù)據(jù)和合適的網(wǎng)絡(luò)結(jié)構(gòu)就可以實現(xiàn)端到端的自動故障診斷。
隨著信息技術(shù)的飛速發(fā)展,現(xiàn)代檢測技術(shù)已經(jīng)能很容易實現(xiàn)對于復(fù)雜設(shè)備的多點全覆蓋的數(shù)據(jù)采集,使得深度學(xué)習(xí)這種基于數(shù)據(jù)驅(qū)動的方式更能發(fā)揮其長處,取得更高精度的診斷效果。Hinton 應(yīng)用深度置信網(wǎng)絡(luò)(Deep belief network,DBN)[13],AlexNet[14]和ResNet[15]等應(yīng)用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN),使IFD 取得了相當(dāng)大的進(jìn)步。
然而,這些深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)架構(gòu)中都有神經(jīng)元的設(shè)計。從某種程度上說,神經(jīng)元的數(shù)量越多網(wǎng)絡(luò)的學(xué)習(xí)能力就越強(qiáng),但同時大量神經(jīng)元的設(shè)計也會消耗相當(dāng)多的計算資源,使得其在計算能力有限的嵌入式設(shè)備中的應(yīng)用受到很大的局限。而機(jī)械設(shè)備運行狀態(tài)具有體量大、真實度高、生成速度快、數(shù)據(jù)類型多和價值密度低等特點[16],要求現(xiàn)場進(jìn)行快速且低成本的應(yīng)用。很多場景需要嵌入式設(shè)備承擔(dān)起更多的任務(wù)。所以TinyML(小型設(shè)備的機(jī)器學(xué)習(xí))領(lǐng)域開始逐漸的發(fā)展起來。一種解決方案是在CPU 中內(nèi)置神經(jīng)單元,如某些手機(jī)或穿戴設(shè)備。一種是簡化神經(jīng)網(wǎng)絡(luò)的架構(gòu),使其能夠適應(yīng)單片機(jī)的有限資源。
本文在Jupyter notebook 工具內(nèi)使用Scipy、Numpy 等科學(xué)計算庫對原始的數(shù)據(jù)進(jìn)行預(yù)處理,使用Tensorflow、Pytorch 等深度學(xué)習(xí)框架訓(xùn)練網(wǎng)絡(luò)參數(shù),并對不同的網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)進(jìn)行測試準(zhǔn)確度、參數(shù)量、運行時間等進(jìn)行方面進(jìn)行比較。利用CubeAI等工具將網(wǎng)絡(luò)結(jié)構(gòu)與權(quán)重轉(zhuǎn)化為單片機(jī)環(huán)境所需的C 語言結(jié)構(gòu)和權(quán)重形式,然后將其部署至STM32H743VI 內(nèi)。實現(xiàn)了基于CNN2D 神經(jīng)網(wǎng)絡(luò)的軸承故障振動信號的識別。
本文網(wǎng)絡(luò)的訓(xùn)練和驗證使用凱斯西儲大學(xué)(CWRU)滾動數(shù)據(jù)中心的軸承故障數(shù)據(jù)集。CWRU數(shù)據(jù)集是世界公認(rèn)的軸承故障診斷標(biāo)準(zhǔn)數(shù)據(jù)集。截止到 2015 年,僅機(jī)械故障診斷領(lǐng)域頂級期刊《Mechanical Systems and Signal Processing》就發(fā)表過 41 篇使用CWRU 軸承數(shù)據(jù)進(jìn)行故障診斷的文章[17]。在基于深度學(xué)習(xí)的軸承故障診斷領(lǐng)域,目前被引用數(shù)最高的兩篇文章[18-19]的試驗數(shù)據(jù)也均來自 CWRU軸承數(shù)據(jù)庫。為了評價被提出算法的優(yōu)越性,最客觀的方式就是使用第三方標(biāo)準(zhǔn)數(shù)據(jù)庫與當(dāng)下主流算法比較。因此,本文的所有試驗均采用 CWRU 軸承數(shù)據(jù)。獲得其中的包含10 種故障類型的數(shù)據(jù),優(yōu)化后的最優(yōu)模型的故障識別準(zhǔn)確度可以達(dá)到98.90%。每次診斷運行時間為19 ms。
目前應(yīng)用于智能診斷領(lǐng)域的典型的深度學(xué)習(xí)方案主要包括有堆棧自動編碼器(SAE)、深度置信網(wǎng)絡(luò)(DBN)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、深度殘差收縮網(wǎng)絡(luò)(ResNet)等。其中卷積神經(jīng)網(wǎng)絡(luò)(CNN)比較成功的兩種架構(gòu)分別是一維卷積神經(jīng)網(wǎng)絡(luò)(CNN1D)和二維卷積神經(jīng)網(wǎng)絡(luò)(CNN2D)。CNN1D 和CNN2D的最大區(qū)別就是CNN1D 的卷積核為一維向量,網(wǎng)絡(luò)輸入的數(shù)據(jù)也同樣的為一維向量,其對于一維的時間序列數(shù)據(jù)或周期性數(shù)據(jù)都有較大的應(yīng)用范圍。二維神經(jīng)網(wǎng)絡(luò)的卷積核為二維向量,網(wǎng)絡(luò)輸入的數(shù)據(jù)為二維數(shù)據(jù),CNN2D 由于其強(qiáng)大的特征提取能力,在近年的圖像處理領(lǐng)域包括定位、目標(biāo)識別等有廣泛的應(yīng)用。本文通過對數(shù)據(jù)進(jìn)行預(yù)處理,將一維輸入數(shù)據(jù)轉(zhuǎn)換為二維,采用二維卷積神經(jīng)網(wǎng)絡(luò)的架構(gòu)實現(xiàn)滾動軸承故障診斷。
CWRU 軸承數(shù)據(jù)集為美國凱斯西楚大學(xué)數(shù)據(jù)中心發(fā)布的一個有關(guān)于故障軸承的數(shù)據(jù)集,其目的是用來檢測和驗證電機(jī)性能,近年來由于故障診斷領(lǐng)域的興起,其多用作故障信號診斷的基準(zhǔn)數(shù)據(jù)。其測量數(shù)據(jù)的實驗平臺如圖1 所示。
圖1 CNN2D 主要調(diào)試與優(yōu)化流程Fig.1 Main debugging and optimization process of CNN2D
其實驗平臺包括一個電機(jī)(左側(cè)),一個轉(zhuǎn)矩傳感器(中間),一個功率計(右側(cè))和電子控制設(shè)備(沒有顯示)。實驗中使用加速度采集振動信號,通過使用磁性底座將傳感器安放在電機(jī)殼體上。加速度傳感器分別安裝在電機(jī)殼體的驅(qū)動端12 點鐘的位置,在其他一些實驗中,傳感器也被安放在電機(jī)支承底盤上。數(shù)字信號的大部分采樣頻率為12 000 Hz,部分正常軸承數(shù)據(jù)也以48 000 Hz 的采樣速率采集。外圈的故障是固定不變的,因此故障相對于軸承受載區(qū)域的位置對電機(jī)/軸承系統(tǒng)的振動響應(yīng)由直接的影響,為了對這個影響進(jìn)行定量研究,實驗中分別對驅(qū)動和風(fēng)扇端的軸承外圈布置3 點鐘、6 點鐘、12 點鐘方向的故障。除此之外,實驗對每種情況,還分別統(tǒng)計了在1 797、1 772、1 750 和1 730 r/min轉(zhuǎn)速下數(shù)據(jù)。
實驗中使用的軸承為滾動軸承,其結(jié)構(gòu)如圖2所示。
圖2 CWRU 實驗中使用的滾動軸承結(jié)構(gòu)Fig.2 Rolling bearing structure used in CWRU experiments
被測試軸承支承電機(jī)軸,使用電火花加工技術(shù)在軸承上布置了單點故障,故障直徑分別為0.177 8 mm、0.355 6 mm、0.533 4 mm、0.711 2 mm 和1.016 0 mm,其中前3 種故障直徑的軸承使用的是SKF 軸承,后兩種故障直徑的軸承使用的是相較差距不大的NTN 軸承。而單點故障的位置則設(shè)在滾珠、外圈、內(nèi)圈3 個地方。
對于數(shù)據(jù)科學(xué)來說,對于數(shù)據(jù)的分析與預(yù)處理是一個十分重要的,其可以極大的減小數(shù)據(jù)錯誤以及數(shù)據(jù)的偏好對于后續(xù)實驗的影響,透徹的了解所得到的數(shù)據(jù)可以對后續(xù)實驗出現(xiàn)的問題,使用更加有針對性的手段進(jìn)行解決和分析。
根據(jù)Smith 等[17]對于CWRU 故障軸承數(shù)據(jù)集所做的基礎(chǔ)性分析,以及其最后總結(jié)的數(shù)據(jù)圖表可以清楚的了解到,對于整個CWRU 故障軸承數(shù)據(jù)集來說,其中12 kHz 采樣率的驅(qū)動端的數(shù)據(jù)最為完整且明顯的人為錯誤最少。而對于不同轉(zhuǎn)速下的數(shù)據(jù),1 797 r/min 的轉(zhuǎn)速數(shù)據(jù)最接近于1 800 r/min,此時對于使用12 kHz 的采樣率來說,400 的采樣點的數(shù)據(jù)正好接近于一個轉(zhuǎn)動周期,可以在信號里觀察到一個完整的故障信號波形。所以后續(xù)將使用12 kHz采樣率下1 797 r/min 的驅(qū)動端數(shù)據(jù),來進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)的訓(xùn)練以及之后的驗證,至此可以得到如表1 中的10 種不同的故障分類。
表1 CWRU 數(shù)據(jù)集中獲取的10 種不同故障分類Tab.1 10 different fault classifications obtained in the CWRU data set
其中,前面的數(shù)字為故障的直徑大小,后面的英文表示故障的位置,比如14-Ball 就代表軸承滾珠直徑為35.56 cm(14 英寸) 大小的故障。特別說明的是OuterRace6 后面的數(shù)字6 代表的時候6 點鐘方向,其余的兩個3 點鐘方向與12 點鐘方向的故障,由于其數(shù)據(jù)量較少這里將其丟棄不考慮。
而對于整個數(shù)據(jù)集的文件結(jié)構(gòu)來說,大致可以總結(jié)為單一故障情況下的數(shù)據(jù)為一個獨立文件,一個獨立文件為.mat 格式。文件結(jié)構(gòu)主要里面包括DE 和FE 兩種不同的向量數(shù)據(jù),其對應(yīng)的便是驅(qū)動端數(shù)據(jù)和風(fēng)扇端數(shù)據(jù),而部分文件內(nèi)還包括正常的BA 基準(zhǔn)數(shù)據(jù)。具體文件結(jié)構(gòu)內(nèi)容如表2 所示。
表2 CWRU 數(shù)據(jù)集單個文件內(nèi)部結(jié)構(gòu)Tab.2 Internal structure of a single file of a CWRU data set
利用基于Python 的Scipy 和Numpy 等科學(xué)計算和數(shù)據(jù)分析庫,將所需要的信號數(shù)據(jù)提取出來并且保存到本地文件以便后續(xù)的分析與處理。將一段信號數(shù)據(jù)轉(zhuǎn)化到時間序列后如圖3 所示。
圖3 時間序列下的部分CWRU 數(shù)據(jù)集數(shù)據(jù)Fig.3 Part of the CWRU data set under the time series
由于軸承故障信號為一維時間序列的數(shù)據(jù),要使用CNN2D 網(wǎng)絡(luò)進(jìn)行訓(xùn)練就必須將數(shù)據(jù)轉(zhuǎn)化為二維矩陣形式。而轉(zhuǎn)化的方式主要有3 種:直接轉(zhuǎn)化法[20];時頻圖轉(zhuǎn)化法[21];GAF 轉(zhuǎn)化法[21]。這里考慮到單片機(jī)資源限制,采用算法最為簡單的,資源占用最少的直接轉(zhuǎn)化法。
直接轉(zhuǎn)化法十分簡單,其直接將采集到的一維數(shù)據(jù)通過滑動窗口的方式截取特定長度的數(shù)據(jù),然后將多次截取的數(shù)據(jù)進(jìn)行堆疊就可以得到一個二維矩陣數(shù)據(jù)。具體的轉(zhuǎn)化方法如圖4 所示。
圖4 直接轉(zhuǎn)化法過程Fig.4 Direct conversion process
將一段長度為400 數(shù)據(jù)轉(zhuǎn)化為20*20 的二維數(shù)據(jù)圖像如圖5 所示。
圖5 直接轉(zhuǎn)化法后生成的二維圖像Fig.5 Two-dimensional image generated by direct transformation method
這種方法有轉(zhuǎn)化簡單,計算量小等優(yōu)點,不過當(dāng)其振動信號的峰值數(shù)據(jù)轉(zhuǎn)化為一行的時候可能會造成轉(zhuǎn)化后的圖像較為接近,增加了網(wǎng)絡(luò)對于不同類型數(shù)據(jù)的特征提取的難度。
在文獻(xiàn)[17]中指出由于CWRU 數(shù)據(jù)集是人工電火花打點模擬故障,所以其噪聲程度較低,而且對于某些情況下,有噪聲也可以加強(qiáng)對于網(wǎng)絡(luò)的訓(xùn)練。而對信號進(jìn)行時頻的基礎(chǔ)分析,對于使用深度學(xué)習(xí)這種基于數(shù)據(jù)驅(qū)動的方式來說作用并不大。對于數(shù)據(jù)的采樣方式這里使用隨機(jī)采樣方式,可以盡可能的避免輸入網(wǎng)絡(luò)訓(xùn)練的數(shù)據(jù)存在數(shù)據(jù)相關(guān)性太強(qiáng)的情況。
此外為了優(yōu)化不同故障情況下的數(shù)據(jù)分布,提升網(wǎng)絡(luò)模型的準(zhǔn)確度和訓(xùn)練的擬合速度,所以還需要將數(shù)據(jù)特征進(jìn)行無量綱處理,即對數(shù)據(jù)進(jìn)行歸一化處理,這里使用的歸一化方法為Min-Max 法,即
將一維輸入數(shù)據(jù)處理為CNN2D 網(wǎng)絡(luò)可以處理的二維數(shù)據(jù)后,便可以進(jìn)行架構(gòu)網(wǎng)絡(luò)結(jié)構(gòu)然后進(jìn)行網(wǎng)絡(luò)的訓(xùn)練了。這里的模型基于Keras 官方例子中對于MINIST 手寫識別的CNN2D 的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn)。由輸入層(InputLayer)、卷積神經(jīng)網(wǎng)絡(luò)層(Conv2D)、二維最大池化層(MaxPooling2D)、平坦層(Flatten)、全連接層(Dense)、分類器(Softmax)組成。其完整的網(wǎng)絡(luò)結(jié)構(gòu)以及數(shù)據(jù)結(jié)構(gòu)的變化如圖6所示。
圖6 CNN2D 驗證模型完整結(jié)構(gòu)Fig.6 The complete structure of the CNN2D verification model
卷積神經(jīng)網(wǎng)絡(luò)層(Conv2D)的作用是自適應(yīng)提取軸承故障信號的特征。選擇合適的卷積核對軸承信號進(jìn)行卷積,卷積核即一個權(quán)重矩陣。不同的卷積核實際就代表著軸承信號中不同的故障特征,卷積神經(jīng)網(wǎng)絡(luò)往往通過增加卷積核來提高提取故障特征的能力。卷積核為
式中:Mj為輸入特征矩陣的集合;l網(wǎng)絡(luò)層數(shù);為第j個輸入特征矩陣;為權(quán)重矩陣;blj為偏置系;f(·)為激活函數(shù)。這里的激活函數(shù)為
tanh 函數(shù)圖像如圖7 所示。
圖7 Tanh 函數(shù)圖像Fig.7 Tanh Function image
最大池化層(MaxPooling2D)又稱為降采樣層,與卷積層類似,池化層常用的有最大池化與均值池化兩種,卷積核依次掃描目標(biāo)數(shù)據(jù)取目標(biāo)區(qū)域的最大值或平均值。其作用是提取卷積層輸出的數(shù)據(jù)的主要特征,同時降低數(shù)據(jù)維度,這里采用的是最大池化函數(shù)。
式中: βlj為權(quán)重矩陣;blj為偏置矩陣; down(·)為降采樣函數(shù);fmax(·)為最大池化函數(shù)。
全連接層(Dense)將池化層提取的故障特征進(jìn)行分類,則
式中:l為網(wǎng)絡(luò)層序號;wl為權(quán)重向量;xl為一維特征向量;bl為偏置向量。
分類器(Softmax)的數(shù)學(xué)模型為
式中:wj為權(quán)重向量,表示第i個樣本屬于j類故障模式的概率。取最大值進(jìn)行分類。
該模型的具體參數(shù)設(shè)置如表3 所示。
表3 CNN2D 模型參數(shù)Tab.3 CNN2D model's parameters
網(wǎng)絡(luò)模型的訓(xùn)練使用專業(yè)深度學(xué)習(xí)工作站,硬件配置為64g 內(nèi)存;CPU 為Inter(R) Xeon(R) E5-2620 v4 雙核2.1 GHz;GPU 配置為雙卡Tesla P100 250 W 16 GB。使用基于Tensorflow 深度學(xué)習(xí)框架的Keras 工具進(jìn)行網(wǎng)絡(luò)架構(gòu)和網(wǎng)絡(luò)訓(xùn)練。Kearas 是由Python 語言編寫的開源神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)庫。Keras提供了強(qiáng)大的神經(jīng)網(wǎng)絡(luò)的API 庫,采用模塊化編程,代碼編寫量小,是深度學(xué)習(xí)中使用較多的模型之一。訓(xùn)練與驗證的準(zhǔn)確度如圖8 所示。
圖8 CNN2D 改進(jìn)模型訓(xùn)練與驗證的準(zhǔn)確度Fig.8 The CNN2D improved model’s accuracy of training and verification
為驗證該CNN2D 模型的有效性,對比了CNN1D的基準(zhǔn)模型[22];CNN2D 基準(zhǔn)模型,激活函數(shù)采用Relu 函數(shù)[23],CNN2D 基準(zhǔn)模型,激活函數(shù)采用Tanh 函數(shù)[24];與改進(jìn)后的該模型。對這些模型進(jìn)行對比訓(xùn)練和驗證。性能比較如表4 所示。
表4 CNN2D 改進(jìn)模型與其余驗證模型性能比較Tab.4 Performance comparison between CNN2D improved model and other validated models
為了使IFD 在生產(chǎn)過程中大量使用,就必須尋找低成本小型化的解決方案。能夠?qū)⒅悄苌窠?jīng)網(wǎng)絡(luò)部署到單片機(jī)中無疑是非常有吸引力的方案。這里將前面設(shè)計的CNN2D 改進(jìn)模型通過CubeAI 網(wǎng)絡(luò)結(jié)構(gòu)部署工具部署到STM32H743VI 單片機(jī)上。
單片機(jī)硬件平臺選用WeAct Studio 開發(fā)的STM32H743VI 核心板。STM32H743VI 為帶DSP和DP-FPU 的高性能ARM Cortex-M7 MCU,具有2 MB Flash、1 MB RAM、480 MHz CPU、ART 加速器、一級緩存、外部存儲器接口和大量外設(shè)。還提供3 個ADC,兩個DAC,兩個超低功耗比較器,一個低功耗RTC,一個高分辨率計時器,12 個通用16 位計時器,兩個用于電機(jī)控制的PWM 計時器,5 個低功耗計時器。
WeAct Studio 的STM32H743VI 核心板主要的接口有4 Pin 2.54mm SW、USB C (type C)、MicroSD TF、8Bit DCMI、User Key K1 (PC13)、NRST Key、BOOT0 Key 等。核心板上有8MB SPI Flash, 8MB QSPI Flash 作為單片機(jī)的外存。
通過CubeMX 完成對單片機(jī)的配置。CubeMX為ST 官方推出的一款圖形化的STM32 配置工具,可以非常輕松地配置STM32 微控制器和微處理器。配置STM32 的時鐘樹、配置外圍設(shè)備(例如GPIO 或USART)和中間件堆棧(例如USB 或TCP /IP)等,其直觀的GPIO 配置。CubeMX 帶有功耗計算器功能,并且可以十分方便的導(dǎo)出為各種主流的工程文件,包括初始化代碼工程,包含:EWARM、MDK-ARM、 TureSTUDIO 、 SW4STM32 等。STM32H743VI 的管腳圖如圖9 所示。
圖9 STM32H743VI 芯片管腳圖Fig.9 Pin diagram of STM32H743VI
首先,進(jìn)行初級配置。設(shè)置核心板上的LED 燈和自定義按鍵,主要是為了方便我們的調(diào)試過程。PB14 和PB15 是USART1 串口通信接口。詳細(xì)引腳的設(shè)定說明如表5 所示。
表5 芯片相關(guān)引腳設(shè)定說明Tab.5 Chip-related pin setting instructions
其次,由于在代碼編寫過程中對于輸入數(shù)據(jù)設(shè)定的全局變量會占用占用較大的??臻g,所以還需要通過CubeMX 將最小棧分配空間設(shè)置為0X1000。
最后,使用CubeMX 工具對芯片的時鐘設(shè)置完成。將高速外部時鐘設(shè)置為400 MHz,低于芯片最快運行頻率的480 MHz。
網(wǎng)絡(luò)部署采用CubeMX 的AI 擴(kuò)展包CubeAI。通過CubeAI 將預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)進(jìn)行轉(zhuǎn)換生成優(yōu)化庫集成到項目中。將CWRU 軸承數(shù)據(jù)集的測試數(shù)據(jù)通過串口傳入單片機(jī)。下載并安裝CubeMX內(nèi)提供的CubeAI 6.0 插件,然后將改進(jìn)CNN2D 模型導(dǎo)入插件中,自動處理和量化工作完成后,便得到了一個包含參數(shù)和激活函數(shù)權(quán)重、函數(shù)結(jié)構(gòu)文件在內(nèi)的神經(jīng)網(wǎng)絡(luò)C 語言庫,詳細(xì)庫文件結(jié)構(gòu)見表6。
表6 庫文件結(jié)構(gòu)Tab.6 Structure of library file
導(dǎo)入后可以選擇對權(quán)重和參數(shù)進(jìn)行壓縮和量化,但是會降低模型精度,可以根據(jù)實際情況考慮,本設(shè)計由于單片機(jī)資源足夠,所以不對網(wǎng)絡(luò)模型進(jìn)行壓縮和量化。
導(dǎo)入模型后,其網(wǎng)絡(luò)參數(shù)復(fù)雜度為1 238 380 MACC,MACC(Multiply-accumulate operations)用以描述神經(jīng)網(wǎng)絡(luò)的模型復(fù)雜度,其代表網(wǎng)絡(luò)計算中先乘起來再加起來的運算次數(shù)。其具體的資源消耗如表7 所示。
表7 網(wǎng)絡(luò)模型資源消耗Tab.7 Resource consumption of network model
雖然輸入變量和中間變量的初始化和定義還需要占用系統(tǒng)資源,但是相較于STM32H743VI 芯片的2M FLASH 和1M RAM 來說資源占用完全無太大影響。經(jīng)過實測,該改進(jìn)CNN2D 網(wǎng)絡(luò)模型可以實現(xiàn)對于數(shù)據(jù)集中的10 種故障診斷準(zhǔn)確率達(dá)到98.90%,且網(wǎng)絡(luò)參數(shù)總量僅為36 390,相較于前面未優(yōu)化的CNN2D 網(wǎng)絡(luò)模型準(zhǔn)確率提升了3.8%,而網(wǎng)絡(luò)參數(shù)總量下降了36.66%。平均每次診斷運行時間為21Tick 換算后則為20 ms 左右,耗時在應(yīng)用中滿足需求。
本文主要驗證了深度學(xué)習(xí)對于工業(yè)中的軸承故障診斷的可行性,并且可以通過調(diào)試網(wǎng)絡(luò)結(jié)構(gòu)得到較高的診斷準(zhǔn)確度,另外驗證了對于單片機(jī)這樣的嵌入式設(shè)備中,部署神經(jīng)網(wǎng)絡(luò)進(jìn)行深度學(xué)習(xí)的可行性,這是對于現(xiàn)在的TinyML 這個新興領(lǐng)域的初步探索,部署過程中得到的一些數(shù)據(jù)可以作為之后相關(guān)應(yīng)用的基準(zhǔn)參考。
主要存在的問題是,由于條件限制,設(shè)計的改進(jìn)CNN2D 模型對于實際工業(yè)應(yīng)用中的高噪聲環(huán)境下的數(shù)據(jù)訓(xùn)練是否還能有較高診斷準(zhǔn)確度無法驗證。根據(jù)相關(guān)領(lǐng)域的最新研究方向,對于第一個高噪聲環(huán)境的診斷問題,現(xiàn)在有較多的相關(guān)研究關(guān)注這個問題。論文[25]中提出的使用深度殘差收縮網(wǎng)絡(luò)針對于高噪聲環(huán)境下的高精度故障診斷,其主要是利用深度殘差收縮網(wǎng)絡(luò)的抗噪特性實現(xiàn)。
其次,對于整個流程過程的優(yōu)化加強(qiáng)其魯棒性,可以自動的處理一些串口傳輸過程中出現(xiàn)的問題。進(jìn)一步優(yōu)化流程和優(yōu)化模型都需要以后的研究中去進(jìn)一步做實驗驗證各種方案。