基于CAE和OCSVM的地铁道岔异常检测
Anomaly Detection of Metro Railway Turnout Based on CAE and OCSVM
摘要: 为提高地铁道岔设备异常检测的准确率,提出了基于卷积自编码器与单类支持向量机的异常检测框架。以ZDJ9型交流电动转辙机为研究对象,使用现场运行过程中采集到的三相电流数据。首先,在数据预处理阶段,为保留原始数据的时频信息,本文利用短时傅里叶变换将原始一维时间序列数据转化为时频矩阵。同时,为综合利用多域信息,将每一相电流数据所对应的时频图堆叠,构成三维特征信息。然后,采用卷积自编码器对预处理后的图像数据进行进一步的降维与特征提取。最后,将提取出的特征输入到单类支持向量机进行异常检测模型训练。实验结果表明,相较于直接使用原始一维时间序列进行异常检测,结合时频与多域信息的模型具有更高的准确率以及F1-Score。
Abstract: To improve the accuracy of metro turnout equipment anomaly detection, an anomaly detection framework based on the convolutional autoencoder and one-class support vector machine is proposed herein. Taking ZDJ9 AC electric switch machine as the research object, the three-phase current data collected during field operation are used. First, in the data preprocessing stage, to preserve the time-frequency information of the original data, the short time Fourier transform is used to convert the original one-dimensional time series data into a time-frequency matrix in this paper. At the same time, in order to comprehensively utilize multi-domain information, the time-frequency diagrams corresponding to each phase of current data are stacked to form three-dimensional feature information. Then, a convolutional autoencoder is used to perform further dimension reduction and feature extraction of the preprocessed image data. Finally, the extracted features are input to a one-class support vector machine for anomaly detection model training. The experimental results show that the model combining time-frequency and multi-domain information has higher accuracy and F1-Score than directly using the original one-dimensional time series for anomaly detection.
文章引用:张帅, 徐中伟, 陈琛, 梅萌. 基于CAE和OCSVM的地铁道岔异常检测[J]. 计算机科学与应用, 2022, 12(11): 2481-2491. https://doi.org/10.12677/CSA.2022.1211254

1. 引言

近年来,由于中国铁路行业的迅速发展,轨道交通对人们的出行提供了极大的便利。铁路上相关设备的正常运行是保证列车安全高效运行的关键因素,因此,在快速发展的铁路行业中,对铁路信号设备维护工作的要求也越来越高。道岔作为铁路信号设备中的重要基础设备之一,控制列车在不同进路间转换,是保证列车安全高效运行的不可或缺的关键节点。道岔由于工作负荷大、工作环境恶劣等特点,容易出现故障,进而导致一系列的问题,比如列车晚点、列车脱轨等,对人们的生命财产安全产生巨大威胁。

在实际现场环境中,道岔设备工作电流曲线被视为判断其工作状态的重要指标。工作人员往往是通过观察信号集中监测系统中采集到的道岔转换过程中电流曲线来判断道岔在转换过程中的整体的工作情况。在发生故障时需要维护人员利用工作经验以及专业知识处理故障。这种方式往往无法及时地识别出故障,而且由于维护人员自身能力等因素,极易导致误报与漏报的情况的频繁发生 [1]。这在对铁路系统的运行带来安全隐患的同时,也浪费了大量的物力人力。因此,以机器为主导的智能化道岔设备运行状态异常检测有着重要的现实意义。

随着轨道交通行业的快速发展,针对道岔设备进行异常检测的研究已成为人们的研究重点 [2]。目前,基于数据驱动的道岔设备异常检测智能方法主要可以分为三个步骤:数据预处理、特征提取以及模型构建。在数据预处理方面,现有研究大多是直接保留采集到的动作电流曲线与功率曲线等原始一维数组。在提取特征信息部分,主要利用曲线距离度量技术与信号处理技术完成初步信息提取。如根据弗雷歇距离、快速动态时间规整等来计算待测曲线与标准模板之间的相似度 [3] [4],利用小波变换提取时频特征信息等等 [5]。随着人工智能技术在各领域内的研究与应用不断成熟,浅层机器学习模型在道岔异常检测模型构建等方面实现了相关技术的应用。如结合支持向量机、K最近邻算法等分类器进行道岔异常检测与故障类型的判定 [6] [7] [8] [9] [10]。尽管这些方法也被证明有效,但是对专家经验的依赖度很高。

