独家复现!从 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 代码、数据整理如下:

点击下方卡片获取代码!

相关推荐
2401_827499991 小时前
深度学习03(黑马)-神经网络基础
人工智能·深度学习·神经网络
狮子座明仔2 小时前
DeCoRL:把推理链拆成“乐团合奏“——AAAI 2026 一篇把 RLHF 推到 32B 打 GPT-4o 的工作
人工智能·深度学习·算法
动物园猫2 小时前
田间杂草检测数据集分享(适用于YOLO系列深度学习分类检测任务)
深度学习·yolo·分类
Zy_Yin1232 小时前
拆解如何用anthropic金融agent做投研
人工智能·python·深度学习·金融·github
春日见2 小时前
自动驾驶数据驱动规控进化之路
运维·服务器·人工智能·深度学习·算法·机器学习·自动驾驶
帅次2 小时前
AI数字营销实战测评:CSDN AI智选主题如何提升技术博客创作效率与质量?
人工智能·深度学习·机器学习·语言模型·自然语言处理·数据挖掘·知识图谱
kaikaile19953 小时前
盲源分离(BSS)程序代码:信号处理与模态识别
前端·信号处理
chnyi6_ya12 小时前
论文阅读:CogVideoX: Text-to-Video Diffusion Models with An Expert Transformer
论文阅读·深度学习·transformer
大连好光景12 小时前
BCELoss + sigmoid 换成 BCEWithLogitsLoss
人工智能·深度学习·机器学习