国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

基于小波時(shí)頻圖和2D-CNN的滾動(dòng)軸承故障檢測(cè)

這篇具有很好參考價(jià)值的文章主要介紹了基于小波時(shí)頻圖和2D-CNN的滾動(dòng)軸承故障檢測(cè)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

一、研究思路

?1、基于小波時(shí)頻圖和CNN的滾軸故障診斷方法的研究思路如下:

二、數(shù)據(jù)集介紹與數(shù)據(jù)處理

? 1、數(shù)據(jù)集介紹

2、數(shù)據(jù)集分割與合并

3、數(shù)據(jù)集分析

三、小波時(shí)頻圖導(dǎo)出

四、CNN網(wǎng)絡(luò)的構(gòu)建和測(cè)試

1、CNN網(wǎng)絡(luò)構(gòu)建

?2、訓(xùn)練參數(shù)的優(yōu)化

4、訓(xùn)練結(jié)果


一、研究思路

?1、基于小波時(shí)頻圖和CNN的滾軸故障診斷方法的研究思路如下:

(1)信號(hào)采集系統(tǒng)通過軸承試驗(yàn)臺(tái)采集滾動(dòng)軸承在不同狀態(tài)下的振動(dòng)信號(hào),并通過數(shù)據(jù)分割與合并? 構(gòu)造信號(hào)樣本集。

(2)對(duì)樣本集中的振動(dòng)信號(hào)進(jìn)行CWT,再生成于信號(hào)相對(duì)應(yīng)的時(shí)頻圖。

(3)建立CNN模型,選擇一定數(shù)量的特征圖作為訓(xùn)練樣本,對(duì)CNN進(jìn)行訓(xùn)練。

(4)將特征圖樣本集中的剩余樣本作為測(cè)試樣本,對(duì)訓(xùn)練好的CNN進(jìn)行測(cè)試。

二、數(shù)據(jù)集介紹與數(shù)據(jù)處理

? 1、數(shù)據(jù)集介紹

? ? ? ?振動(dòng)數(shù)據(jù)來源于美國(guó)凱斯西儲(chǔ)大學(xué)的開發(fā)數(shù)據(jù)集。軸承試驗(yàn)裝置的示意圖如圖1-1所示。平臺(tái)組成:一個(gè)1.5KW(2馬力)的電動(dòng)機(jī)(圖左側(cè));一個(gè)扭矩傳感器/ 譯碼器(圖中間連接處);一個(gè)功率測(cè)試計(jì)(圖右側(cè));驅(qū)動(dòng)端軸承為SKF6205 ,采樣頻率為12Khz和48Khz;電子控制器(圖中沒顯示) 。軸承試驗(yàn)裝置的示意圖如圖1-1所示。平臺(tái)組成:一個(gè)1.5KW(2馬力)的電動(dòng)機(jī)(圖左側(cè));一個(gè)扭矩傳感器/ 譯碼器(圖中間連接處);一個(gè)功率測(cè)試計(jì)(圖右側(cè));驅(qū)動(dòng)端軸承為SKF6205 ,采樣頻率為12Khz和48Khz;電子控制器(圖中沒顯示) 。

基于小波時(shí)頻圖和2D-CNN的滾動(dòng)軸承故障檢測(cè)

圖1-1 軸承試驗(yàn)裝置示意圖

DE - drive end accelerometer data 驅(qū)動(dòng)端加速度數(shù)據(jù);

FE - fan end accelerometer data 風(fēng)扇端加速度數(shù)據(jù);

BA - base accelerometer data 基座加速度數(shù)據(jù)(正常);

time - time series data 時(shí)間序列數(shù)據(jù);

RPM- rpm during testing 轉(zhuǎn)每分鐘,除以60為旋轉(zhuǎn)頻率;

B -滾動(dòng)體故障;IR – 內(nèi)圈故障;OR –外圈故障;

驅(qū)動(dòng)端和風(fēng)扇端軸承外圈的損傷點(diǎn)分別放置在3點(diǎn)鐘、6點(diǎn)鐘、12點(diǎn)鐘三個(gè)不同位置。

數(shù)據(jù)文件為Matlab格式。每個(gè)文件包含風(fēng)扇和驅(qū)動(dòng)端振動(dòng)數(shù)據(jù),以及電機(jī)轉(zhuǎn)速。

