Pytorch基于小波时频图与SwinTransformer的轴承故障诊断

        Swintransformer是microsoft在2021年提出的方法(原版code链接),本文通过将其与小波时频图结合起来,共同用于轴承故障诊断中,目前还没有人将这个方法用于故障诊断哟。

1.Swintransformer结构

        上图展示的是官方的模型结构图,实际上是tiny模型,。它首先通过利用patch partition将输入的图像分割为非重叠 patch。其次采用linear embedding,将patch投影到维度C,然后交替使用窗口注意力机制与移位窗口注意力,并采用patch merging进行下采样操作(起到CNN中池化层的作用)。与基于resnet的结构类似,可以得到不同stage的不同下采样倍数的特征图,用于各种下游任务,比如可以取stage2-4的特征图输入FPN(如yolov4的结构),然后接yolohead进行目标检测等。 

2.小波时频图

        传统轴承故障诊断是采用各种特征提取方法对一维轴承信号进行特征提取,如均值方差,HHT包络谱,FFT频谱,小波能量谱等,变换后的特征依旧是一维数据。本文采用小波时频图技术将一维轴承信号转换为2维(3通道真彩图)的时频图,转换后的数据可以输入CNN、MLP-Mixer、visiontransformer等中进行图像分类,从而实现故障诊断。

3.实例验证

代码列表
代码列表

       1)数据准备

       采用西储大学轴承故障诊断数据集,48K/0HP数据,共10类故障(正常作为一类特殊的故障类型),划分后每个样本的采样点为1024,每类故障各100个样本,因此一共1000个样本,然后7:2:1划分训练集,验证集,与测试集。

      2)小波时频图

        3)SwinTransformer故障诊断分类

        参考代码地址如下SwinTransformer细节及代码实现(pytorch版本),将其与时频图结合起来,其中输入大小是64x64x3,patchsize是4,类别数为10。经过100次训练的正确率曲线与损失曲线如下图所示。

        将测试集输入3)中训练好的模型,得到正确率为99%。

        4)特征可视化

        提取分类层前一层的输出,也就是判别特征,采用tsne进行可视化。

5 代码

代码见评论区,另外链接中还有更多博客及代码。

轴承故障诊断中,可以使用PyTorch进行故障分类。传统的轴承故障诊断方法通常使用一维轴承信号进行特征提取,如均值方差、HHT包络谱、FFT频谱、小波能量谱等\[1\]。然而,使用小波时频图技术可以将一维轴承信号转换为2维的时频图,从而可以将其作为图像输入到CNN、MLP-Mixer、visiontransformer等模型中进行图像分类\[1\]。 在一个具体的案例中,可以使用西储大学轴承故障诊断数据集,该数据集包含10类故障,其中正常样本作为一类特殊的故障类型\[2\]。数据集中每个样本的采样点为1024,每类故障有100个样本,总共有1000个样本。可以将数据集按照7:2:1的比例划分为训练集、验证集和测试集\[2\]。 在PyTorch中,可以使用SwinTransformer模型进行轴承故障诊断。可以将SwinTransformer时频图结合起来,其中输入大小为64x64x3,patch size为4,类别数为10。通过对数据集进行100次训练,可以得到正确率曲线和损失曲线\[3\]。 总结起来,使用PyTorch进行轴承故障诊断可以通过将一维轴承信号转换为2维时频图,并使用SwinTransformer模型进行图像分类。这种方法可以提高故障诊断的准确性和效率。 #### 引用[.reference_title] - *1* *2* *3* [Pytorch基于小波时频图SwinTransformer轴承故障诊断](https://blog.csdn.net/qq_41043389/article/details/126801923)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值