超高创新性!看完直接写论文!基于1D-2D-DCGAN-ResNet-MSA故障识别程序,直接运行!

适用平台:Matlab2023版及以上

参考文献来源

参考文献一:中文顶级EI期刊《电网技术》文献:基于马尔可夫转换场与多头注意力机制的电能质量扰动分类方法》具体创新点大家可以点击查看,此处不再赘述。

参考文献二:中文顶级EI期刊《电网技术》文献:《基于数据增强的配电网运行态势预警方法》。

参考文献三:中文顶级EI期刊《中国电机工程学报》近期发表文献:《基于特征图像组合与改进ResNet-18的电能质量扰动识别方法》

1D故障波形转化为2D图像对抗生成小样本深度学习分类识别的的绝对是当前发文的顶流本程序结合上述3篇文献,并对其进行多重改进创新!!!提出基于1D-2D-DCGAN-ResNet-MSA故障识别程序,改进点超多!创新点十足!可视化图超多足够支撑一篇高水平学术论文

故障识别模型参考文献三,采用大名鼎鼎的ResNet作为故障识别模型框架,在此基础上进行改进,多头自注意力机制(Multihead Self-Attention,MSA)提高模型的特征抓取能力;

数据预处理方面参考文献一,利用1D时序转图像方法将一维波形转化为图像;

针对样本不平衡或样本较少的类别,参考文献二,采用DCGAN深度卷积对抗生成算法,根据少量样本批量生成海量样本!

文献一解读

文献一工作解读:这篇文献的创新点在于马尔可夫场(MTF)与卷积神经网络(CNN)相结合,融入多头注意力机制,实现故障分类。本程序将原文中的马尔可夫场改进为递归图(RP),RP将一维信号转换为二维特征图,提出改进型递归图算法,通过相空间重构参数自适应优化,将一维振动信号转化为二维纹理特征图。相较于文献一的马尔可夫转换场(MTF),RP在非线性动力学特征表征上更具优势使图像纹理更清晰反映故障冲击特性,特征图分类敏感度提升,而CNN可以对这些特征图进行自适应的特征提取和分类,融合多头注意力机制有效把握提取特征的贡献程度,实现了故障的准确分类。

文献二解读

文献二创新点:这篇文献的创新点在采用深度卷积生成对抗网络(deep convolutional generative adversarial networks,DCGAN)进行样本张量补全,解决了GAN稳定性差的问题,降低深度学习中的样本依赖,解决样本多样性不足等问题。此处,本程序采用DCGAN方法,对样本不足的类别进行批量生成,实现样本增强,将DCGAN方法与故障识别方法强强结合

文献三解读

文献三解读:ResNet的创新点在于:在搭建网络时采用了较为新颖的残差模块,其结构如下图所示。残差模块在单一卷积路径上新增了一条旁路分支,使得后续层的输出取决于前一层的输入。ResNet正是利用了多个残差模块的特殊结构,从而使其参数量大大减少,缓解了网络退化问题并且有利于图像深层特征的提取,本文在参考文献三的ResNet基础实现多头自注意力(MSA)机制嵌入,将特征进行重点强化,提高故障识别的准确率。

结合文献一的一维时序转二维度图像方法,将西储大学轴承诊断数据转化为二维递归图像;结合文献二针对样本较少的故障类别,采用DCGAN对抗生成,批量样本增强;结合文献三,构建ResNet-MSA模型实现轴承故障诊断,实现1D振动信号→多尺度RP图像生成→DCGAN样本扩展→ResNet-MSA分类的完整链路:1D-2D-RP-DCGAN-ResNet-MSA迁移学习故障识别程序,创新点十足,足够支撑一篇高水平学术论文,毕业设计等简单任务更是信手拈来

本文模型

1D-2D-RP-DCGAN-ResNet-MSA故障识别程序

·仅需原始故障波形数据,即可根据波形数据,将一维序列转化为二维递归图像。

·针对样本较少的故障类别,采用DCGAN实现样本增强。

·对故障识别网络进行改进,嵌入多头自注意力机制MSA层实现故障识别。

创新点:

1首次提信号转换(RP)、样本增强(DCGAN)与分类模型(ResNet-MSA)结合创新性极高

2时序图像化:将一维时序信号转化为二维图像,从而更全面地描述数据的特征。这有助于提取更丰富、更有区别性的特征,从而提高分类和识别的准确性。