? ? ? 12k_Fan_End_OR007@6_3_297.mat這個(gè)是12KHZ采樣頻率下驅(qū)動(dòng)端外圈故障、@6是外圈的損傷點(diǎn)在6點(diǎn)鐘位置、3代表電機(jī)載荷模式、297是編號(hào)。數(shù)據(jù)集由12kHz采樣率下電機(jī)端軸承的故障數(shù)據(jù)(DE)60個(gè)、12kHz采樣率下風(fēng)扇端軸承的故障數(shù)據(jù)(FE)45個(gè)、48kHz采樣率下電機(jī)端軸承的故障數(shù)據(jù)(DE)52個(gè),還有正常運(yùn)轉(zhuǎn)的軸承數(shù)據(jù)4個(gè)組成。

基于小波時(shí)頻圖和2D-CNN的滾動(dòng)軸承故障檢測(cè)

圖1-2 ?12k驅(qū)動(dòng)端故障數(shù)據(jù)列表

? ? ? ?如圖1-2所示,左邊第一列是4種故障尺寸,由于第4種故障缺少外圈故障,所以一般選取前3種尺寸。這樣的話內(nèi)圈、滾動(dòng)體、外圈3種故障就有3*3也就是9種故障分類,再加上正常狀態(tài)就是最常見的10分類方式。如果不考慮故障尺寸進(jìn)行4分類的比較少見,主要是這樣的話難度降低不少,結(jié)果提升的空間不大,畢竟10分類也沒有很麻煩,而且10分類可以直接根據(jù)文件來創(chuàng)建數(shù)據(jù)集,不用進(jìn)行數(shù)據(jù)集的合并。外圈故障分為3種,這里我只取取6點(diǎn)鐘的,因?yàn)椴煌较虻牟町悤r(shí)間上并不大,進(jìn)行區(qū)分也沒有那么多必要性。

2、數(shù)據(jù)集分割與合并

? ? ? 將采集到的振動(dòng)信號(hào)進(jìn)行分割,每個(gè)樣本包含1024個(gè)采樣點(diǎn)。每種工況下正常狀態(tài)的樣本為350個(gè),不同故障類型下,不同損傷大小及不同工況的樣本為117個(gè),最后得到正常狀態(tài)和三種故障狀態(tài)的樣本各1400個(gè)。

表2-1是軸承不同狀態(tài)的信號(hào)樣本列表。

表2-1 ?軸承不同狀態(tài)的信號(hào)樣本列表

損傷尺
寸/inch

負(fù)載/
hp

電機(jī)轉(zhuǎn)速/
(r· min-')

正常
信號(hào)

內(nèi)圈
故障

滾動(dòng)體
故障

外圈
故障

0

0

1797

350

——

——

——

1

1772

350

——

——

——

2

1750

350

——

——

——

3

1730

350

——

——

——

0.007

0

1797

——

117

117

117

1

1772

——

117

117

117

2

1750

——

117

117

117

3

1730

——

117

117

117

0.014

0

1797

——

117

117

117

1

1772

——

117

117

117

2

1750

——

117

117

117

3

1730

——

117

117

117

0.021

0

1797

——

116

116

116

1

1772

——

116

116

116

2

1750

——

116

116

116

3

1730

——

116

116

116

總計(jì)

 

——

1400

1400

1400

1400

? ? ? ?表2-1是我選取論文里的信號(hào)樣本。這里3個(gè)損傷尺寸、3種故障類型。一共3*3=9種故障類型,加上正常,一共10種。4種負(fù)載狀態(tài),4*10=40。這還不算外圈故障里面損傷點(diǎn)在不同位置的情況。

? ? ? ?這里分類選擇可以選擇4分類。即正常信號(hào)、滾動(dòng)體故障、內(nèi)圈故障、外圈故障。

? ? ? ?從分類講,我找相關(guān)的論文大多數(shù)是用10分類。因?yàn)?分類的指標(biāo)普遍都太好了,做的人確實(shí)也較少,但是實(shí)際操作起來也不會(huì)簡(jiǎn)單多少。從工程上講,區(qū)分故障種類的同時(shí)我們肯定更希望知道故障的大致嚴(yán)重程度,所以我又做了一個(gè)10分類的程序。

表2-2 ?不同故障樣本的數(shù)量及標(biāo)簽配置

信號(hào)類型

訓(xùn)練樣本

測(cè)試樣本

樣本標(biāo)簽

正常信號(hào)

900

500

[1 0 0 0 ]

內(nèi)圈故障

900

500

[0 1 0 0 ]

滾動(dòng)體故障

900

500

[0 0 1 0 ]

外圈故障

900

500

[0 0 0 1 ]

總計(jì)

3 600

2 000

 

基于小波時(shí)頻圖和2D-CNN的滾動(dòng)軸承故障檢測(cè)

圖2-1 不同故障樣本的數(shù)量及標(biāo)簽配置

這里選取出的數(shù)據(jù)集一共是5600個(gè)(訓(xùn)練:3600,測(cè)試:2000),每一類是1400個(gè)(訓(xùn)練:900,測(cè)試:500),訓(xùn)練集和測(cè)試集的比例大約是0.6428:0.3572。

3、數(shù)據(jù)集分析

時(shí)域分析:在相關(guān)論文中,以時(shí)域分析作為輸入的較多。時(shí)域分析中處理起來也很簡(jiǎn)單,編程容易。

頻域分析:頻域數(shù)據(jù)的優(yōu)點(diǎn)就是提取了頻域信息,特征明顯。因?yàn)槭茄芯啃盘?hào),還是頻域圖更加直觀,傳統(tǒng)的方法里故障頻率是至關(guān)重? 要的指標(biāo),而且我們數(shù)字信號(hào)處理的重點(diǎn)也是頻域的內(nèi)容,但是頻域數(shù)據(jù)丟失了時(shí)間特征。

時(shí)頻圖分析:通過小波變換或者短時(shí)傅里葉變換形成時(shí)頻圖,將圖片作為輸入。這里的輸入信號(hào)是圖像。缺點(diǎn)就是數(shù)據(jù)量大,處理起來? 有點(diǎn)慢。這篇論文使用的是連續(xù)小波時(shí)頻圖,我用程序來對(duì)比一下不同數(shù)據(jù)的差別。

基于小波時(shí)頻圖和2D-CNN的滾動(dòng)軸承故障檢測(cè)

圖2-2 不同故障信號(hào)進(jìn)行時(shí)域和頻域分析對(duì)比

?基于小波時(shí)頻圖和2D-CNN的滾動(dòng)軸承故障檢測(cè)

圖2-3 不同故障信號(hào)進(jìn)行時(shí)頻圖對(duì)比

采用cmor3-3小波基對(duì)軸承樣本數(shù)據(jù)集中的信號(hào)進(jìn)行CWT,生成時(shí)頻圖。以圖2-2的第一列4個(gè)信號(hào)為例,其時(shí)頻圖如圖2-3第一列所示。

matlab的數(shù)據(jù)分析部分代碼

%% 加載原始數(shù)據(jù)
load 0/12k_Drive_End_B007_0_118;      %讀取數(shù)據(jù)集
a1=X118_DE_time';
load 0/12k_Drive_End_IR007_0_105;   
a2=X105_DE_time';   
load 0/12k_Drive_End_OR007@6_0_130;
a3=X130_DE_time';   
load 0/normal_0_97;
a0=X097_DE_time';%10

L=1024;                                %取數(shù)據(jù)集里的樣本長(zhǎng)度為L(zhǎng)=864

data0=[]
start_point=randi(length(a0)-L);     %隨機(jī)取一個(gè)起點(diǎn)
end_point=start_point+L-1;
s0=[data0 ;a0(start_point:end_point)];

data1=[]
start_point=randi(length(a1)-L);     %隨機(jī)取一個(gè)起點(diǎn)
end_point=start_point+L-1;
s1=[data1 ;a1(start_point:end_point)];

data2=[]
start_point=randi(length(a2)-L);     %隨機(jī)取一個(gè)起點(diǎn)
end_point=start_point+L-1;
s2=[data2 ;a2(start_point:end_point)];

data3=[]
start_point=randi(length(a3)-L);     %隨機(jī)取一個(gè)起點(diǎn)
end_point=start_point+L-1;
s3=[data3 ;a3(start_point:end_point)];

fs=48000;
y0=fft(s0,length(s0));
f0=fs*(0:length(s0)-1)/length(s0);
y0=fft(s0,length(s0));
t0=0:1/fs:length(s0)/fs;

y1=fft(s1,length(s1));
f1=fs*(0:length(s1)-1)/length(s1);
y1=fft(s1,length(s1));
t1=0:1/fs:length(s1)/fs;

y2=fft(s2,length(s2));
f2=fs*(0:length(s2)-1)/length(s2);
y2=fft(s2,length(s2));
t2=0:1/fs:length(s2)/fs;

y3=fft(s3,length(s3));
f3=fs*(0:length(s3)-1)/length(s3);
y3=fft(s3,length(s3));
t3=0:1/fs:length(s3)/fs;

