一种基于SAE与马氏距离的直升机传动轴异常判定方法
文献发布时间:2023-06-19 10:38:35
技术领域
本发明属于直升机飞行控制技术领域,特别是涉及一种基于SAE与马氏距离的直升机传动轴异常判定方法。
背景技术
传动系统是直升机的三大关键动部件之一,传动轴是传动系统重要的组成部件。一旦传动轴发生故障,会给直升机带来严重影响甚至导致致命事故发生。因此,对直升机传动轴开展状态监测具有十分重要的意义。当前,直升机传动轴的状态监测方法大部分集中于基于专家经验的阈值检测,即利用信号分析手段提取故障敏感特征,进而设定专家阈值实现检测。该类方法不仅需要丰富的专家知识背景,同时在实际工程中存在较多的虚警漏报问题。此外,针对通用的轴部件,近年来出现了许多将信号分析与机器学习算法相结合的智能故障诊断方法,但该类方法通常需要大量的异常数据,然而异常数据在实际工程中往往较难获取。
针对上述问题,本发明提出了一种基于堆叠自编码器(SAE)与马氏距离的健康基线构建与阈值生成方法,可以仅利用正常数据或结合少量异常数据,实现直升机传动轴的健康状态自主表征与阈值参数生成,从而在实际工程应用中完成传动轴异常状态判定。
发明内容
本申请旨在提出一种基于SAE与马氏距离的直升机传动轴异常判定方法,使得在异常数据匮乏条件下仍能有效构建直升机传动轴的健康状态表征并生成异常判定阈值,实现直升机传动轴异常判定。
本发明提出的基于SAE与马氏距离的直升机传动轴健康基线构建、阈值生成与异常判定方法,包括:
第一步:利用训练数据构建健康基线;
第二步:利用训练数据生成基线统计阈值;
第三步:针对测试数据开展实时异常判定。
优选地,第一步、第二步所述健康基线构建与阈值生成所用训练数据,可以仅为正常数据,或在正常数据的基础上引入少量异常数据,从而进一步优化健康基线模型、提升异常判定准度。
优选地,第一步所述的健康基线构建方法,首先对训练数据开展FFT频谱变换,然后进行RMS压缩变换处理构建输入向量,最后利用训练数据的输入向量完成健康基线构建。
优选地,所述健康基线包括SAE模型及健康状态表征集,其中,利用训练数据训练SAE模型,训练完成的SAE模型可以实现高维输入向量的非线性、自适应变换,并生成健康向量,进而将全部训练数据中由正常数据得到的健康向量构成健康表征集,形成健康状态的自适应量化表征。
优选地,第二步所述基线统计阈值生成方法,包括分布-样本马氏距离度量与阈值自适应生成,其中,分布-样本马氏距离度量计算健康表征集总体分布与各训练样本健康向量间的马氏距离,实现个体差异的量化度量;进而,对上述生成的马氏距离序列进行统计分布计算,结合统计原则实现基线阈值自适应生成。
优选地,第三步所述实时异常判定方法,首先对测试数据开展FFT频谱变换,然后进行RMS压缩变换处理构建输入向量,基于健康基线获取测试数据输入向量的实时马氏距离,若实时马氏距离超过基线统计阈值,则判定直升机传动轴当前状态为异常,反之为正常。
优选地,上述基于健康基线获取测试数据实时马氏距离的方法,其健康基线包括训练完成的SAE模型及健康表征集,首先将测试数据输入向量送入SAE模型,得到实时状态向量;进而计算实时状态向量与健康表征集间的马氏距离,从而获取实时马氏距离。
本发明的优点与积极效果在于:
(1)通过基于SAE的健康基线构建方法,能够在尽可能少依赖先验知识的情况下,可以通过深层非线性变换,自适应地提取直升机传动轴的健康表征向量,具备较强的通用性和扩展性;
(2)针对直升机传动轴历史异常数据匮乏、异常判定阈值设定过于主观的实际问题,提出了一种基线统计阈值自适应生成方法,为直升机正常/异常状态判定提供了更为客观、自适应的评判标准;
(3)本发明充分考虑直升机传动轴异常样本匮乏的实际特点,可以仅利用正常数据完成健康基线构建与阈值生成,进而实现有效的异常判定;在上述正常数据基础上,若引入部分异常数据,则可进一步提升健康基线构建效果以及异常判定准确度,能够有效的解决当前实际工程问题。
附图说明
图1为本发明流程方框图;
图2为实施例一原始振动信号图;
图3为实施例一训练数据FFT频谱变换图;
图4为实施例一训练数据RMS压缩变换处理图;
图5为实施例一训练损失图线图;
图6为实施例一健康表征集散点图可视化图;
图7为实施例一测试数据频谱变换图;
图8为实施例一测试数据RMS压缩变换图。
图9为实施例一实时状态向量散点图可视化图;
图10为实施例一测试数据异常判定结果示意图;
图11为实施例二原始振动信号图;
图12为实施例二训练数据频谱变换图;
图13为实施例二训练数据RMS压缩变换处理图;
图14为实施例二训练损失图线图;
图15为实施例二健康表征散点图可视化图;
图16为实施例二测试数据频谱变换图;
图17为实施例二测试数据RMS压缩变换图;
图18为实施例二实时状态特征散点图可视化图;
图19为实施例二测试数据异常判定结果示意图。
具体实施方式
本发明提出了一种基于SAE与马氏距离的直升机传动轴异常判定方法。该方法步骤如下:
步骤一、健康基线构建S1:基于直升机传动轴全部正常数据,或大量正常数据和少量异常数据,提出了一种直升机传动轴健康基线构建方法,实现直升机传动轴健康状态的自适应表征。其具体步骤如下所述:
101:获取直升机传动轴监测参数样本(N个)组成训练数据,训练数据可仅包含正常数据,或包含大量正常数据与少量异常数据。其监测参数为:时域振动信号;
102:将上述各时域振动信号样本,变换为频谱信号。其中,频谱变换方法采用傅里叶变换(FFT);
103:进而,对上述变换后的高维频域特征信号进行RMS压缩变换处理,得到相对较低维度的输入向量,从而降低健康基线模型过拟合风险,提升模型构建质量。其关键环节包括:
103-1:给定频域特征信号,利用一定长度的滑窗对其进行分割,得到局部频谱信号;
103-2:对每个局部频谱信号,分别计算其均方根值(RMS),并进行拼接,得到压缩变换后的输入向量;
104:利用直升机传动轴训练数据变换得到的输入向量样本,将其输入堆叠自编码器模型(SAE),得到训练完毕的SAE模型与M个由训练数据中正常样本得到的健康向量(M≤N),以此作为表征直升机传动轴的健康基线。其关键环节包括:
104-1:搭建SAE模型,上述模型应包含编码层、特征层、解码层;
104-2:配置SAE模型,模型配置项应包括:健康向量维度、模型层数、Dropout比例、批归一化维度、模型训练轮次、学习率、优化器和损失函数;其中,健康向量维度,即为经过SAE模型编码层、特征层变换后向量的维度。
104-3:将训练数据输入搭建、配置完毕的SAE模型,进行模型训练,当训练轮次到达预设配置值,终止训练。
104-4:对训练完毕的SAE模型进行调整:保留其编码层、特征层,去除解码层。将上述训练数据中的N个输入向量,依次输入到调整后的SAE模型,经过编码层、特征层变换后,得到对应的N个输出向量。其中,从上述N个输出向量选取由训练数据正常样本得到的部分(设为M个),上述M个正常数据的来的输出向量即为直升机传动轴健康状态的表征,即健康向量;由训练数据得到的M个健康向量集合,为健康表征集。
105-5:收集调整后的SAE模型和健康表征集,以此作为该直升机健康状态的健康基线。
步骤二、基线统计阈值生成S2:基于构建的健康基线,提出了一种直升机传动轴基线统计阈值生成方法,实现正常、异常状态量化区分标准的自适应表征。其具体步骤如下所述:
201:利用步骤一所述的健康表征集,计算其整体分布均值向量与协方差方阵,记为U和C。其中,向量U与方阵C的维度与步骤一配置的“健康向量维度”一致;
202:利用分布均值向量U与分布协方差方阵C,依次计算其与健康表征集中各健康向量之间的马氏距离,得到M个基线马氏距离,上述距离集合描述了正常状态下距离结果的波动情况;
203:基于上述M个基线马氏距离,利用统计6σ原则,生成直升机传动轴基线统计阈值。其计算方法如下所示:
T=μ+6σ
其中,μ为基线马氏距离的均值,σ为基线马氏距离的标准差值,T为基线统计阈值。基线统计阈值T即为区分直升机正常/异常状态的判定标准。
步骤三、实时异常判定S3:基于构建的健康基线,给定测试数据,提出了一种直升机传动轴实时异常判定方法,实现传动轴状态的自动实时判定。其具体步骤如下所述:
301:获取实时的测试数据。其监测参数类别应与步骤一相同;
302:对测试数据中各振动信号样本重复步骤102、103操作,得到实时的测试数据输入向量;
303:将上述实时测试数据输入向量,送入到步骤一得到的训练、调整后的SAE模型,获取经过编码层、特征层转换的输出向量,即实时状态向量。该实时状态向量是直升机传动轴实时状态的量化表征;
304:基于步骤一得到的健康表征集,以及步骤二得到的基线统计阈值,对实时状态向量进行阈值异常判定,实现直升机传动轴状态实时检测。其关键环节包括:
304-1:马氏距离度量,计算健康表征集的分布均值向量U与分布协方差方阵C(如步骤201所述),并利用该U、C计算健康表征集与实时状态向量样本间的马氏距离,实现实时状态与历史健康状态间的量化差异度量;
304-2:阈值异常判定,基于步骤二得到的基线统计阈值,判断实时状态向量马氏距离是否超过阈值,若超出则判定实时状态为异常,反之则为正常。
以上为提出的一种基于SAE与马氏距离的直升机传动轴异常判定方法。
具体实施例
本发明所提出的一种基于SAE与马氏距离的直升机传动轴异常判定方法如图1所示。图1本发明流程方框图。
根据实际中常见的2类典型数据场景(仅包含正常数据、包含大量正常数据和少量异常数据),本发明提供两套实施例,本领域技术人员可由本说明书所描述的内容轻易地了解本发明的其他优点与功效。实施例一、二分别如下所述。
具体实施例一
1健康基线构建
101:针对实际中常见的仅存在正常数据的场景,仅选取正常状态下直升机传动轴监测参数样本组成训练数据,本发明中采用振动信号作为直升机传动轴状态表征信号。具体地,实施例一的训练数据细节如表1所示。
表1:实施例一的训练数据细节表
从上述训练数据中选取某个正常样本,其可视化结果如图2所示,由图可知,原始振动信号表现出高频特性,难以直接判断对象的实际状态,因此需要进一步进行变换处理。图2实施例一原始振动信号图。
102:将上述各时域振动信号样本,通过FFT变换,得到频谱信号,可视化结果如图3所示,由图可知,经过频谱变换后,反映对象状态的频域特性信息更加凸显。图3实施例一训练数据FFT频谱变换图。
103:进而,对上述变换后的高维频域特征信号进行RMS压缩变换处理,得到相对较低维度的输入向量。具体步骤如下:
103-1:给定频域特征信号,利用滑窗对其进行分割,得到局部频域特征信号;
103-2:对每个局部频域特征信号,选取压缩特征维数为512,对12000Hz以下频谱特征压缩为512×1的RMS压缩变换向量。特征压缩结果如图4所示,由图可知,经过特征压缩处理后的输入向量,信号特性被较好地保留、冗余组分被压缩剔除,图4实施例一训练数据RMS压缩变换处理图。
104:利用上述步骤得到的直升机传动轴训练数据输入向量,将其输入SAE模型,训练SAE模型,得到训练好的SAE模型以及健康向量,以此作为表征直升机传动轴的健康基线,步骤包括:
104-1:搭建SAE模型,上述模型包含编码层、特征层、解码层,具体架构细节如表2所示。
表2:SAE模型结构设置表
104-2:SAE模型相关配置——健康向量维度、模型层数、Dropout比例、批归一化维度、模型训练轮次、学习率、优化器和损失函数的具体信息如表3所示:
表3:SAE模型相关配置表
104-3:将训练数据输入搭建、配置完毕的SAE模型,进行模型训练,当训练轮次为350,损失函数到达预设配置值,终止训练,模型训练损失可视化如图5所示。由图可知,随着训练轮次增加,模型训练损失不断降低,表明模型训练有效。图5实施例一训练损失图线图。
104-4:保留训练完毕的SAE模型的编码层、特征层,去除解码层。并将上述训练数据中的输入向量依次输入到调整后的SAE模型,经过编码层、特征层变换后,得到对应的输出向量。上述各输出的向量集合即为直升机传动轴健康状态的表征,即健康向量集合,健康向量维度设置为2,健康表征集散点图如图6所示。图6实施例一健康表征集散点图可视化。
105-5:收集调整后的SAE模型和健康表征集,以此作为该直升机健康状态的健康基线。由于本实施例中训练数据全部由正常样本组成,因此健康表征集中的健康向量个数与总体样本数一致,即199。
2基线阈值生成
201:选取步骤一所述的健康表征集,计算其整体分布均值向量与协方差方阵,记为U和C。其中,向量U与方阵C的维度与步骤一配置的“健康向量维度”一致;
202:利用分布均值向量U与分布协方差方阵C,依次计算其与健康表征集中各健康向量之间的马氏距离作为基线距离,用于描述直升机正常状态下距离结果的基线波动情况;
203:基于上述基线马氏距离,利用统计6σ原则,生成直升机传动轴基线统计阈值。计算方法如下所示:
T=μ+6σ
其中,基线马氏距离的均值μ=1.2143,基线马氏距离的标准差值σ=0.7179,基线统计阈值T=5.5214。将基线统计阈值T为区分直升机正常/异常状态的判定标准。
3实时异常判定
301:获取实时的测试数据,测试数据细节如表4所示:
表4:实施例一的测试数据细节表
302:对测试数据中各振动信号样本重复步骤102、103操作,得到实时的输入向量,傅里叶变换与RMS压缩后可视化结果如图7、图8所示,由图可知,经过变换后的输入向量其信号特性更为凸显,图7实施例一测试数据频谱变换,图8实施例一测试数据RMS压缩变换。
303:将上述的测试数据实时输入向量,送入到步骤一得到的训练、调整后的SAE模型,获取经过编码层、特征层转换的输出向量作为直升机传动轴实时状态的量化表征,实时状态表征集散点图如图9所示,由图可知,正常与异常状态下的实时状态表征散点区分度高、重叠度低,初步证明了状态表征结果的有效性。图9实施例一实时状态向量散点图可视化。
304:基于步骤一得到的健康表征集,以及步骤二得到的基线统计阈值,对实时测试数据样本进行阈值异常判定,实现直升机传动轴状态实时检测。其步骤包括:
304-1:马氏距离度量,计算健康表征集的分布均值向量U与分布协方差方阵C(如步骤201所述),并利用该U、C计算健康表征集与测试状态向量样本间的马氏距离,实现实时状态向量与历史健康表征集间的量化差异度量,测试数据中的正常样本状态向量与异常样本状态向量的马氏距离如图10所示:由图可知,正常样本距离值均处于基线统计阈值以下,异常样本距离值几乎均处于基线统计阈值以上,证明了方法的有效性。图10实施例一测试数据异常判定结果示意。
304-2:阈值异常判定,基于步骤二得到的基线统计阈值,判断实时测试样本马氏距离是否超过阈值,若超出则判定实时状态为异常,反之则为正常。基于上述方法开展异常判定,判定结果以混淆矩阵的形式进行展示,其结果如表5所示,准确度计算公式如下所示:
表5:实施例一的异常判定量化结果表
具体实施例二
1健康基线构建
101:针对实际中常见的直升机传动轴正常数据量较多、异常数据量较少的场景,选取大量正常状态直升机传动轴监测参数样本和少量异常状态监测参数样本组成训练数据,本发明中采用振动信号作为直升机传动轴状态表征信号。具体地,实施例二中训练数据细节如表6所示。
表6:实施例二的训练数据细节表
从上述训练数据中选取某个异常样本,其可视化结果如图11所示:由图可知,原始振动信号表现出高频特性,难以直接判断对象的实际状态,因此需要进一步进行变换处理。图11实施例二原始振动信号。
102:将上述各时域振动信号样本,通过FFT变换,变换为频谱信号,可视化结果如图12所示:由图可知,经过频谱变换后,反映对象状态的频域特性信息更加凸显。图12实施例二训练数据频谱变换。
103:进而,对上述变换后的高维频谱信号进行压缩变换处理,得到相对较低维度的输入向量。具体步骤如下:
103-1:给定频域特征信号,利用滑窗对其进行分割,得到局部频域特征信号;
103-2:对每个局部频域特征信号,选取压缩特征维数为512,对12000Hz以下频谱特征压缩为512×1的RMS压缩变换向量,即输入向量。压缩变换结果如图13所示,由图可知,经过特征压缩处理后的输入向量,信号特性被较好地保留、冗余组分被压缩剔除。图13实施例二训练数据RMS压缩变换处理。
104:利用上述步骤得到的直升机传动轴训练数据全部输入向量样本,将其输入堆叠自编码器模型(SAE),训练SAE模型,得到训练好的SAE模型以及健康向量,以此作为表征直升机传动轴的健康基线,步骤包括:
104-1:搭建SAE模型,上述模型的编码层、特征层、解码层信息与实施例一相同;
104-2:SAE模型相关配置——健康向量维度、模型层数、Dropout比例、批归一化维度、模型训练轮次、学习率、优化器和损失函数与实施例一相同;
104-3:将训练数据输入搭建、配置完毕的SAE模型,进行模型训练,当训练轮次为350,损失函数到达预设配置值,终止训练,模型训练损失可视化如图14所示,由图可知随着训练轮次增加,模型训练损失不断降低,表明模型训练有效。图14实施例二训练损失图线。
104-4:保留训练完毕的SAE模型的编码层、特征层,去除解码层。并将上述训练数据中的输入向量依次输入到调整后的SAE模型,经过编码层、特征层变换后,得到对应的输出向量。上述各输出的向量集合即为直升机传动轴健康状态的表征,即健康向量集合,健康表征维度设置为2,健康表征集散点图如图15所示:,图15实施例二健康表征散点图可视化。
105-5:收集调整后的SAE模型和健康表征集,以此作为该直升机健康状态的健康基线。其中,本实施例训练数据包含199正常样本和14异常样本,仅选取由正常样本变换得到的健康向量作为健康表征集,即本实施例中健康表征集中健康向量个数为14。
2基线统计阈值生成
201:选取步骤一所述的健康表征集,计算其整体分布均值向量与协方差方阵,记为U和C。其中,向量U与方阵C的维度与步骤一配置的“健康向量维度”一致;
202:利用分布均值向量U与分布协方差方阵C,依次计算其与健康表征集中各健康向量之间的马氏距离作为基线距离,用于描述直升机正常状态下距离结果的基线波动情况。
203:基于上述基线马氏距离,利用统计6σ原则,生成直升机传动轴基线统计阈值。计算方法如下所示:
T=μ+6σ
其中,基线马氏距离的均值μ=1.2552,基线马氏距离的标准差值σ=0.6438,基线统计阈值T=5.1179。将基线统计阈值T为区分直升机正常/异常状态的判定标准。
3实时异常判定
301:获取实时的测试数据,实施例二测试数据与实施例一保持一致;
302:对测试数据中各振动信号样本重复步骤102、103操作,得到实时的压缩变换输入向量,傅里叶变换与RMS压缩后可视化结如图16、图17所示:由图可知,经过变换后的输入向量其信号特性更为凸显。图16实施例二测试数据频谱变换、图17实施例二测试数据RMS压缩变换。
303:将上述实时输入向量,送入到步骤一得到的训练、调整后的SAE模型,获取经过编码层、特征层转换的输出向量作为直升机传动轴实时状态的量化表征,即实时状态向量。其散点图如图18所示:由图可知,正常与异常状态下的实时状态表征散点区分度高、重叠度低,初步证明了状态表征结果的有效性。图18实施例二实时状态特征散点图可视化。
304:基于步骤一得到的健康表征集,以及步骤二得到的基线统计阈值,对实时测试数据数据进行阈值异常判定,实现直升机传动轴状态实时检测。其步骤包括:
304-1:马氏距离度量,计算健康表征集的分布均值向量U与分布协方差方阵C(如步骤201所述),并利用该U、C计算健康表征集与测试状态向量样本间的马氏距离,实现实时状态与历史健康状态间的量化差异度量。其差异度量结果如图19所示:由图可知,正常样本距离值均处于基线统计阈值以下,异常样本距离值均处于基线统计阈值以上,证明了方法的有效性,图19实施例二测试数据异常判定结果示意。
304-2:阈值异常判定,基于步骤二得到的基线统计阈值,判断实时状态向量马氏距离是否超过阈值,若超出则判定实时状态为异常,反之则为正常。基于上述方法开展异常判定,判定结果以混淆矩阵的形式进行展示,其结果如表7所示,准确度计算公式如下所示:
表7:实施例二的异常判定量化结果表
由混淆矩阵结果所示,本实施例中,在正常样本基础上(199个),引入了少量异常样本(14个)构建训练数据后,本发明所提方法在相同测试数据上的准确度达到100%。较实施例一(全部由正常样本构建训练数据)准确度进一步提升5.97%,证明了本文方法在异常样本匮乏的实际条件下的有效性与优越性。
需要注意的是,本申请公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
- 一种基于SAE与马氏距离的直升机传动轴异常判定方法
- 一种基于交叉熵联合马氏距离的网络异常流量检测方法