APP下载

基于数据可视化的复杂系统信号时序识别方法

2022-02-16冯俊涛

计算机测量与控制 2022年1期
关键词:时序波形可视化

姜 婕,杨 威,冯俊涛,姜 帅

(1.北京交通大学 机械与电子控制工程学院,北京 100044; 2.北京航天自动控制研究所,北京 100854; 3.北京航天航空大学 软件学院,北京 100191)

0 引言

复杂系统在运行过程中,各传感器随时间及工况将产生不同的数字信号及模拟信号,根据信号时序特征及阈值,可以反映系统的运行状态,在系统运行异常时及时对其进行干预。传统的信号处理及数据分析方法往往基于规则及案例,并不适用于复杂系统。机器学习领域的发展推动特征识别领域的发展,使用机器学习解决此类问题成为可能[1]。

根据复杂系统(本文以飞行器为例)运行过程中产生的数据特点,模型需要着重对数据的时序特征进行识别。RNN及其衍生模型虽然可以对时序数据进行专业的处理,但是仍然存在计算量大处理效率低且数据量大时存在梯度弥散或梯度爆炸的可能,对于复杂系统实时性要求高且运行时间长、数据量大的情况存在难以弥补的缺陷。

本方法通过将时序特征映射至图像,使用CNN对时序特征图进行分类识别实现对时序数据的处理,处理速度快,且在复杂系统长时间运行产生的大量数据进行时序处理时效果依然稳定。

图1 研究路线图

本文第一章对目前常用的识别模型进行了概述与对比,结合需求特点最终确定复杂系统在时序特征识别时所用模型的类型。

第二章使用ECharts将飞行器运行时的二进制流数据进行可视化处理实现了时序特征的映射。

第三章结合前两章的飞行器数据流的时序特征提取方法,补充了图像预处理方法及TFRecord数据集的制作方法,将大量的飞行器历史测试数据制作成飞行器运行过程中各信号时序变化的时序特征数据集。

第四章构建Sample模型、修改Inception模型的同时,使用第三章制作的数据集在Tensorflow环境下进行模型的训练及调参,完成CNN模型的构建。

第五章使用第三章制作的数据集,对第四章构建的CNN模型进行了验证及分析,最终在第六章通过总结与概括得出结论。本文的研究路线如图1所示。

1 模型方案选择

在对飞行器各系统数据进行处理及分析时,主要考虑其时序变化特征及故障数据分类的准确性。现在常用的时序识别方法主要集中在语义识别、语音识别及预测等方面。与此相关的神经网络主要有具有记忆功能的循环神经网络(RNN,recurrent neural network),解决RNN长期依赖问题的长短期记忆网络(LSTM,long short-term memory)及其它衍生网络[2]。CNN对于一对一映射关系规则严谨,尤其对于图像的识别及分类有良好的效果,因此从RNN、LSTM及CNN三种神经网络进行对比研究。

文献[3]优化了一种RNN方法,用来预测短时间内特定海洋的区域碰撞风险,该方法的预测精度较高且效果良好。

文献[4]使用LTSM作为准确估算锂离子电池SOC的方法,其估计误差小且均方根误差低于1%,验证方法可行。

文献[5]融合了两个二维的CNN神经网络,对超声波心动图进行了时域特征及空域特征,实现了对超声波心动图的视点分类,在心脏病诊断方面辅助优势明显。

文献[6]使用改进后的Inception-v3模型进行乳腺病理图像的二分类及多分类,取得了良好的识别精度,提高了识别效率。

根据RNN、LSTM及CNN的特点,结合复杂系统运行过程中关键信号的识别需求分析如下:

1)RNN对于时序处理效果较好,但是在模型训练时易出现由于共享参数导致的梯度弥散或梯度爆炸。

2)LSTM解决了RNN的梯度问题,但是计算费时,且对于量级较大的长序列表现不佳。由于飞行器数据变化幅度一般较小,且飞行时间长、数据量大,使用LSTM存在明显的限制约束。

3)CNN的输入输出长度固定,便于实现确定的映射到确定的输出,且识别性能普遍良好。