%繪制時(shí)域圖
%--------------------------------------------
subplot(421);
plot(s0);
title('正常信號(hào)時(shí)域圖');xlabel('時(shí)間/S');ylabel('幅度');
%繪制頻譜響應(yīng)圖
%--------------------------------------------
subplot(422);
plot(f0,abs(y0));title('正常信號(hào)頻譜');xlabel('頻率/HZ');ylabel('幅度/dB');
%--------------------------------------------
subplot(423);
plot(s1);
title('B故障信號(hào)時(shí)域圖');xlabel('時(shí)間/S');ylabel('幅度');
%繪制頻譜響應(yīng)圖
%--------------------------------------------
subplot(424);
plot(f1,abs(y1));title('B0故障信號(hào)頻譜');xlabel('頻率/HZ');ylabel('幅度/dB');
%--------------------------------------------
subplot(425);
plot(s2);
title('IR故障信號(hào)時(shí)域圖');xlabel('時(shí)間/S');ylabel('幅度');
%繪制頻譜響應(yīng)圖
%--------------------------------------------
subplot(426);
plot(f2,abs(y2));title('IR故障信號(hào)頻譜');xlabel('頻率/HZ');ylabel('幅度/dB');
%--------------------------------------------
subplot(427);
plot(s3);
title('OR故障信號(hào)時(shí)域圖');xlabel('時(shí)間/S');ylabel('幅度');
%繪制頻譜響應(yīng)圖
%--------------------------------------------
subplot(428);
plot(f3,abs(y3));title('OR故障信號(hào)頻譜');xlabel('頻率/HZ');ylabel('幅度/dB');


N=1024;
fs=12000;
t=0:1/fs:N/fs;
%% 各種變換時(shí)頻圖
wavename='cmor3-3';%cmor是復(fù)Morlet小波,其中3-3表示Fb-Fc,F(xiàn)b是帶寬參數(shù),F(xiàn)c是小波中心頻率。
totalscal=256;
Fc=centfrq(wavename); % 小波的中心頻率
c=2*Fc*totalscal;
scals=c./(1:totalscal);
f=scal2frq(scals,wavename,1/fs); % 將尺度轉(zhuǎn)換為頻率
coefs0=cwt(s0,scals,wavename); % 求連續(xù)小波系數(shù)
coefs1=cwt(s1,scals,wavename); % 求連續(xù)小波系數(shù)
coefs2=cwt(s2,scals,wavename); % 求連續(xù)小波系數(shù)
coefs3=cwt(s3,scals,wavename); % 求連續(xù)小波系數(shù)

figure
subplot(4,3,1)
imagesc(t,f,abs(coefs0)/max(max(abs(coefs0))));
set(gca,'YDir','normal')
colorbar;
xlabel('時(shí)間 t/s');ylabel('頻率 f/Hz');title('正常小波時(shí)頻圖');

subplot(4,3,4)
imagesc(t,f,abs(coefs1)/max(max(abs(coefs1))));
set(gca,'YDir','normal')
colorbar;
xlabel('時(shí)間 t/s');ylabel('頻率 f/Hz');title('B故障小波時(shí)頻圖');

subplot(4,3,7)
imagesc(t,f,abs(coefs2)/max(max(abs(coefs2))));
set(gca,'YDir','normal')
colorbar;
xlabel('時(shí)間 t/s');ylabel('頻率 f/Hz');title('IR故障小波時(shí)頻圖');

subplot(4,3,10)
imagesc(t,f,abs(coefs3)/max(max(abs(coefs3))));
set(gca,'YDir','normal')
colorbar;
xlabel('時(shí)間 t/s');ylabel('頻率 f/Hz');title('OR故障小波時(shí)頻圖');

% 短時(shí)傅里葉變換時(shí)頻圖
% spectrogram(s,256,250,256,fs);
% 時(shí)頻分析工具箱里的短時(shí)傅里葉變換
f = 0:fs/2;
[tfr,t,f] = tfrstft(s0');
tfr = tfr(1:floor(length(s0)/2), :);
subplot(4,3,2)
imagesc(t, f, abs(tfr)/max(max(abs(tfr))));%得到一個(gè)彩色圖像
set(gca,'YDir','normal')
colorbar;
xlabel('時(shí)間 t/s');ylabel('頻率 f/Hz');title('正常短時(shí)傅里葉變換時(shí)頻圖');
%st
[st_fre,st_times,st_frequencies] = st(s0,4);
subplot(4,3,3)
imagesc(t,f,abs(st_fre)/max(max(abs(st_fre))));
set(gca,'YDir','normal')
colorbar;
xlabel('時(shí)間 t/s');ylabel('頻率 f/Hz');title('正常廣義S變換時(shí)頻圖');
%%%%%%%%%%%%%%%%%%%%
f = 0:fs/2;
[tfr,t,f] = tfrstft(s1');
tfr = tfr(1:floor(length(s1)/2), :);
subplot(4,3,5)
imagesc(t, f, abs(tfr)/max(max(abs(tfr))));
set(gca,'YDir','normal')
colorbar;
xlabel('時(shí)間 t/s');ylabel('頻率 f/Hz');title('B故障短時(shí)傅里葉變換時(shí)頻圖');
%st
[st_fre,st_times,st_frequencies] = st(s1,4);
subplot(4,3,6)
imagesc(t,f,abs(st_fre)/max(max(abs(st_fre))));
set(gca,'YDir','normal')
colorbar;
xlabel('時(shí)間 t/s');ylabel('頻率 f/Hz');title('B故障廣義S變換時(shí)頻圖');
%%%%%%%%%%%%%%%%%%%%
f = 0:fs/2;
[tfr,t,f] = tfrstft(s2');
tfr = tfr(1:floor(length(s2)/2), :);
subplot(4,3,8)
imagesc(t, f, abs(tfr)/max(max(abs(tfr))));
set(gca,'YDir','normal')
colorbar;
xlabel('時(shí)間 t/s');ylabel('頻率 f/Hz');title('IR故障短時(shí)傅里葉變換時(shí)頻圖');
%st
[st_fre,st_times,st_frequencies] = st(s2,4);
subplot(4,3,9)
imagesc(t,f,abs(st_fre)/max(max(abs(st_fre))));
set(gca,'YDir','normal')
colorbar;
xlabel('時(shí)間 t/s');ylabel('頻率 f/Hz');title('IR故障廣義S變換時(shí)頻圖');
%%%%%%%%%%%%%%%%%%%%
f = 0:fs/2;
[tfr,t,f] = tfrstft(s3');
tfr = tfr(1:floor(length(s3)/2), :);
subplot(4,3,11)
imagesc(t, f, abs(tfr)/max(max(abs(tfr))));
set(gca,'YDir','normal')
colorbar;
xlabel('時(shí)間 t/s');ylabel('頻率 f/Hz');title('OR故障短時(shí)傅里葉變換時(shí)頻圖');
%st
[st_fre,st_times,st_frequencies] = st(s3,4);
subplot(4,3,12)
imagesc(t,f,abs(st_fre)/max(max(abs(st_fre))));
set(gca,'YDir','normal')
colorbar;
xlabel('時(shí)間 t/s');ylabel('頻率 f/Hz');title('OR故障廣義S變換時(shí)頻圖');

三、小波時(shí)頻圖導(dǎo)出

把訓(xùn)練集用連續(xù)小波變換轉(zhuǎn)換成時(shí)頻圖,對(duì)訓(xùn)練集數(shù)據(jù)進(jìn)行小波時(shí)頻提取,并保存在對(duì)應(yīng)的文件夾下 ??

小波時(shí)頻圖_mat/test_img/“個(gè)數(shù)”-“類型”.jpg

小波時(shí)頻圖_mat/test_img/“個(gè)數(shù)”-“類型”.jpg

這里要注意我用MATLAB導(dǎo)出時(shí)因?yàn)闃颖居?600個(gè),所以速度很慢,用Python導(dǎo)出時(shí)速度就會(huì)快一些,但是Python是從0開始的,不管是“個(gè)數(shù)”還是“類型”,而MATLAB是從1開始。

python的部分代碼

import pywt
import matplotlib.pyplot as plt
import numpy as np
from data_preprocess import prepro

path = '0'
x_train, y_train, x_test, y_test = prepro(
    d_path=path,
    length=1024,
    number=100,
    normal=True,
    rate=[0.7,  0.3],
    enc=False, enc_step=28)

for i in range(0, len(x_train)):
    N = 1024
    fs = 12000
    t = np.linspace(0, N/fs, N, endpoint=False)
    wavename = 'cmor3-3'
    totalscal = 256
    fc = pywt.central_frequency(wavename)
    cparam = 2 * fc * totalscal
    scales = cparam / np.arange(totalscal, 1, -1)
    [cwtmatr, frequencies] = pywt.cwt(x_train[i], scales, wavename, 1.0 / fs)
    plt.contourf(t, frequencies, abs(cwtmatr))

    plt.axis('off')
    plt.gcf().set_size_inches(875/96, 656/96)
    plt.gca().xaxis.set_major_locator(plt.NullLocator())
    plt.gca().yaxis.set_major_locator(plt.NullLocator())
    plt.subplots_adjust(top=1, bottom=0, right=1, left=0, hspace=0, wspace=0)
    plt.margins(0, 0)
    plt.savefig('./小波時(shí)頻圖 py/train_img/' + str(i) + '-' + str(y_train[i]) + '.jpg')
    plt.clf()  #避免內(nèi)存溢出 
    plt.close() #釋放內(nèi)存
    
for i in range(0, len(x_test)):
    N = 1024
    fs = 12000
    t = np.linspace(0, N/fs, N, endpoint=False)
    wavename = 'cmor3-3'
    totalscal = 256
    fc = pywt.central_frequency(wavename)
    cparam = 2 * fc * totalscal
    scales = cparam / np.arange(totalscal, 1, -1)
    [cwtmatr, frequencies] = pywt.cwt(x_test[i], scales, wavename, 1.0 / fs)
    plt.contourf(t, frequencies, abs(cwtmatr))

    plt.axis('off')
    plt.gcf().set_size_inches(875/96, 656/96)  #設(shè)置圖片大小以英尺為單位
    plt.gca().xaxis.set_major_locator(plt.NullLocator())
    plt.gca().yaxis.set_major_locator(plt.NullLocator())
    plt.subplots_adjust(top=1, bottom=0, right=1, left=0, hspace=0, wspace=0)  #去除邊緣
    plt.margins(0, 0)
    plt.savefig('./小波時(shí)頻圖 py/test_img/' + str(i) + '-' + str(y_test[i]) + '.jpg')
    plt.clf()  #避免內(nèi)存溢出 
    plt.close() #釋放內(nèi)存

四、CNN網(wǎng)絡(luò)的構(gòu)建和測(cè)試

1、CNN網(wǎng)絡(luò)構(gòu)建

CNN網(wǎng)絡(luò)一共有5個(gè)層級(jí)結(jié)構(gòu):輸入層、卷積層、激勵(lì)層、池化層、全連接FC層。論文中的采樣層即池化層。

1.輸入層:與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)/機(jī)器學(xué)習(xí)一樣,模型需要輸入的進(jìn)行預(yù)處理操作。即第二部分?jǐn)?shù)據(jù)處理。

