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

 往期精彩内容:

Python-凯斯西储大学(CWRU)轴承数据解读与分类处理

Python轴承故障诊断 (一)短时傅里叶变换STFT

Python轴承故障诊断 (二)连续小波变换CWT_pyts 小波变换 故障-CSDN博客

Python轴承故障诊断 (三)经验模态分解EMD_轴承诊断 pytorch-CSDN博客

Pytorch-LSTM轴承故障一维信号分类(一)_cwru数据集pytorch训练-CSDN博客

Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客

Pytorch-Transformer轴承故障一维信号分类(三)-CSDN博客

Python轴承故障诊断 (四)基于EMD-CNN的故障分类-CSDN博客

Python轴承故障诊断 (五)基于EMD-LSTM的故障分类-CSDN博客

Python轴承故障诊断 (六)基于EMD-Transformer的故障分类-CSDN博客

Python轴承故障诊断 (七)基于EMD-CNN-LSTM的故障分类-CSDN博客

Python轴承故障诊断 (八)基于EMD-CNN-GRU并行模型的故障分类-CSDN博客

基于FFT + CNN - BiGRU-Attention 时域、频域特征注意力融合的轴承故障识别模型-CSDN博客

基于FFT + CNN - Transformer 时域、频域特征融合的轴承故障识别模型-CSDN博客

大甩卖-(CWRU)轴承故障诊数据集和代码全家桶-CSDN博客

Python轴承故障诊断 (九)基于VMD+CNN-BiLSTM的故障分类-CSDN博客

Python轴承故障诊断 (十)基于VMD+CNN-Transfromer的故障分类-CSDN博客

Python轴承故障诊断 (11)基于VMD+CNN-BiGRU-Attenion的故障分类-CSDN博客

交叉注意力融合时域、频域特征的FFT + CNN -BiLSTM-CrossAttention轴承故障识别模型-CSDN博客

交叉注意力融合时域、频域特征的FFT + CNN-Transformer-CrossAttention轴承故障识别模型-CSDN博客

轴承故障诊断 (12)基于交叉注意力特征融合的VMD+CNN-BiLSTM-CrossAttention故障识别模型-CSDN博客

Python轴承故障诊断入门教学-CSDN博客

Python轴承故障诊断 (13)基于故障信号特征提取的超强机器学习识别模型-CSDN博客

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

Python轴承故障诊断 (15)基于CNN-Transformer的一维故障信号识别模型-CSDN博客

轴承故障全家桶更新 | 基于时频图像的分类算法-CSDN博客

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

Python轴承故障诊断 (17)基于TCN-CNN并行的一维故障信号识别模型_pytorch使用tcn网络进行故障诊断 csdn-CSDN博客

经过团队长期实验研究推出的轻量级轴承故障诊断网络模型!

创新点:

1.如何在把一维故障信号不转为二维图片(转为图片复杂化了)进行cnn 2D卷积,我们创造性的提出的方法会在配套文档中进行详细介绍!(独家原创)

2.提出一种基于快速傅里叶变换(FFT)和变分模态分解VMD的数据预处理方法,提取轴承振动信号在不同频率范围上的故障特征,捕捉故障信号的时频特性,减少噪声的影响。有助于改善轴承故障的检测和诊断效果,提高故障诊断的准确性和灵敏度。(独家原创)

3.我们设计出一种基于通道注意力机制(SENet)、全局注意力机制(GAM-Attention)、交叉注意力机制(CrossAttention)的多级注意力 cnn 卷积池化模型,通过巧妙的设计,使1~2层的轻量级网络架构模型取得了极佳的效果!(独家原创)

注意:此次产品,我们还有配套的模型讲解(方便学习网络结构)和参数调节讲解!有毕业设计或者发小论文需求的同学必看,模块丰富,创新度高,性能优越!

前言

本文基于凯斯西储大学(CWRU)轴承数据,进行快速傅里叶变换(FFT)和变分模态分解VMD的数据预处理,最后通过Python实现基于多级注意力的cnn轻量级网络架构模型对故障数据的分类。凯斯西储大学轴承数据的详细介绍可以参考下文:

Python-凯斯西储大学(CWRU)轴承数据解读与分类处理_cwru bearing data-CSDN博客

1 模型整体结构

预处理:一维故障信号分别经过FFT变换、VMD分解处理,然后把变换分解后的结果进行堆叠。

分支一:通过基于通道注意力机制 SENet的CNN2d 卷积池化网络,通过自适应地调整通道特征的权重,使模型能够自动学习到不同通道的重要性,提取了轴承故障信号中与故障相关的重要特征;