随着深度学习的快速发展,利用深度学习进行自动特征提取能够有效降低对专家经验的依赖。Zhang等人提出了结合卷积神经网络提取深层次的特征信息并降低数据维度的方法 [11]。Zhuang等人提出了一种用于高速铁路道岔异常检测方法,结合深度降噪自编码器自动提取特征 [12]。Guo等人先后提出了结合堆叠式自编码器的只利用正样本进行异常检测模型训练的方法 [13],以及结合部分故障数据作为先验知识的异常检测方法 [14]。然而,这些工作仅将时间序列数据以一维的形式直接输入到自编码器中,丢失了原始数据时间维度信息。

针对上述方法存在的局限性,本文提出了一种基于卷积自编码器(Convolutional Autoencoder, CAE)与单类支持向量机(One-Class Support Vector Machine, OCSVM)的异常检测框架。该方法利用短时傅里叶变换生成原始三相电流数据的时频信息,并堆叠组成三个维度,有效利用了时频与多域信息。进一步利用卷积自编码器对包含多源数据的三维时频图进行数据降维和特征提取,最后,将预处理得到的特征信息输入至单类支持向量机进行模型的训练与测试。卷积自编码器能够对三维时频信息进行数据降维与特征提取,在保留关键特征信息的同时,对高维度的频谱图实现降维。模型训练阶段只需采取正样本,对原始数据标注的要求大大降低,减轻了对专家知识的依赖。此外,采用现场采集的ZDJ9型交流电动转辙机真实运行数据进行模型训练与测试,更具有实际意义。

2. 算法理论

道岔异常检测的一般流程分成三部分:数据预处理、特征提取以及模型构建。本文中这三部分采取的算法分别是:利用短时傅里叶变换进行道岔动作电流时频信息提取、利用卷积自编码器进行频谱信息降维与特征提取以及利用单类支持向量机进行异常检测模型训练。下面对这三部分所涉及到的相关算法原理进行介绍。

2.1. 短时傅里叶变换

现场采集到的动作电流曲线可以看成一组时间序列。而对时间序列信号而言,其所包含的频域信息是至关重要的一个特征。短时傅里叶变换(Short Time Fourier Transform, STFT)的基本思想如下:对原始的信号进行分帧,分别对每一帧信号进行快速傅里叶变换,可根据需要加上相应的窗函数,同时,为了避免相邻两帧之间的信息差异过大,人为的规定前后两帧之间有部分的重叠。具体的计算公式如下:

X ( f , t ) = n = 0 N 1 w ( n ) x ( H t + n ) e j 2 π f n N (1)

其中,t表示帧的长度, w ( n ) 表示窗函数,一般采用汉宁窗,N表示窗长,即对分帧后的信号做N点快速傅里叶变换,H表示每次移动的长度。

在此基础上,对变换后得到的频域的序列取模,得到的就是幅度谱信息。在对时间序列信号进行处理的过程中,经常都是对频域中的幅度信息进行处理加工,而这样做的主要原因是,相比于包含相位信息的复数数据,仅包含幅度信息的实数数据更容易可视化。可视化的方式是将时间和频率作为图片的坐标点,唯一标识某一特定像素点,幅度作为对应点的值,得到一张包含时间和频率信息的时频图。

Figure 1. Basic structure of convolutional autoencoder

图1. 卷积自编码器基本结构

2.2. 卷积自编码器

自编码器是深度学习领域进行特征提取的一种重要方法,其本身是一种无监督学习算法,提取特征的思想是将输入信息进行压缩,然后在中间隐层提取出数据中最具代表性的信息。其优点是在保证重要特征不丢失的情况下,降低输入信息的维度,有效减少了专家经验的参与。自编码器按照结构特性可以分为两部分:编码和解码。在编码和解码之间的一层就是所提取到的原始数据的特征信息。卷积自编码器的基本结构如图1所示。卷积自编码器将卷积运算引入编码和解码环节,通过卷积运算提供了强大的特征提取能力。在编码部分,卷积和池化用于将高维数据映射到低维特征空间。在解码部分,特征空间通过反卷积和反池化重构为原始数据。中间隐藏层可以有效地表示原始数据深层次特征。