基于上述考虑,采用CNN作为复杂系统信号时序特征的识别的基本模型。选择使用可视化技术将信号的时序特征映射至图像,通过CNN对时序特征图像的识别实现复杂系统信号时序特征的识别的方法进行时序特征识别。

2 时序特征映射

在系统运行过程中,采集不同时序状态下的特征信号(电压、电流、角度变化、速度变化及位移等),按照产生的时间顺序存储至数据库中。使用数据可视化工具,将信号数据按照时序(以时间为横坐标)进行二维图像化处理,实现信号时序特征的图像映射,可以更直观地反映其时序变化趋势及特征。

如图2所示,表示转台转动角度随时间变化的部分可视化图像。因为本文的目的为对信号图像时序特征的处理,所以在可视化时对其进行去单位化的处理,统一横、纵坐标尺度,只保留其时序特征曲线形状的有效性。

图2 部分转动角度信号的可视化图像

使用echarts可以将时序数据可视化为二维图表,通过对图表进行分析归纳其时序特征。由于神经网络构建使用Python语言,因此使用Pyecharts将时序特征映射至图像[7]。

时序数据图表绘制的代码逻辑如表1所示,以时间(timestamp)为横坐标,信号数据(data)为纵坐标进行曲线绘制。

表1 Pyecharts曲线绘制代码

3 图像预处理及数据集

可视化处理后的数据图像按照故障源进行分类,为了加快处理速度,提高模型的识别及训练效率,对图像进行以下操作:

1)统一图像尺寸及分辨率。由于模型识别主要针对曲线的时序趋势特征进行研究与识别,并不在意从图像的度量单位及时间单位,因此在图像预处理时对曲线坐标进行模糊处理。且为加快图像处理速度,降低图像分辨率,只保留曲线特征像素。

2)按照类别进行编号。按照图像的分类对图像文件进行分类编号。

以如图3所示的六种时序特征为例进行时序特征识别说明,预处理前信号时序特征图像及其分类如3所示,预处理后信号时序特征图像及其分类如4所示。因本文的目的为对信号图像时序特征的处理,因此在可视化时对其进行去单位化的处理,统一横、纵坐标尺度,只保留其时序特征曲线形状的有效性。

图3 可视化后信号时序特征图

图4 预处理后的信号时序特征图

图像预处理后,需要将其制作成数据集,以便后续进行模型训练测试及验证。在此采用TFRecord作为数据集文件生成的方法及格式。

4 CNN模型构建

在构建模型时,为了体现模型对时序特征的识别效果,使用了两种模型:构建了Sample模型作为基础识别模型,运用迁移学习思想,使用Inception-v3模型及其预训练参数。

4.1 Sample模型构建

由于示例的时序特征及数据集较简单,构建一个八层的CNN网络的以利用数据集进行训练。CNN网络结构包含两个卷积层,两个池化层,两个全连接层,一个分类层,使用ReLU作为激活函数。大致过程为:“初始化权值参数—>计算损失值—>调制权值参数”过程的循环。

在对Sample模型完成结构设计及修改后,在tensorflow环境下使用根据历史试验数据制作好的飞行器时序特征数据集进行模型训练及调参,完成Sample模型的训练。其训练的最终参数如表2所示。

由于Sample模型简单,层级较浅且参数较少,数据集的数据量不大且时序特征少,因此设定训练次数为500此即可获得收敛度较高的模型,其训练过程中的准确率曲线如图5所示,损失曲线如图6所示。

图5 Sample模型准确率曲线

图6 Sample模型损失曲线

分析训练过程中的准确率曲线,在迭代150次以后准确率在99.5%左右收敛稳定。

分析训练过程中的误差损失曲线,在150次左右时误差损失稳定在0.1以下,且仍具有收敛趋势,在迭代200次左右时基本收敛稳定。

4.2 Inception-v3模型构建

Google Inception Net在大量数据的处理,尤其是内存或计算资源有限制的场合具有计算效率高且分类准确的特点,采用全局平均池化层取代全连接层,一般称之为Inception-v1。后续优化的Inception-v2中加快了收敛速度[10-11]。在Inception-v3中为了降低参数量,减轻过拟合,将二维卷积层拆分成两个一维卷积层[12]。

为充分利用训练好的Inception-v3模型结构及预训练参数,仅对Inception-v3模型瓶颈层的输出来训练一个新的全连接层,以处理时序特征图像的分类问题,完成模型的适配。

在对Inception-v3Sample模型完成结构设计及修改后,在tensorflow环境下使用根据历史试验数据制作好的飞行器时序特征数据集进行模型训练及调参,完成Inception-v3模型的训练其训练的最终参数如表3所示。

表3 Inception-v3模型训练参数表

由于Inception-v3模型较为复杂,层级较深参数较多,因此设定训练次数为1 000次可获得收敛度较高的模型,其训练过程中的准确率曲线如图7所示,损失曲线如图8所示。

图7 Inception-v3模型准确率曲线

图8 Inception-v3模型损失曲线

分析训练过程中的准确率曲线,在迭代100次以内时虽然波动较大但是收敛迅速,900次以后基本稳定在97%以上,收敛效果较好。

分析训练过程中的误差损失曲线,在100次之前收敛速度较快,100次以后收敛速度变缓但收敛趋势良好,在迭代900次以后基本收敛至0.1以下。

5 试验验证与分析

模型训练结束后,需要对模型的识别率、准确率进行验证分析。使用训练好的神经网络在验证集中随机读取一张图像进行识别,将读取图像及其识别结果进行打印输出。步骤如下所述。

Step1:读取一张图片,对图片进行预处理操作。

Step2:应用API中的结构构建新的网络结构。

Step3:载入模型,对模型结构的输出结果进行softmax,即为预测值。

Step4:图像读取与识别,打印准确率及识别的图像。

识别结果示例如图9所示;对六种时序特征波形,使用Sample模型及Inception-v3模型分别进行识别测试100次,统计测试结果如表4所示。

图9 识别结果打印示意图

表4 Sample模型及Inception-v3模型识别结果测试统计表

根据以上测试识别结果,Sample模型的识别准确率为99.667%,识别效果要优于识别准确率为98.167%的Inception-v3模型,但是经过实际的训练与识别,Inception-v3的识别速度普遍比Sample模型快。

从识别分类来看,正常数据阶梯波形的识别概率为100%,但是异常数据阶梯波形的识别概率仅为98.5%,由于正常数据及异常数据的阶梯波形相似、Sample模型及Inception-v3模型识别结果的统一性说明识别差距的原因可定位为正常数据及异常数据阶梯波形数据集的差距不大,两类阶梯波形数据采集的样本问题导致Sample模型及Inception-v3模型对阶梯波形正常、异常的识别结果存在误差。

6 结束语

本文提供了一种基于数据可视化的复杂系统信号时序特征识别的方法。不需要深入了解复杂系统的运行及控制原理,即可对时序特征进行识别。通过采集信号数据进行可视化处理,将信号时序特征映射至图像生成数据集;构建、训练、测试和验证模型,形成最终的时序特征识别模型,然后通过此模型以模型预测的形式对信号数据的可视化时序特征进行识别。

文中选取了复杂系统中特征参数随时间变化的周期波形、阶梯波形、一次函数波形三种典型波形在正常及异常情况下的时序特征进行了研究及验证,证实本文所述方法对单一特征波形的故障有良好的识别效果。下一步可以针对复杂特征波形及多特征融合波形的识别进行研究及改进,增强本文所述模型识别方法的适用性及实用性。

本文研究基于数据可视化的复杂系统信号时序特征识别的方法对大型复杂系统的信号时序特征识别具有一定的适用性,不仅可以应用在飞行器在飞行过程中的故障诊断,还可以应用于态势感知与态势评估、智能指挥决策等等方向。

猜你喜欢

时序波形可视化
顾及多种弛豫模型的GNSS坐标时序分析软件GTSA
正面碰撞车身加速度对乘员腿部损伤的影响
基于时域波形掩护的间歇采样干扰对抗研究
数据可视化设计在美妆类APP中的应用
清明
基于GEE平台与Sentinel-NDVI时序数据江汉平原种植模式提取
思维可视化
你不能把整个春天都搬到冬天来
通用6T系列变速器离合器鼓失效的解决方案
复变函数级数展开的可视化实验教学