轴承故障检测(分类任务)+傅里叶变化+CNN+matlab

2024-05-04 06:28

本文主要是介绍轴承故障检测(分类任务)+傅里叶变化+CNN+matlab,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 介绍

使用西储大学的轴承数据集,其实用哪个都行,可能最后的精度会不一样,先读取数据,然后使用傅里叶转换为图像,然后搭建cnn模型,将图像大小转换为模型使用的大小,例如resnet50,输入大小就是224*224。同样提供python版本。

2 数据处理

总共10个类别
在这里插入图片描述
对每个数据进行采样,设置2000个样本,每个样本取连续的300个点

% 采样,每个数据采集N条样本,每条样本M长度
M = 2000;
N = 300;
image_index = 1;
sample_all_data = zeros(3, N, M);
for i = 1:10sample_class_data = zeros(N, M);data = all_data{i};% 数据采样random_sequence = randperm(length(data) - M);selected_numbers = random_sequence(1:N);% 对于每个采样的数据,使用fft变换for j = 1:Nstart_index = selected_numbers(j);sample_data = data(start_index: start_index+M-1);sample_class_data(j,:) = sample_data;file_path = "images\" +num2str(i) +"\"+ num2str(image_index)+".jpg";% 进行fft变换process_data(sample_data, file_path)image_index = image_index + 1;endsample_all_data(i,:,:) = sample_class_data;
end

3 fft变换

使用matlab中的变换,转换为频谱图,然后保存,结果如下所示

[S, f, t] = spectrogram(sample_data);

在这里插入图片描述

4 cnn模型

搭建一个普通的模型就行,因为这个数据集识别准确率特别高,最后都能到100%

% 设置图像文件夹路径
data_folder = 'images';% 创建图像数据存储器
imds = imageDatastore(data_folder, ...'IncludeSubfolders', true, 'LabelSource', 'foldernames');
[train_imds, test_imds] = splitEachLabel(imds, 0.7, 'randomized');% 构建 CNN 模型
layers = [imageInputLayer([224 224 3])convolution2dLayer(3, 16, 'Padding', 'same')batchNormalizationLayerreluLayermaxPooling2dLayer(2, 'Stride', 2)convolution2dLayer(3, 32, 'Padding', 'same')batchNormalizationLayerreluLayermaxPooling2dLayer(2, 'Stride', 2)convolution2dLayer(3, 64, 'Padding', 'same')batchNormalizationLayerreluLayerfullyConnectedLayer(10)softmaxLayerclassificationLayer
];
详情加Q 596520206 同样提供python版本

这篇关于轴承故障检测(分类任务)+傅里叶变化+CNN+matlab的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/958521

相关文章

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

C#使用DeepSeek API实现自然语言处理,文本分类和情感分析

《C#使用DeepSeekAPI实现自然语言处理,文本分类和情感分析》在C#中使用DeepSeekAPI可以实现多种功能,例如自然语言处理、文本分类、情感分析等,本文主要为大家介绍了具体实现步骤,... 目录准备工作文本生成文本分类问答系统代码生成翻译功能文本摘要文本校对图像描述生成总结在C#中使用Deep

Spring Boot 整合 ShedLock 处理定时任务重复执行的问题小结

《SpringBoot整合ShedLock处理定时任务重复执行的问题小结》ShedLock是解决分布式系统中定时任务重复执行问题的Java库,通过在数据库中加锁,确保只有一个节点在指定时间执行... 目录前言什么是 ShedLock?ShedLock 的工作原理:定时任务重复执行China编程的问题使用 Shed

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学

Python Invoke自动化任务库的使用

《PythonInvoke自动化任务库的使用》Invoke是一个强大的Python库,用于编写自动化脚本,本文就来介绍一下PythonInvoke自动化任务库的使用,具有一定的参考价值,感兴趣的可以... 目录什么是 Invoke?如何安装 Invoke?Invoke 基础1. 运行测试2. 构建文档3.

解决Cron定时任务中Pytest脚本无法发送邮件的问题

《解决Cron定时任务中Pytest脚本无法发送邮件的问题》文章探讨解决在Cron定时任务中运行Pytest脚本时邮件发送失败的问题,先优化环境变量,再检查Pytest邮件配置,接着配置文件确保SMT... 目录引言1. 环境变量优化:确保Cron任务可以正确执行解决方案:1.1. 创建一个脚本1.2. 修

Java实现任务管理器性能网络监控数据的方法详解

《Java实现任务管理器性能网络监控数据的方法详解》在现代操作系统中,任务管理器是一个非常重要的工具,用于监控和管理计算机的运行状态,包括CPU使用率、内存占用等,对于开发者和系统管理员来说,了解这些... 目录引言一、背景知识二、准备工作1. Maven依赖2. Gradle依赖三、代码实现四、代码详解五

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery