融合DE 端和FE端数据,利用小波变换生成时频图,再分别利用DCNN、KNN和DNN进行对比实验(python代码)

news2024/11/27 16:30:49

1.数据集介绍:

试验台如图所示,试验台左侧有电动机,中间有扭矩收集器,右侧有动力测试仪,控制电子设备在图中没有显示。SKF6203轴承使用16通道数据采集卡采集轴承的振动数据,并在驱动端部分(DE)、风扇端部分(FE)、基座端安装传感器。该实验在轴承内圈、滚动体、外圈上采用电火花加工方式制造故障,故障缺陷直径尺寸为0.1778mm、0.3556mm、0.5334mm(不同损伤程度)。分别在负载0HP、1HP、2HP、3HP下采集数据,采样频率为f=12.8khz。

CWRU滚动承轴实验平台

2.小波变换

在分析不稳定的时间信号时,在低频范围内需要一个更大的窗口来分析低频信号;而在高频区域,需要一个更窄的窗口来获取关于振幅的精确信息。但是,当快速傅里叶变换时,窗口函数的形状是固定的,当分析不连续信号时,信号在不同的时间内是离散的,因此快速傅里叶变换具有一定的局限性。基于小波变换很好地解决了这一限制,信号的范围是固定的,但可以通过信号的高频特征改变其窗口的长度和高度来适应信号的特征,确保频率分析的精度,确保频率分析的精度,频率的变化可以很好地满足实际工程需求。因此,本文件选择了一种基于小波变换的方法[42]。

小波的变换由两种类型组成:小波的离散变换(DWT)和小波的连续变换(CWT)。滚动轴承的振动信号属于实际的工程信号领域,更适合使用连续的小波变换进行分析。

连续小波变换尺度图(CWTS)

目前基于连续小波变换的故障诊断算法有一定的局限性。首先,大多数方法都是提取出小波变换系数中的几个特征值,进而通过对特征值的分类来进行故障诊断。这些方法对小波变换系数进行了降维处理,没有能够充分利用小波变换系数,可能导致重要故障特征的丢失。其次,这些算法中,故障特征的选择和提取大都是基于专家经验的,无法得到一个能在现场应用的通用的解决方案。

本文中,使用连续小波变换的滤波器组函数获得振动加速度信号的连续小波变换,并根据小波系数生成尺度(continuous wavelet transform scale,CWTS)图,再利用深度网络强大的图像识别能力,对由小波变换系数构成的CWTS图直接进行故障识别。CWTS图包含了连续小波变换的所有运算结果,没有进行数据降维,避免了故障信息的丢失,同时也不需要复杂的特征提取过程。

3.融合DE与FE两个传感器的图像

单通道小波时频图 

在上图可以看出,正常状态的尺度图与其它三种故障状态的尺度图相互之间有明显特征区别,表明了本文所提的CWTS方法的的优越性。但是,只基于DE端传感器的振动信号,在变负载的诊断中容易受到干扰,出现结果不稳定等因素,多通道信息相对单通道,拥有更多的特征。当拥有更多的特征时,无论是传统机器学习方法,还是深度网络,都可以相应提高其识别准确率。所以,将DE端与FE端融合在一起,并通过本文的CWTS方法生成图像,如下图所示。在图中可以看出,双通道的小波尺度图像包含更多的特征。

4实验设定

采用二维卷积网络,为保持与一维卷积网络诊断结果的对比,同样主要有两个卷积层、两个池化层、一个拉直层和两个全连接层构成。但是,卷积核均采用二维卷积核,卷积层1和卷积层2均采用3*3尺寸,激活函数采用ReLU函数,池化层均采用二维最大池化方式,拉直层的主要作用是将最大池化层的输出结果变成符合全连接层输入的形状。全连接层1负责进一步映射特征与标签之间的关系,全连接层2的神经元个数与标签个数一样,并利用softmax函数输出预测标签概率。整个网络的主要参数如下表4-1所示。

表4-1 二维DCNN参数

网络类型

Network type

层类型

Layer type

核尺寸

Kernel size

核/神经元

数量/个

步长

Step

激活函数

二维CNN

网络

卷积层1

3*3

8

1

Relu

最大池化层1

2*2

/

2

/

卷积层2

3*3

16

1

Relu

最大池化层2

2*2

/

2

/

拉直层

/

/

/

Relu

全连接层1

/

64

/

/

全连接层2

/

4

/

Relu

全连接网络(DNN)的设置

在全连接神经网络中,没有卷积层和池化层等结构,只有全连接层,并且相邻的全连接层的神经元是一一连接的,虽然避免了特征的过度损失,但是全连接网络参数过多,导致一般运算量极大,容易陷入局部最优解。整个网络的主要参数如下表4-2所示。

表4-2  全连接网络参数

网络类型

Network type

层类型

Layer type

神经元

数量/个

激活函数

全连接网络

全连接层1

32

Relu

拉直层

/

Relu

全连接层2

64

/

全连接层3

4

Relu

KNN分类

KNN算法在模式识别领域中,常用于解决分类问题。KNN算法,也被称为K临近算法,就是指的是每个样本都可以用它最接近的K个邻近值的特征来代表,这样就可以从高维降低到低维表示,降低特征维度。最后,KNN根据训练集中的K个最近邻中的多数标签对每个未标记的样本进行分类。因此,距离度量是KNN算法好坏的关键。在缺乏先验知识的情况下,大多数KNN分类器使用的是欧氏距离进行度量。

5.实验结果展示

首先,实验优化器使用Adam,epoch设定为100次,学习率设定0.01,批量设定为64。为测试DCNN在单负载场景下对二维尺度图的特征提取能力,分别在4种不同负载下试验。为消除偶然误差,采用测试集10次实验结果的平均值评估网络性能。并使用DNN与KNN方法进行对比。基于二维图像的识别准确率如表4-3  所示,对应的柱状图如图4-4所示。

表4-3 基于二维图像的识别准确率

方法

识别准确率/%

 0HP

1HP

2HP

3HP

KNN

97.54

95.34

95.23

96.78

DNN

97.52

98.36

97.21

97.57

DCNN

 99.23

99.35

98.56

99.86

 DCNN和DNN方法都是通过反向传播不断地减小真实标签与预测标签之间的损失差异,进而提高模型的识别准确率。所以,为更直观地观察DCNN和DNN的识别准确率和损失函数在迭代过程的变化,随机选择0HP负载数据集进行展示,如下图所示

DCNN的F1报告:

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

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

相关文章

AI模型训练、实施工程师的职业前景怎么样?

本篇文章主要讲解ai模型训练、模型实施工程师的职业前景和趋势分析 作者:任聪聪 日期:2023年4月18日 ai训练师、模型实施工程师,一般是指opencv、pytorh、python、java、机械学习、深度学习、图像识别、视频检测等领域的模型数据训练工作。 …

07 - 深度学习处理器架构⭐⭐⭐⭐

架构设计需要解决的两个主要问题:(1)如何提高处理器的能效比(性能/功耗)- 硬化算法(2)如何提高处理器的可编程性(通用性) - CPU 一、单核深度学习处理器(DLP-S) 1. 总体架构 (1)架构图 DMA是一种硬件机制,允许外围组件将其I/O数据直接传输到主存储器中,而无需…

CentOS 8 手动安装MongoDB

文章目录1. MongoDB概述2. 安装MongoDB2.1 在MongoDB官网选择对应版本2.2 去到MongoDB安装目录,并下载MongoDB安装包2.3 解压MongoDB安装包2.4 重命名解压后的MongoDB文件夹名2.5 创建MongoDB数据库数据存放路径2.6 创建MongoDB日志文件存放路径2.7 进入MongoDB文件…

Pixhawk基础—认识Pixhawk

