独家复现!从 FFT 频域特征到全连接图分类:基于图卷积神经网络 GCN 的滚动轴承故障诊断模型

往期精彩内容:

Python轴承故障诊断 (14)高创新故障识别模型-CSDN博客

独家原创 | SCI 1区 高创新轴承故障诊断模型!-CSDN博客

基于 GADF+Swin-CNN-GAM 的高创新轴承故障诊断模型-CSDN博客

视觉顶会论文 | 基于Swin Transformer的轴承故障诊断-CSDN博客

Python轴承故障诊断 | 多尺度特征交叉注意力融合模型-CSDN博客

SHAP 模型可视化 + 参数搜索策略在轴承故障诊断中的应用-CSDN博客

位置编码祛魅 | 详解Transformer中位置编码Positional Encoding-CSDN博客

多模态-故障诊断 | 大核卷积开启视觉新纪元!-CSDN博客

超强!一区直接写!基于SSA+Informer-SENet故障诊断模型-CSDN博客

故障诊断 | 信号降噪算法合集-CSDN博客

图卷积故障诊断,新增GAT、SGCN、GIN分类模型-CSDN博客

故障诊断一区直接写,图卷积+BiGRU-Attention 并行诊断模型-CSDN博客

故障诊断高创新!基于1D-GRU+2D-MTF-ResNet-CBAM的多模态融合分类模型_基于1dcnn-informer+matt融合的故障诊断模型-CSDN博客

轴承寿命预测全家桶更新!新增西交XJTU-SY数据集+预测模型合集_hxd3b 型电力机车轴承寿命预测实例中,一张该模型预测结果-CSDN博客

故障诊断 SCI 1 区直接写!基于GADF+SwinTransformer-CBAM+GRU的多模态融合分类模型-CSDN博客

PHM2012 - 基于 Python 的轴承寿命预测模型

故障诊断模型评估------你了解混淆矩阵吗?(下)

多源信息融合+经典卷积网络故障诊断模型合集-CSDN博客

创新首发!齿轮箱故障诊断:基于MTF+Swin-Informer的多模态创新模型

基于多尺度卷积神经网络(MSCNN-1D)的轴承信号故障诊断模型

创新首发!基于CNN-BiLSTM-KAN模型的滚动轴承剩余使用寿命预测

高效对抗噪声!基于深度残差收缩网络(DRSN)的轴承故障诊断模型

特征提取+概率神经网络 PNN 的轴承信号故障诊断模型

高创新!基于FFT+WDCNN-Transformer时频域融合的轴承故障诊断模型

创新首发!基于注意力机制优化的高创新故障诊断模型

创新首发!从"样本极少"到"可用增强":基于 CWT + Conditional DCGAN 的故障诊断模型

多源信息融合更新:基于WDCNN的故障诊断模型!

前言

在滚动轴承故障诊断研究中,传统深度学习方法大多将一维振动信号直接输入 CNN、LSTM 或 Transformer 等模型中进行分类。这类方法虽然实现简单,但往往只关注信号的局部波形变化或序列依赖关系,对于样本之间的关联结构挖掘不足。本期复现的是一类更具图学习特色的故障诊断方法:基于图卷积神经网络(Graph Convolutional Network, GCN)的滚动轴承故障诊断模型。

该方法不是简单地把每条信号作为独立样本输入网络,而是先将原始振动信号转换为频域特征 ,再将多个频域样本组织为图结构,通过 GCN 挖掘样本节点之间的关联关系,最终完成故障类别识别。(效果显著,可供学习参考!)

● 数据集:CWRU西储大学轴承数据集

● 环境框架:python 3.11 pytorch 2.1 及其以上版本均可运行

● 准确率:测试集100%

● 使用对象:初学者、论文需求、毕业设计需求者

● 代码保证:代码注释详细、即拿即可跑通。

****注意:****本代码产品围绕论文方法进行了完整复现与工程化整理,包含数据预处理、FFT频域特征提取、图结构构建、GCN模型定义、训练测试流程、结果输出与关键复现细节说明,适合用于毕业设计、论文复现、课程项目和故障诊断入门研究。

1 模型简介

本代码复现的 GCN 模型主要由四个部分组成。

1.1 FFT 频域特征提取