分支二:预处理后的数据同时通过基于全局注意力机制GAM-Attention的CNN2d 卷积池化网络,在整个特征图上引入了全局注意力机制,通过对所有位置的特征进行加权,使模型能够更有针对性地关注重要的特征区域, 提高了模型对轴承故障信号中关键细节的感知能力;

然后两个分支提取的全局空间特征和局部特征通过交叉注意力机制融合,在多个卷积层之间引入了交叉注意力机制,通过引入跨层的信息交互,使模型能够更好地融合不同层次的特征表示,使得模型更关注重要的特征,提高模型性能和泛化能力。

通道注意力机制

Squeeze-and-Excitation Networks

全局注意力机制:

Global Attention Mechanism

2 轴承故障数据的预处理

2.1 导入数据

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

train_set、val_set、test_set 均为按照7:2:1划分训练集、验证集、测试集,最后保存数据

2.2 故障FFT变换可视化

2.3 故障VMD分解可视化

2.4 故障数据的特征预处理数据集制作

3 交叉注意力机制

3.1 Cross attention概念

  • Transformer架构中混合两种不同嵌入序列的注意机制

  • 两个序列必须具有相同的维度

  • 两个序列可以是不同的模式形态(如:文本、声音、图像)

  • 一个序列作为输入的Q,定义了输出的序列长度,另一个序列提供输入的K&V

3.2 Cross-attention算法 

  • 拥有两个序列S1、S2

  • 计算S1的K、V

  • 计算S2的Q

  • 根据K和Q计算注意力矩阵

  • 将V应用于注意力矩阵

  • 输出的序列长度与S2一致

在融合过程中,我们将经过基于通道注意力机制 SENet的CNN2d的局部空间特征作为查询序列,基于全局注意力机制GAM-Attention的CNN2d提取的全局空间特征作为键值对序列。通过计算查询序列与键值对序列之间的注意力权重,我们可以对不同特征之间的关联程度进行建模。

4 基于 CNN 2D卷积多级注意力机制的分类网络模型

4.1 定义网络模型

4.2 设置参数,训练模型

50个epoch,准确率100%,用FFT-VMD+基于多级注意力的cnn轻量级网络分类效果显著,快速傅里叶变换(FFT)和变分模态分解(VMD)可以有效地挖掘信号中的多尺度特征,创新模型能够充分提取轴承故障信号的全局空间和局部特征,收敛速度快,性能优越,精度高,交叉注意力机制能够对不同特征之间的关联程度进行建模,从故障信号频域、时域、空间特征中属于提取出对模型识别重要的特征,效果明显,创新度高!

4.3 模型评估

准确率、精确率、召回率、F1 Score

故障十分类混淆矩阵:

代码、数据如下:

对数据集和代码感兴趣的,可以关注最后一行

# 加载数据
import torch
from joblib import dump, load
import torch.utils.data as Data
import numpy as np
import pandas as pd
import torch
import torch.nn as nn
# 参数与配置
torch.manual_seed(100)  # 设置随机种子,以使实验结果具有可重复性
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")#代码和数据集:https://mbd.pub/o/bread/mbd-ZZybl5ts

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/802123.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习知识点

1鸢尾花分类 鸢尾花分类问题是一个经典的机器学习问题,旨在根据鸢尾花的花萼长度、花萼宽度、花瓣长度和花瓣宽度等特征,将鸢尾花分成三个品种:山鸢尾(setosa)、变色鸢尾(versicolor)和维吉尼亚…

【C++】——list的介绍及使用 模拟实现

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 文章目录 前言 一、list的介绍及使用 1.1 list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator的使用 1.2.3 list capacity 1.2.4 list element access 1.…

展厅施工需考虑的重要因素

1、明确目标和主题 展厅的设计应该以公司历史为线索,通过展品、图片、文字等方法向观众传达公司的发展历程和价值观。在设计过程中,需要根据公司的特点和需求来确定展览的主题,并且合理规划展厅空间,使其呈现出连贯性和逻辑性。 2…

选择IP代理时需要避开哪些误区?

选择IP代理时,许多用户可能会因为对代理服务的不了解而陷入一些误区。这些误区不仅可能影响代理服务的效果,还可能带来安全风险。以下是一些在选择IP代理时需要避开的误区: 第一点是一个常见的误区是过于追求低价:市场上有很多代…

OpenEuler简介与安装

OpenEuler简介与安装 OpenEuler是华为推动的一个免费开源的Linux发行平台。这篇文章简单介绍一下OpenEuler的基本信息,并以当前最新的20.09版本为例,并进行一下x86架构下虚拟机下的安装体验。 基本信息 OpenEuler的基本信息如下所示: 项目…

深度学习的数学基础--Homework2