3、递归图(RP)替代马尔可夫转换场(MTF)的1D-2D转换方法:文献一采用马尔可夫转换场(MTF)将一维信号转换为二维图像,而本程序创新性地引入递归图(Recurrence Plot, RP)作为替代方法。通过计算时间序列中不同时间点的相空间距离生成二维图像,能更直观反映信号的周期性、突变性等非线性特征,且对噪声具有鲁棒性。相比MTF,RP在电能质量扰动分类中提升了特征表达的清晰度,为后续深度学习模型提供更易区分的输入特征。

4、残差网络(ResNet)与多头自注意力(MSA)的深度耦合架构。文献三采用ResNet-18进行特征提取,本程序在ResNet基础上嵌入多头自注意力机制(MSA),形成残差-注意力双路径网络。ResNet的残差模块后插入MSA层,通过并行计算不同子空间的特征权重,强化关键故障特征(如暂态突变)的贡献。MSA机制使模型能自适应关注高频故障成分,分类准确率较原始ResNet提升

5、数据集采用西储大学公开数据集,精度直逼100%,到手直接写论文!!!绝没人写过!

6、t-SNE可视化决策过程,顶级期刊在做论文中的特征可视化工具,出来的图都非常好看能够给专家及读者留下非常好的印象,这是科研的必备工具!

适用领域:适用于各种数据分类场景,如滚动轴承故障变压器油气故障电力系统输电线路故障诊断、静态、暂态电压稳定评估绝缘子、配网、电能质量扰动,等领域的识别、诊断和分类。直接替换数据就可以,使用Excel表格直接导入,不需要对程序大幅修改。程序内有详细注释,便于理解程序运行。数据格式:一行一个样本,最后一列为样本所属的故障类型标签。

程序结果:(由上述一维序列自动转化为递归图RP图像)

程序结果:

部分程序:

clc        % 清空命令行窗口,清除之前的所有输出信息
clear all  % 清空工作区,删除所有变量,避免旧数据干扰
close all  % 关闭所有图形窗口,防止旧图影响新图生成

%% 加载数据文件,假设数据最后一列为标签列,其余为特征列
data = xlsread('西储数据集(故障3样本少).xlsx');        % 加载Excel数据集
resolution = [64 64];                                  % 图像的固定分辨率 [高度, 宽度]
rootFolder = '小样本递归图_64x64';                      % 储存图像位置

% 设置中文字体(根据系统安装字体调整)
set(0, 'DefaultTextFontName', 'SimSun');   % 设置默认文本字体
set(0, 'DefaultAxesFontName', 'SimSun');   % 设置默认坐标轴字体

%% ================== 数据分析部分 ==================
% 提取标签数据并统计分布
labels = data(:, end);                  % 提取所有样本的标签
unique_labels = unique(labels);         % 获取唯一故障类型
num_labels = length(unique_labels);     % 计算故障类型总数

% 统计各故障类型样本数量
counts = histcounts(labels, [unique_labels; max(unique_labels)+1]);
counts = counts(1:num_labels);          % 调整数组长度匹配故障类型数量

%% 绘制故障数量饼状图(HSV颜色映射)
figure('Visible', 'on');               % 创建隐藏的图形窗口
h = pie(counts, cellstr(num2str(unique_labels)));  % 创建带标签的饼图
colormap(hsv(num_labels));              % 应用HSV颜色映射
title('故障类型数量分布'); % 设置标题
saveas(gcf, '故障数量饼状图.png');       % 保存饼状图
% close(gcf);                             % 关闭图形窗口

%% 绘制各故障类型波形对比图
% 预分配存储空间并收集示例波形
example_waveforms = cell(num_labels, 1);  % 创建单元格数组存储波形数据
for i = 1:num_labels
    % 找到每个故障类型的第一个样本
    sample_idx = find(labels == unique_labels(i), 1, 'first');
    % 特征数据归一化处理(与主流程一致)
    featureData = data(sample_idx, 1:end-1);
    normalizedData = (featureData - min(featureData)) / (max(featureData) - min(featureData));
    example_waveforms{i} = normalizedData;
end

% 创建波形对比图
figure('Visible', 'off', 'Position', [0, 0, 800, 200*num_labels]);
for i = 1:num_labels
    subplot(num_labels, 1, i);            % 创建垂直排列的子图
    plot(example_waveforms{i});           % 绘制归一化波形
    title(['故障类型 ', num2str(unique_labels(i)), ' 示例波形']);
    % xlabel('特征点索引'); ylabel('归一化幅值');
    grid on; axis tight;                  % 显示网格并紧缩坐标轴
end
saveas(gcf, '故障类型波形对比图.png');     % 保存波形对比图
% close(gcf);

部分图片来源网络,侵权联系删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值