2.3. 单类支持向量机

单类支持向量机的原理与一般支持向量机的原理类似,只是训练数据只有一类样本,可以看成原点作为唯一的负样本来训练支持向量机。目标是构建数据与原点之间的超平面,使得超平面与原点之间的距离最大化。假设超平面的表达式为:

w Φ ( x ) ρ = 0 (2)

计算目标就是在保证分类是正确的基础之上最大化超平面距离原点的距离:

max w m , ρ ρ / w 2 subjectto ( w Φ ( x i ) ) ρ , i = 1 , 2, , N (3)

其中,N表示训练数据样本数量。

由于训练数据很难完全真正代表正样本类别的真实分布,可以引入松弛变量 ξ 使得模型具有一定的容错性与泛化能力:

min w , ξ m , ρ 1 2 w 2 1 ν ξ i ρ subjectto ( w Φ ( x i ) ) ρ ξ i , ξ i 0 , i = 1 , 2, , N (4)

单类支持向量机特点在于在进行模型训练的过程中,只有正样本参与,让模型学习得到正样本的特征。在得到新数据之后,模型能够判断待测数据是否属于正样本类别。这在需要对数据进行异常检测的场景下有着重要的意义。

3. 基于CAE和OCSVM的道岔异常检测框架

本文异常检测框架具体结构如图2所示。在模型训练时,处理流程如下:首先,将原始动作电流信号经过短时傅里叶变换得到对应的时频图,在绘制出彩色图的基础上将彩色图灰度化得到对应的灰度图,并将三相电流堆叠,充分利用多域特征;其次,将处理后得到的包含原始数据时频信息的灰度图输入到卷积自编码器进行数据降维,并将卷积自编码器模型中的编码部分保存;最后,将卷积自编码器隐藏层中的特征信息作为单类支持向量机的输入,训练得到道岔异常检测模型。在验证模型性能时,首先,对待测数据进行时频特征提取,之后,应用训练后得到的编码器模型对数据降维,最后,将经编码器降维后的数据输入到异常检测模型中进行测试。

3.1. 数据集介绍

ZDJ9的电流曲线包括具有380V三相交流电的A、B和C三相电流,如图3所示。转换过程可以分为四个阶段。

Figure 2. Anomaly detection structure of turnout based on CAE and OCSVM

图2. 基于CAE和OCSVM的道岔异常检测结构

1) 解锁(T0~T1)

在T0到T1阶段,机器启动后,必须克服强大的阻力才能完成解锁。因此,电机需要提供强大的动力支持。电流迅速增加,在曲线上显示出突出的脉冲峰值。之后,功率和电流恢复到标准水平。

2) 转换(T1~T2)

与解锁阶段相比,转换过程需要较小的阻力和相对较小的功率。这个过程是耗时的,并且功率保持在相对稳定的值。曲线也保持一条平滑的直线,略有波动。

3) 锁闭(T2~T3)

转换过程完成后,道岔设备各部分位置需要固定,不允许导轨因受外力影响而产生移动。

4) 慢放(T3~T4)

当锁定阶段结束后,设备状态转换完成,道岔设备工作电流迅速下降。

ZDJ9型电动交流转辙机转动道岔需要7~9秒才能完成一次状态转换,本文对其以25 Hz的频率按照8秒的工作时间时间进行采样,最终每一相可以采集到200个样本点,每一组三相电流共600个采样点。本次实验所采用的数据是来自现场采集到的1300条动作电流曲线,其中,300条为故障样本。将正常样本中的700条用在训练模型阶段,剩余的300条正常样本与所有的故障样本一起组成测试集。

3.2. 数据预处理

在道岔动作过程中采集到的电流变化情况可以看成一组时间序列,对其进行短时傅里叶变换能够详细的了解到每一小段时间间隔内的频率分布情况。本文实验中所涉及到短时傅里叶变换的地方,均采用统一的参数配置,即窗函数采取汉宁窗、窗函数长度为32点以及窗函数的重叠为16点。再将三组时频图堆叠在一起,得到一组整合了多域特征信息的三维数据。如图4所示,处理后的数据不仅包含频域关于时间的变化信息,而且能够将原始数据的不同维度信息以统一的形式保存下来,充分利用了原始数据的空间结构信息。