学习资料:https://www.bilibili.com/video/BV1mg4y187qv/?spm_id_from333.788.recommend_more_video.1&vd_sourced6b1de7f052664abab680fc242ef9bc1 神经网络的特点:它不是一个解析模型,它的储存在一堆参数里面(确定一个超平…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之七 简单指定视频某片段快放效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之七 简单指定视频某片段快放效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之七 简单指定视频某片段快放效果 一、简单介绍 二、简单指定视频某片段快放效果实现原理…

处理SAP CK11N 报错:成本构成结构 Z1 没有被激活

用户发布成本是报错如下: 成本构成结构 Z1 没有被激活 这是对应的成本结构没有打上激活的勾导致的。 配置路径如下: 把勾打上就不会出错了。

视频号小店如何找达人,对接达人教程分享,你还在等什么?

大家好,我是电商花花。 视频号现在的流量非常大,尤其是达人的流量,自从视频号引入大量的博主和达人之后,达人带货的流量更是突飞猛进。 如果你想要在视频号小店出单,爆单,那必须要找达人带货,…

实现 jwt 鉴权- SpringBoot + 微服务

目录 项目结构 主要步骤 auth-service里: 1. 配置 pom.xml 依赖 2. 实现HandlerInterceptor 接口的 preHandle 函数 3. 实现 WebMvcConfigurer 的 addInterceptors 接口 4. 生成 token 和验证 token 5. 登录接口示例 user-service 里: 6. 实现拦…

Python-VBA函数之旅-ascii函数

ascii函数在Python中主要用于将对象(特别是字符和字符串)转换为它们的ASCII表示形式。这种转换在处理文本数据、调试代码以及确保文本以 ASCII 格式存储或传输时非常有用。常见应用场景有: 1、调试和文本处理:当处理包含非ASCII字符(如Unicode字符)的文…

从概念到实践:揭开枚举与联合体在数字化创新时代的神秘面纱

欢迎来到白刘的领域 Miracle_86.-CSDN博客 系列专栏 C语言知识 先赞后看,已成习惯 创作不易,多多支持! 在编程的世界中,枚举和联合体是两种非常基础且重要的数据结构。它们各自具有独特的特点和用途,为程序员提供…

S参数介绍:双端口和四端口S参数有哪些

信号在传输过程中,并非完全不变,而是存在一定的损耗和变化。这类似于光的折射现象,在信号传输过程中,一部分信号会在输入端被反射回来,一部分信号会被传输到其它端口,还有一部分信号会在传输过程中被耗散。…

ROS机器人未知环境自主探索功能包explore_lite最全源码详细解析(三)

本系列文章主要针对ROS机器人常使用的未知环境自主探索功能包explore_lite展开全源码的详细解析,并进行概括总结。 本系列文章共包含六篇文章,前五篇文章主要介绍explore_lite功能包中 explore.cpp、costmap_tools.h、frontier_search.cpp、costmap_clie…

C语言-函数指针-快速排序算法(书籍示例-入门)

概述 使用C语言,实现结构体多元素,排序算法(冒泡排序),这里使用示例:书籍示例讲解 函数简介 函数声明 void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, const void*)) 参…

Leetcode:283.移动零

题目要求 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0] 示例 2: 输入: nums [0…

OAuth2.0客户端和服务端Java实现

oauth2 引言 读了《设计模式之美》和《凤凰架构》架构安全篇之后,决定写一个OAuth2.0的认证流程的Demo,也算是一个阶段性的总结,具体原理实现见《凤凰架构》(架构安全设计篇)。 涉及到的源码可以从https://github.com/WeiXiao-Hyy/oauth2获…

Digicert 证书

一、简介 在当今数字化时代,网络安全已成为全球关注的焦点。随着网络攻击和数据泄露事件的频发,企业和组织越来越重视保护自己的网络环境。在这种背景下,数字证书成为了确保网络通信安全的关键工具。作为数字证书行业的领导者,Di…

python应援灯牌代码

代码如下 import pygame import sys import random# 初始化Pygame pygame.init()# 设置窗口尺寸 WINDOW_WIDTH 800 WINDOW_HEIGHT 600 window_surface pygame.display.set_mode((WINDOW_WIDTH, WINDOW_HEIGHT)) pygame.display.set_caption(应援语跑马灯模拟)# 定义颜色 WH…

利用AI开源引擎:文本自动摘要提取API (可本地化部署)

新闻摘要提取技术是一种高效的自然语言处理技术,它通过算法对新闻文章进行全面的语义理解和分析,自动抽取文章中的关键信息,生成简洁、连贯的摘要文本。该技术在多个领域都有着广泛的应用,下面将深入探讨其主要的应用场景。 开源项…