原始振动信号通常具有强噪声、非平稳和冲击性特点。直接使用时域信号训练模型,可能难以充分体现故障频率和频带能量分布。因此,代码首先对每段振动样本进行 FFT 变换,将时域信号转换为频域特征。对于长度为 1024 的时域信号:

x = x1, x2, ..., x1024

经过 FFT 后得到 1024 维频域幅值谱,作为图节点的输入特征。

1.2 图节点构造

在本复现方案中:

  • 一个频域样本 = 一个图节点

  • 节点特征 = FFT频谱向量

  • 节点标签 = 故障类别标签

也就是说,模型不是把一条信号直接输入分类器,而是将多个频域样本组织成图结构,让 GCN 在图中进行特征传播。

1.3 全连接图构建

论文方法采用全连接图结构。每个图中包含多个节点,节点之间两两相连。这样做的目的是让同一图中的节点可以充分交换特征信息,使模型能够学习样本之间的关联模式。

图结构可以表示为:

Node 1 ↔ Node 2

Node 1 ↔ Node 3

...

Node i ↔ Node j

边权默认采用 0-1 权重,即存在连接则边权为 1。

1.4 GCN 分类模型

模型主体采用两层图卷积层进行特征提取,然后接入两层全连接层完成分类,其参数如下:

2 轴承数据加载与预处理

2.1 导入数据

参考之前的文章,进行故障10分类的预处理,凯斯西储大学轴承数据10分类数据集:

支持读取常见 CSV 格式数据:

每一行 = 1024个采样点 + 1个标签

适合已经整理好的 CWRU 十分类数据,也可以扩展到其他轴承故障数据集。

2.2 数据预处理

主要步骤如下:

(1)使用无重叠采样将原始振动信号划分为多段长度为1024的子样本;

(2)利用快速傅里叶变换将子样本振动信号转化为频域信号;

(3)将子样本频域信号作为节点,频谱作为节点特征,故障类型作为节点标签,然后将10个节点 构造为一个全连接图,即任意两个节点之间都有一条无向边连接,且边的权重采用0-1加权;

(4)将构造的全连接图数据集随机打乱后按照 6:4比例划分为训练集和测试集;

(5)搭建GCN模型,通过使用两个图卷积层提取节点特征,使用两个全连接层分类特征;

(6)使用训练集训练GCN模型,通过误差反向传播算法更GCN模型的可学习参数;

(7)训练完成后,将测试集输入到最终GCN中, 输出诊断果。

3 基于FFT-GCN的故障诊断模型

3.1 定义网络模型,设置参数,训练模型

50个epoch,准确率100%,用FFT-GCN网络分类效果显著,能够从故障信号特征中提取出对模型识别重要的特征,效果明显!

3.2 模型评估

(1)准确率、精确率、召回率、F1 Score

(2)故障10分类混淆矩阵:

(3)分类标签可视化

(4)模型训练后的 t-SNE特征可视化:

4 代码、数据整理如下:

点击下方卡片获取代码!

相关推荐
xiao5kou4chang6kai44 天前
MATLAB机器学习、深度学习--从数据预处理到模型训练
深度学习·机器学习·matlab·数据预处理
renhongxia14 天前
世界模型作为AGI落地底层底座的作用
人工智能·深度学习·生成对抗网络·自然语言处理·知识图谱·agi
计算机科研狗@OUC4 天前
(cvpr26) AIMDepth: Asymmetric Image-Event Mamba for Monocular Depth Estimation
人工智能·深度学习·计算机视觉
β添砖java4 天前
深度学习(22)网络中的网络NiN
人工智能·深度学习
Kobebryant-Manba4 天前
深度学习时候d2l报错和使用问题
人工智能·深度学习
zhangfeng11334 天前
deepspeed zero3 结合 llamafactory 微调 ,save_only_model: true 导致保存时候出错
开发语言·python·深度学习
大模型最新论文速读4 天前
06-16 · LLM 最新论文速览
论文阅读·人工智能·深度学习·机器学习·自然语言处理
宝贝儿好4 天前
【LLM】第二章:HuggingFace入门学习
人工智能·深度学习·神经网络·学习·算法·自然语言处理
Black蜡笔小新4 天前
企业私有化AI训练推理一体工作站DLTM深度学习推理工作站全流程技术解析
人工智能·深度学习
Kobebryant-Manba4 天前
学习门控循环单元gru
深度学习·学习·gru