Figure 3. Three-phase action current curve of ZDJ9 AC electric switch machine

图3. ZDJ9型交流电动转辙机三相动作电流曲线

Figure 4. The result of the short time Fourier transform and grayscale processing of original data

图4. 原始数据经过短时傅里叶变换及灰度化处理后的结果

3.3. 特征提取

将三维时频图作为卷积自编码器的输入,训练目标是让卷积自编码器的输出最大程度上的与输入相似。当模型收敛时,隐藏层就可以被认为是能够表征输入数据的特征信息,进而在保留主要特征的前提下降低输入数据的维度。

原始三相电流数据经过时频特征提取部分处理后,每个样本的数据维度为m × n × 3,可以表示为:

X m × n × 3 = ( X 1 X 2 X 3 ) , X i = ( x 11 x 12 x 1 n x 21 x 22 x 2 n x m 1 x m 2 x m n ) , i = 1 , 2 , 3 (5)

如果直接将此数据输入至异常检测分类其中进行训练,高维的训练数据会导致模型的计算量很大的同时,也会是模型更难收敛,严重影响性能。卷积自编码器能够实现数据降维,数据在卷积自编码器中的流动情况如下。

首先是经过编码器部分的一系列的卷积池化操作,得到隐藏层数据。将原始数据的第三维度看作通道数,这就与每一层卷积核的数量变化引起的通道数变化相对应。在每一层卷积操作中,利用二维卷积核,对于每一个卷积核,将依次与每一个通道进行同样的卷积操作,之后将运算后的三维数据叠加,得到一个新的通道。池化操作利用最大值池化原理,将每一块小矩阵中的最大值保留,不重叠的移动窗口,实现对前两个维度的改变。最终的输出时每一层卷积以及池化操作的叠加,可以将内部所有的运算抽象为:

H m × n × 1 = f ( X m × n × 3 ) (6)

其次是解码器部分。解码器目标是重构出与原始输入数据维度一致的输出。与编码器的卷积和池化操作相对应的就是反卷积与反池化操作。反卷积原理与卷积一致。反池化就是上采样,一个常用的方式是将原始的每一个点都重复的扩充为一个小矩阵,实现与池化的逆过程,同样可以将内部所有的运算抽象为:

Y m × n × 3 = g ( H m × n × 1 ) (7)

最后,训练目标是让解码器部分的输出与原始输入之间的损失最小。损失函数采用二进制交叉熵函数 [15],定义为:

d i s t B C E ( X m × n × 3 , Y m × n × 3 ) = 1 3 m n i = 1 m j = n k = 1 3 [ x i , j , k log y i , j , k + ( 1 x i , j , k ) log ( 1 y i , j , k ) ] (8)

具体的网络结构如表1所示,其中,编码器的输出就是解码器的输入,也就是自编码器中隐藏的特征层。可以看出,原始时频信息图的结构为420 × 600 × 3,经过卷积自编码器处理后的特征信息结构为35 × 25 × 1,大大降低了数据维度。在模型训练后,编码器部分将被单独保存下来留作测试使用。此外,在具体实验过程中,除了解码器输出层选取的激活函数为Sigmoid函数之外,其余各层的激活函数均选取ReLU激活函数,卷积核的尺寸均为3 × 3,损失函数为二进制交叉熵。

Table 1. The convolutional autoencoder network structure used in this paper

表1. 本文实验所用卷积自编码器网络结构

3.4. 道岔异常检测

卷积自编码器中间层的特征维度为35 × 25 × 1,在输入到单类支持向量机之前,需要将其展开成一维形式:

H 32 × 25 = ( x 1 , 1 x 1 , 2 x 1 , 25 x 2 , 1 x 2 , 2 x 2 , 25 x 35 , 1 x 35 , 2 x 35 , 25 ) Φ ( x ) = ( x 1 , 1 x 2 , 1 x 35 , 1 x 1 , 2 x 2 , 2 x 35 , 25 ) (9)

由于训练数据往往在原空间的分布不是线性可分的,且当线性不可分时,单类支持向量机的线性模型就难以给出解答,因此,在应用中往往会将训练数据从原空间映射到新的目标空间中,而为了简化这一过程,比较常用的一种做法是引入核函数代替原始数据经过映射后的内积。本文的实验中采取的核函数为高斯核函数:

K ( X , X ) = f ( Φ ( x ) Φ T ( x ) ) = e X X 2 2 σ 2 (10)

高斯核函数理论上是能够将数据映射至无限维度,同时只有一个可调节的参数 σ ,降低了对单类支持向量机模型参数调节的复杂度。

4. 实验设计与结果分析

为了验证算法的性能,本文将利用ZDJ9道岔在现场运行过程中采集到的真实的三相动作电流数据进行实验分析,并设置不同方法的对比试验。实验所用深度学习框架为Python 3.6.13、Tensorflow 2.2.0以及Keras 2.4.3的组合,所有的模型均在带有NVIDIA GeForce GTX 1650 GPU、i5-9300H CPU以及24 GB RAM的硬件平台上实现。

4.1. 实验评价指标

主要选择以下四个指标对模型的性能进行评价:准确率,精准度,召回率以及F1-Score。

A c c u r a c y = T P + T N T P + T N + F P + F N (11)

P r e c i s i o n = T P T P + F P (12)

R e c a l l = T P T P + F N (13)

F 1 - S c o r e = 2 1 R e c a l l + 1 P r e c i s i o n (14)

其中,TP表示真阳,即将正样本预测为正样本的数量;TN表示真阴,即将负样本预测为负样本的数量;FP表示假阳,即将负样本预测为正样本的数量;FN表示假阴,即将正样本预测为负样本的数量。Accuracy表示测试集上总体的正确率;Precision表示精准度,即被分类器判定正例中的正样本的比重;Recall表示召回率,即被预测为正例的占总的正例的比重;F1-Score表示对预测精确度的一种综合度量。

4.2. 实验结果与分析

通过观察图5中损失函数值随着迭代次数的变化情况可以看出,当迭代次数超过15次时,损失值的变化情况趋于平缓,为保证卷积自编码器能够收敛,实验过程中均选择迭代次数为20次。

Figure 5. Convolutional autoencoder loss function value changes with the number of iterations

图5. 卷积自编码器损失函数值随迭代次数变化情况

首先是为了验证在上文中设置的卷积自编码器的参数能够让卷积自编码器有着较为良好的性能,分别将时频图和动作电流曲线图作为输入,对比输入与卷积自编码器输出之间的差异。其次,为了验证本文方法在异常检测任务上的性能,共设置了4组对比实验来对特征提取模块进行详细对比分析,异常检测部分采取的分类器均为单类支持向量机。比对实验的设置分别是:1) 使用一维时间序列;2) 利用自编码器对原始一维时间序列降维;3) 使用时频信息;4) 利用自编码器将时频信息数据降维。本文方法则是将时频信息保存为时频图后,利用卷积自编码器进行降维。

实验结果如图6表2所示。从整体对比分析中可以发现,输入与输出的基本轮廓是一致的,卷积自编码器的收敛效果较好,说明卷积自编码器中隐藏层部分能够以更低的维度表征高维空间的数据分布。且本文方法准确率与F1-Score均有着最佳的表现,且其假阴的数值更低,说明在保证了较高的整体检测率的情况下,对异常样本的漏报次数更低,更具有实际意义。

此外,从实验结果中还可以看出,使用了自编码器并不能确保对性能有所提升,这说明自编码器在压缩数据过程中,部分关键信息有所丢失,使得在可解释性方面的说服力不强。这也是本文方法需要进一步研究的方向,即往算法的可解释性方面继续研究。

Figure 6. The reconstruction of the input data by the convolutional autoencoder (left: input, right: output; top: action current map, bottom: time-frequency information map)

图6. 卷积自编码器对输入数据的重构情况(左:输入,右:输出;上:动作电流图,下:时频信息图)

Table 2. Abnormal detection results of different methods

表2. 不同方法异常检测结果

5. 结束语

为了提高地铁道岔设备异常检测的准确率,本文提出了一种利用短时傅里叶变换进行数据预处理与利用卷积自编码器进行降维与特征提取,并采用单类支持向量机作为分类器的异常检测框架。该框架能够有效利用原始三相电流数据的时频特征,保留了时间信息,并在此基础上,将三相电流堆叠成三维结构,综合了多域特征信息。在实验部分,采取现场真实运行数据验证模型性能,并设置一系列对比实验,从精准率、召回率、准确率以及F1-Score等参数定量分析异常检测模型性能。实验结果表明,本文提出的框架在现场采集到的ZDJ9型交流电动转辙机运行数据上具有相对更佳的表现,能够为利用时间序列反映运行状态的相关领域异常检测研究提供参考。

基金项目

这项工作得到了国家自然科学基金的资助,资助号为U1734211。

参考文献

[1] 王智超, 杨喜旺, 黄晋英, 赵永军, 唐天翼. 基于ITD-SDP图像特征和DSCNN的道岔转辙机异常检测[EB/OL]. 铁道学报: 1-8. http://kns.cnki.net/kcms/detail/11.2104.u.20220617.1833.002.html, 2022-10-08.
[2] 谢博才, 宫殿君. 基于机器学习的道岔异常检测与预测研究综述[J]. 铁路通信信号工程技术, 2021, 18(8): 93-99.
[3] 黄世泽, 陈威, 张帆, 董德存. 基于弗雷歇距离的道岔异常检测方法[J]. 同济大学学报(自然科学版), 2018, 46(12): 1690-1695.
[4] 姬文江, 左元, 黑新宏, 高橋聖, 中村英夫. 基于FastDTW的道岔故障智能诊断方法[J]. 模式识别与人工智能, 2020, 33(11): 1013-1022.
[5] 张钉. 基于小波变换和改进神经网络的S700K转辙机故障诊断研究[D]: [硕士学位论文]. 兰州: 兰州交通大学, 2019.
[6] Shi, Z., Liu, Z. and Lee, J. (2018) An Auto-Associative Residual Based Approach for Railway Point System Fault Detection and Diagnosis. Measurement, 119, 246-258.
https://doi.org/10.1016/j.measurement.2018.01.062
[7] 孔令刚, 焦相萌, 陈光武, 等. 基于Mallat小波分解与改进GWO-SVM的道岔故障诊断[J]. 铁道科学与工程学报, 2020, 17(5): 1070-1079.
[8] 刘应君, 司涌波, 陈光武, 等. 基于CDET/MPSO-SVM的道岔故障诊断[J]. 北京交通大学学报, 2021, 45(2): 52-59.
[9] 钟志旺, 唐涛, 王峰. 基于PLSA和SVM的道岔故障特征提取与诊断方法研究[J]. 铁道学报, 2018, 40(7): 80-87.
[10] 吴永成, 阳长琼, 何涛. 基于Fretchet距离与TWSVM的多机牵引道岔故障诊断研究[J]. 铁道科学与工程学报, 2019, 16(11): 2866-2872.
[11] Zhang, P., Zhang, G., Dong, W., et al. (2018) Fault Diagnosis of High-Speed Railway Turnout Based on Convolutional Neural Network. 2018 24th International Conference on Automation and Computing (ICAC) IEEE, Newcastle upon Tyne, 6-7 September 2018, 1-6.
https://doi.org/10.23919/IConAC.2018.8749078
[12] Zhuang, Z., Zhang, G., Dong, W., et al. (2018) Intelligent Fault Detection of High-Speed Railway Turnout Based on Hybrid Deep Learning. In: Mitrovic, T., Xue, B. and Li, X.D., Eds., AI 2018: Lecture Notes in Computer Science, Springer, Cham, 98-103.
https://doi.org/10.1007/978-3-030-03991-2_10
[13] Guo, Z., Ye, H., Dong, W., et al. (2018) A Fault Detection Method for Railway Point Machine Operations Based on Stacked Autoencoders. 2018 24th International Conference on Automation and Computing (ICAC) IEEE, Newcastle upon Tyne, 6-7 September 2018, 1-6.
https://doi.org/10.23919/IConAC.2018.8749098
[14] Guo, Z., Ye, H., Jiang, M., et al. (2020) An Enhanced Fault Detection Method for Railway Turnouts Incorporating Prior Faulty Information. 2020 IEEE 23rd International Confer-ence on Intelligent Transportation Systems (ITSC), Rhodes, 20-23 September 2020, 1-6.
https://doi.org/10.1109/ITSC45102.2020.9294718
[15] Michelucci, U. (2022) Autoencoders. Applied Deep Learning with TensorFlow 2, Apress, Berkeley, CA, 257-283.
https://doi.org/10.1007/978-1-4842-8020-1_9