2.卷積層:找出圖像中的某些特征與過濾器(Filter)進(jìn)行過濾,過濾的過程就是求卷積的過程。這里過濾器就是卷積核。

3.激勵(lì)層:所謂激勵(lì),實(shí)際上是對(duì)卷積層的輸出結(jié)果做一次非線性映射。Sigmoid函數(shù)、Tanh函數(shù)、ReLU、Leaky ReLU、ELU、Maxout。

4.池化層:池化(Pooling)也稱為欠采樣或下采樣。主要用于特征降維,壓縮數(shù)據(jù)和參數(shù)的數(shù)量,減小過擬合,同時(shí)提高模型的容錯(cuò)性。

5.輸出層(全連接層):經(jīng)過前面若干次卷積+激勵(lì)+池化后,終于來到了輸出層,模型會(huì)將學(xué)到的一個(gè)高質(zhì)量的特征圖片全連接層。其實(shí)在全連接層之前,如果神經(jīng)元數(shù)目過大,學(xué)習(xí)能力強(qiáng),有可能出現(xiàn)過擬合。

這里我們通過不同圖片的命名來區(qū)分標(biāo)簽:x_1.jpg是正常狀態(tài),x_2.jpg是內(nèi)圈故障,x_3.jpg是滾動(dòng)體故障,x_4.jpg是外圈故障。

輸入特征圖的大小為28×28(同時(shí)用64×64對(duì)比); 隱層由兩層卷積層和兩層采樣層交替組成,第一層和第二層卷積層的卷積核個(gè)數(shù)分別為6和12,卷積核的大小取為5 ×5,激活函數(shù)選擇 sigmoid 函數(shù); 采樣層(池化層)的采樣方式選擇均值采樣,即對(duì)特征圖求其p × p區(qū)域內(nèi)的平均值,區(qū)域大小取2×2且區(qū)域不重疊; 分類器選擇softmax 分類器。

網(wǎng)絡(luò)結(jié)構(gòu)圖3-1。

基于小波時(shí)頻圖和2D-CNN的滾動(dòng)軸承故障檢測(cè)

圖3-1 ?CNN網(wǎng)絡(luò)結(jié)構(gòu)

?2、訓(xùn)練參數(shù)的優(yōu)化

采用學(xué)習(xí)率自適應(yīng)調(diào)整、以訓(xùn)練誤差作ρ為停止條件的方法對(duì)網(wǎng)絡(luò)作進(jìn)一步優(yōu)化,具體方法如下: 初始學(xué)習(xí)率設(shè)定為0.009,最小學(xué)習(xí)率設(shè)定為0.6,每迭代五次就調(diào)整一次學(xué)習(xí)率,學(xué)習(xí)率的衰減因子設(shè)定為0.97。

如果我們直接用默認(rèn)的學(xué)習(xí)率(0.001)和ReLU激活函數(shù)效果會(huì)更好,收斂的更快。

4、訓(xùn)練結(jié)果

基于小波時(shí)頻圖和2D-CNN的滾動(dòng)軸承故障檢測(cè)

基于小波時(shí)頻圖和2D-CNN的滾動(dòng)軸承故障檢測(cè)

圖3-2 ?訓(xùn)練過程的準(zhǔn)確率和誤差曲線

這里我們發(fā)現(xiàn)第二個(gè)圖的收斂比第一個(gè)圖慢,所以第一個(gè)圖的網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)更優(yōu),第一個(gè)圖輸入層28*28 ,第一層和第二層卷積層的卷積核個(gè)數(shù)分別為6 和12,卷積核的大小取為 5 × 5,激活函數(shù)選擇 sigmoid 函數(shù)。

基于小波時(shí)頻圖和2D-CNN的滾動(dòng)軸承故障檢測(cè)

圖3-3 ?測(cè)試混淆矩陣

注意matlab版本要有深度學(xué)習(xí)工具箱,我的是2022a版本,python要用tensorflow2.6

代碼下載鏈接:

matlab版:??正在為您運(yùn)送作品詳情

python版:??正在為您運(yùn)送作品詳情文章來源地址http://www.zghlxwxcb.cn/news/detail-418604.html