Pixhawk简介 pixhawk是由3DR联合APM小组与PX4小组于2014年推出的飞控PX4的升级版,它同时拥有PX4和APM两套固件和相应的地面站软件。该飞控是目前全世界飞控产品中硬件规格最高的产品。 Pixhawk基础 端口介绍 1、Spektrum DSM receiver(Spektrum DSM信号转换为PWM…

Java基础总结(一)

文章目录前言封装继承多态抽象方法接口内部类static权限修饰符this superprivate关键字final关键字就近原则构造方法号StringBuilderStringJoiner字符串原理总结:1、字符串存储的内存原理2、号比较的是什么?3、字符串拼接的底层原理4、StringBuilder提高…

ASIC-WORLD Verilog(1)一日Verilog

写在前面 在自己准备写一些简单的verilog教程之前,参考了许多资料----asic-world网站的这套verilog教程即是其一。这套教程写得极好,奈何没有中文,在下只好斗胆翻译过来(加了自己的理解)分享给大家。 这是网站原文&…

Java反射面试总结(二)

为什么引入反射概念?反射机制的应用有哪些? 我们来看一下 Oracle 官方文档中对反射的描述: 从 Oracle 官方文档中可以看出,反射主要应用在以下几方面: 反射让开发人员可以通过外部类的全路径名创建对象,…

详解C语言结构体内存对齐:你知道如何快速计算结构体大小吗?

本篇博客会讲解C语言结构体的内存对齐,并且给出一种快速计算结构体大小的方式。主要讲解下面几点: 结构体的内存对齐是什么?如何快速计算结构体的大小?如何利用内存对齐节省结构体占用的内存空间?为什么结构体要内存对…

分布式数据库架构路线大揭秘

文章目录分布式数据库是如何演进的?数据库与分布式中间件有什么区别?如何处理分布式事务,提供外部一致性?如何处理分布式SQL?如何实现分布式一致性?数据库更适合金融政企的未来这些年大家都在谈分布式数据库…

MySQL-中间件mycat(一)

目录 🍁mycat基础概念 🍁Mycat安装部署 🍃初始环境 🍃测试环境 🍃下载安装 🍃修改配置文件 🍃启动mycat 🍃测试连接 🦐博客主页:大虾好吃吗的博客 &#x1f9…

边缘网关thingsboard-gateway DTU902

thingsboard-gateway是一个采用python语言编写的开放源代码网关程序,用于将传统或第三方系统的设备与thingsboard平台连接。 支持 采集Modbus slaves、CAN、MQTT 、OPC-UA servers, Sigfox Backend。 除了具备普通 网关外,还具备可配置的边缘能力&…

rabbitmq深入实践

生产者,交换机,队列,消费者 交换机和队列通过 rounting key 绑定者,rounting key 可以是#.,*.这类topic模式, 生产者发送消息内容 rountingkey, 到达交换机后交换机检查与之绑定的队列, 如果能匹…

Yolov5之common.py文件解读

深度学习训练营原文链接前言0.导入需要的包以及基本配置1.基本组件1.1 autopad1.2 ConvDWConv模块1.3TransformerLayer模块1.4 Bottleneck和BottleneckCSPBottleneck模型结构1.5 CrossConv模块1.6 C3模块基于C3的改进1.7SPP1.8Focus模块1.9 Concat模块1.10 Contract和Expand1.1…

好东西!!!多亏几位大牛整理的面试题,让我成功上岸!!

凡事预则立,不预则废。相信很多程序员朋友在跳槽前都会临阵磨枪,在网络上搜集一些面试题进行准备。 然而,当机会来临时,却发现这些面试题往往“不快也不光”.... 由于Java面试涉及的范围很广,很杂,而且技…

使用MyBatis实现简单查询

文章目录一,创建数据库与表(一)在Navicat里创建MySQL数据库testdb(二)创建用户表 - t_user(三)在用户表里插入3条记录二,案例演示MyBatis基本使用(一)创建Mav…

解决idea每次打开新的项目都需要重新配置maven

原理:就是通过 idea 来进行全局配置【非当前工程配置】 IDEA 版本:2023.1 如何查看版本信息 ? 【主菜单】——【帮助】——【关于】 我在网上查找了许多文章 ,我混淆了一点!当前工程的设置 & 全局设置 不在一个地方…

马斯克掷重金收购英

人前主义,人后生意。在带领一众科技圈大佬签署了呼吁暂停研发比GPT-4更强AI模型的公开信后不久,马斯克却转头豪掷千金收购了10000块英伟达GPU。 一些网友吐槽,以马老板的格局而言,这次价值过亿的投资绝对不是为了借着AI概念火爆来…

2021年 团体程序设计天梯赛——题解集

Hello各位童学大家好!😊😊,茫茫题海你我相遇即是缘分呐,或许日复一日的刷题已经让你感到疲惫甚至厌倦了,但是我们真的真的已经达到了我们自身极限了吗?少一点自我感动,没有结果前别太…

[FREERTOS] 任务的创建、删除、调度与状态

1.什么是任务? 我的理解是:任务像是进程/线程,创建一个任务就会开辟一个空间,每一个任务都是独立的执行相应的动作互不干扰,就比如玩游戏,陪女朋友,任务通常都会有一个while(1)死循环 2.与任务创…

使用cloudflare代理flask启用https服务

原文来自:使用cloudflare代理flask启用https服务 | 夜空中最亮的星 欢迎大家留言讨论 问题1:使用cloudflare的dns回源服务器的时候,出现了http和https不断反复重定向 问题2: flask只能启用http服务,需要启用https 步骤 服务器&…