到了這里,關(guān)于基于小波時(shí)頻圖和2D-CNN的滾動(dòng)軸承故障檢測(cè)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【Python】二維離散小波變換(2D-DWT)實(shí)現(xiàn)

    【Python】二維離散小波變換(2D-DWT)實(shí)現(xiàn)

    小波變換(Wavelet Transform)是一種數(shù)學(xué)信號(hào)處理技術(shù),用于將信號(hào)或圖像分解為不同頻率的小波成分,從而可以在不同時(shí)間尺度上分析信號(hào)的特征。小波變換具有許多重要的特性,使其在許多領(lǐng)域中有廣泛的應(yīng)用。 小波變換的意義包括以下幾個(gè)方面: 多尺度分析:小波變換可

    2024年02月06日
    瀏覽(19)
  • 基于馮洛伊曼拓?fù)涞啮L魚算法用于滾動(dòng)軸承的故障診斷研究(Matlab代碼實(shí)現(xiàn))

    基于馮洛伊曼拓?fù)涞啮L魚算法用于滾動(dòng)軸承的故障診斷研究(Matlab代碼實(shí)現(xiàn))

    ????? 個(gè)人主頁: 研學(xué)社的博客 ?? ?? ?? ?? 歡迎來到本博客 ?? ?? ?? ?? ?? 博主優(yōu)勢(shì): ?? ?? ??博客內(nèi)容盡量做到思維縝密,邏輯清晰,為了方便讀者。 ? 座右銘: 行百里者,半于九十。 ?? ?? ?? 本文目錄如下: ?? ?? ?? 目錄 ??1 概述 ??2 運(yùn)行結(jié)果

    2023年04月09日
    瀏覽(22)
  • Python環(huán)境下基于門控雙注意力機(jī)制的滾動(dòng)軸承剩余使用壽命RUL預(yù)測(cè)(Tensorflow模塊)

    Python環(huán)境下基于門控雙注意力機(jī)制的滾動(dòng)軸承剩余使用壽命RUL預(yù)測(cè)(Tensorflow模塊)

    機(jī)械設(shè)備的壽命是其從開始工作持續(xù)運(yùn)行直至故障出現(xiàn)的整個(gè)時(shí)間段,以滾動(dòng)軸承為例,其壽命為開始轉(zhuǎn)動(dòng)直到滾動(dòng)體或是內(nèi)外圈等元件出現(xiàn)首次出現(xiàn)故障前。目前主流的滾動(dòng)軸承RUL預(yù)測(cè)分類方法包含兩種:一是基于物理模型的RUL預(yù)測(cè)方法,二是基于數(shù)據(jù)驅(qū)動(dòng)的RUL預(yù)測(cè)方法。

    2024年02月22日
    瀏覽(20)
  • 基于WDCNN的滾動(dòng)軸承故障診斷(Python代碼,壓縮包包含數(shù)據(jù)集和代碼,解壓縮后直接運(yùn)行)

    基于WDCNN的滾動(dòng)軸承故障診斷(Python代碼,壓縮包包含數(shù)據(jù)集和代碼,解壓縮后直接運(yùn)行)

    ? 本次項(xiàng)目是在https://github.com/yfshich/wdcnn_bearning_fault_diagnosis-master 開源項(xiàng)目基礎(chǔ)上做的迭代曲線和混淆矩陣和特征可視化? 1項(xiàng)目文件 data文件夾裝載的是凱斯西楚大學(xué)(CWRU)軸承數(shù)據(jù)集 以0HP文件夾為例,進(jìn)行展示 main_0HP.py、main_1HP.py、main_2HP.py和main_3HP.py是故障診斷主程序,分

    2023年04月09日
    瀏覽(31)
  • Python環(huán)境下基于優(yōu)化時(shí)頻分辨率的信號(hào)時(shí)頻分析

    Python環(huán)境下基于優(yōu)化時(shí)頻分辨率的信號(hào)時(shí)頻分析

    時(shí)頻分析方法使用時(shí)-頻域聯(lián)合分布描述時(shí)間序列信號(hào)的瞬態(tài)特征,并通過瞬時(shí)頻率估計(jì)來表征信號(hào)的特征頻率隨時(shí)間變化的趨勢(shì),在時(shí)間序列信號(hào)處理中得到了廣泛的應(yīng)用。STFT 和WT等常用的時(shí)頻分析方法時(shí)頻分辨率較低,而且對(duì)于多分量時(shí)變信號(hào)的匹配效果不佳;WVD對(duì)噪聲

    2024年01月20日
    瀏覽(26)
  • pointpillars在2D CNN引入自適應(yīng)注意力機(jī)制

    在給定的代碼中,您想要引入自適應(yīng)注意力機(jī)制。自適應(yīng)注意力機(jī)制通常用于增強(qiáng)模型的感受野,從而幫助模型更好地捕捉特征之間的關(guān)系。在這里,我將展示如何在您的代碼中引入自適應(yīng)注意力機(jī)制,并提供詳細(xì)的解釋。 首先,讓我們導(dǎo)入自適應(yīng)注意力機(jī)制的相關(guān)模塊。假

    2024年02月12日
    瀏覽(22)
  • 【CNN記錄】pytorch中BatchNorm2d

    【CNN記錄】pytorch中BatchNorm2d

    torch.nn.BatchNorm2d(num_features, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, device=None, dtype=None) 功能 :對(duì)輸入的四維數(shù)組進(jìn)行批量標(biāo)準(zhǔn)化處理(歸一化) 計(jì)算公式如下: 對(duì)于所有的batch中樣本的同一個(gè)channel的數(shù)據(jù)元素進(jìn)行標(biāo)準(zhǔn)化處理,即如果有C個(gè)通道,無論batch中有多少個(gè)樣

    2024年02月16日
    瀏覽(15)
  • 在 FPGA 上通過 2D CNN 進(jìn)行高效視頻理解的 TSM 網(wǎng)絡(luò)

    在 FPGA 上通過 2D CNN 進(jìn)行高效視頻理解的 TSM 網(wǎng)絡(luò)

    在這個(gè)項(xiàng)目中,展示了 Temporal-Shift-Module ( https://hanlab.mit.edu/projects/tsm/)在 FPGA 上解決視頻理解問題的實(shí)用性和性能。 TSM 是一種網(wǎng)絡(luò)結(jié)構(gòu),可以通過 2D CNN 有效學(xué)習(xí)時(shí)間關(guān)系。在較高級(jí)別上,這是通過一次對(duì)單個(gè)幀(在線 TSM)或多個(gè)幀(離線 TSM)執(zhí)行推理并在這些張量流經(jīng)網(wǎng)

    2024年02月10日
    瀏覽(14)
  • 分類預(yù)測(cè) | MATLAB實(shí)現(xiàn)1D-2D-CNN-GRU的多通道輸入數(shù)據(jù)分類預(yù)測(cè)

    分類預(yù)測(cè) | MATLAB實(shí)現(xiàn)1D-2D-CNN-GRU的多通道輸入數(shù)據(jù)分類預(yù)測(cè)

    分類效果 基本介紹 結(jié)合1D時(shí)序-2D圖像多模態(tài)融合的CNN-GRU故障識(shí)別算法,基于一維時(shí)序信號(hào)和二維圖像多元信息融合的卷積神經(jīng)網(wǎng)絡(luò)結(jié)門控循環(huán)單元網(wǎng)絡(luò)的數(shù)據(jù)分類預(yù)測(cè)/故障識(shí)別算法。要求2020版以上。 采用雙支路輸入,一路為圖像輸入經(jīng)CNN提取特征,一路為特征序列輸入經(jīng)

    2024年02月12日
    瀏覽(38)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包