翟洪婷,张庆锐,卞若晨,孙丽丽,张延童,翟 启
(国网山东省电力公司 信息通信公司,山东 济南 250001)
电力系统是现代社会最重要、最庞大的人工系统之一,电力调度人员承担着确保电力系统安全、高效、经济运行的职责。为了避免或减少机器故障带来的不利影响,在机器出现故障时及时调度维修人员进行维修是保障安全经济运行的关键。传统的电网调度系统存在调度工序复杂、调度效率低下等问题,难以适应智能电网的调度需求,甚至在极端情况下存在安全隐患。此外,维修人员是维修过程中的重要资源,也是稀缺资源,然而现有的维修人员调度随机性很强,忽视了不同维修人员的专业能力的差别,不能针对性开展工作。针对上述问题,智能电网可以引入自动化技术、通讯技术等现代技术手段,对电力机器进行实时监测,对有可能出现的问题进行控制,实现故障快速诊断和人员精确调度。如今基于机器监测的维修人员调度方法受到了越来越多的关注,根据监测到的机器故障程度和等级,在高维电网运行状态中快速、准确地将维修人员调度到其擅长的领域,从而降低调度成本,提高维修效率。因此,故障监测对维修人员调度显得尤为重要。
在电厂中,1台设备是由涡轮轴承[1,2]、泵[3]和阀门[4]等机器共同运作组成的,当其中某一部件出现故障后就可能导致整个系统无法运行,极端情况下会造成人员伤亡的严重后果。因此,为了防止此类事故的产生,对机器的运行状态进行实时监测是很有必要的。现有的故障监测方法通常集中在振动、压力和温度方面,例如基于振动信号的滚动轴承故障检测[5],基于温度的燃气机故障检测[6]和基于压力的飞行器发动机故障检测[7]。但是这些方法在发现问题时可能已经为时过晚,设备已经处在亚健康状态,甚至严重损坏。定期维护和维修虽然可以在一定程度上减少故障的发生,但是人工成本高、效率低、性价比低。近年来,音频监测方法因为其效率高和成本低逐渐被人们所知晓,基于声音的故障检测预警可以提前发出危险警告,从而及时对机器进行维护。
异常声音检测是音频监测方法中的关键技术之一[8],可以被用于机器维护[9]等。异常声音检测方法可以分为有监督和无监督方法。有监督的异常声音检测(Anomalous sound detection,ASD)一般是根据机器的内部结构和具体故障声音来设计的[10]。目前已有一部分相关工作[11-14],例如文献[12]中采取盲源分离方式剥离变压器声音信号中的干扰信号,并根据变压器声音信号特征构建识别模型,进行变压器直流偏磁声纹识别;文献[14]中采集正常工作声音和3种异常情况声音实现发电机故障检测。但是有监督ASD方法在实际情况中很难执行,这是因为:异常情况发生的频率较低;异常情况发生的时间难以事先预判;故意破坏昂贵设备去采集样本数据是不切实际的;机器故障类型繁多,很难获取用于有监督学习的数据集。不同于有监督ASD方法,无监督ASD方法则在训练阶段仅需要采集机器正常运作时发出的声音,创建1个正常状态下的模型,然后利用该模型对采样样本进行评估。
受该思路启发,本文提出了一种基于图聚类的机器异常声音检测方法。该方法首先对信号进行自适应滤波,消除音频信号中的干扰噪声。然后提取声音的调制谱特征,用来表示信号谱分量随时间的变化率,这种特征在过去可用作语音情感识别[15]、语音增强[16]等。最后将特征划分为若干个互不相交的子集,每个子集被称为簇,并在检测阶段得出每个待测声音的特征,根据其与正常声音的簇的标准-偏差归一化距离来计算异常评分。
本文提出的方法主要包含预处理、特征提取、异常检测3个部分。首先通过自适应滤波方法对信号进行降噪预处理,然后通过滤波器、加窗、离散傅里叶变换(Discrete Fourier transform,DFT)和希尔伯特变换得到调制谱特征,最后使用图的聚类方法进行异常估计和评分。
在电气设备运行的背景环境中充满了多种干扰噪声,如鸟鸣声、讲话声、汽笛声等,此类噪声具有时变性和非稳定性,不同噪声之间差异很大且发生的场景充满随机性,因此采用机器学习的方法学习干扰噪声的特点并拟合其分布。考虑到如果想要精确滤除背景环境中的噪声,需要尽可能地实地采集声音信号,这样会有足够的干扰噪声数据,因此采用高斯混合模型(Gaussian mixed mode,GMM)来学习干扰噪声的特点,然后在识别阶段判断待测音频中干扰噪声的种类,最终通过自适应的噪声补偿算法滤除噪声。
GMM模型是由多个单一高斯模型组合而成的,使每一种干扰噪声都由多个子模型描述,各子模型通过高斯密度函数中对应的权值、均值和方差描述噪声特征的一部分,GMM的概率密度函数如下
(1)
式中:ak是第k个高斯子模型的权值;φ(x|θk)是第k个子模型的高斯密度函数;θk是第k个高斯子模型的参数,包括均值μk和标准差σk;K是高斯子模型数量;x是从干扰噪声中提取的向量。
首先在训练阶段αk和θk是未知的,无法通过已知信息x精确计算未知参数的大小,只能用最大似然法把能产生最大x的参数作为估计结果。由于每个点发生概率小,导致乘积变得极其小,因此对其取对数使得很小的输入值变化引起较大的输出值变动。GMM的似然函数如式(2)所示,转化后的似然函数如下
(2)
(3)
再以式(3)为优化目标,使用期望最大化(Expectation and maximization,EM)算法找到最佳参数,EM算法过程如下
(1)使用K-means算法初始化1组参数θk={αk,μk,σk},k∈[1,K];
(2)计算每个数据来自子模型k的概率,过程如下
(4)
(5)
(6)
(7)
经过计算,得到的各种噪声分布可以描述对应干扰噪声的特点,由此可以预测某一时刻干扰噪声的幅值。在识别阶段将待测音频中提取的向量输入式(1)中,即可算出待测音频中的干扰噪声属于该模型对应的干扰噪声的概率。此时采集得到的声音由机器声音和干扰噪声组成,如下
(8)
通过模型估计得出的噪声ni(t)是与y(t)不相关的信号,没有考虑y(t)的连续性。基于此问题,根据噪声模型的不同取t时刻前的wi个时刻的音频时域分布,与y(t)组成1组数据{y(t-wi),y(t-wi+1),…,y(t)},按照幅值越大补偿越大原则进行补偿,如下
(9)
式中:ymax和ymin是{y(t-wi),y(t-wi+1),…,y(t)}这1组数据中的最大值和最小值。可调参数wi可以根据不同的噪声模型灵活选取。
最终的机器音频信号如下
(10)
本文采用的调制光谱特征提取步骤如图1所示。调制谱图与时间-频率谱图相对应,能够显示声纹信号长时间的动态特性。
图1 调制光谱特征提取步骤示意图
通常使用三角形滤波器组和Gammatone滤波器组对声音信号提取特征。由于三角形滤波器组对于耳蜗基底膜的模拟效果比较差,在充斥着各种杂音的复杂环境中提取频率信息的能力也比较差。基底膜可以分析声音的频率,能够将不同的频率信息放置到对应的位置,并将频率能量的大小对应为基底膜振动大小。Gammatone滤波器组可以很好地模拟人耳基底膜的特性,因此将预处理后的声音信号x(n)通过模拟耳蜗处理[17]的60通道Gammatone滤波器组。滤波器组的第1个滤波器以125 Hz为中心,最后1个滤波器的中心频率在采样率的1/2以下。带宽遵循等效矩形带宽(Equivalent rectangular bandwidth,ERB),即
(11)
式中:s=1,2,3,…,60代表Gammatone滤波器组的第s个通道,fs是第s个通道的中心频率,Qear表示在高频处的滤波器的质量,Bmin是最小带宽。依据文献[18]可知,Qear设置为9.265,Bmin设置为24.7。
对通道的输出进行希尔伯特变换得到时间包络
(12)
式中:n是时间变量,xs(n)是第s个通道的输出,H{·}是希尔伯特变换,es(n)是时间包络。对时间包络es(n),s=1,2,3,…,60,加窗长为256 ms的汉明窗,帧移设置为40 ms。
将时间包络表示为es(m;n),其中m是帧索引,然后对其进行DFT得到调制谱,过程如下
研究中参考Wischmeier等[10]关于坡长因子的经典算法计算坡长因子L值.考虑坡度的不同,对S因子的求解采用分段计算[11],其中,缓坡(坡度<10°)采用McCool公式,陡坡(坡度≥10°)采用Liu等的公式.
Es(m;f)=|F(es(m;n))|
(13)
式中:m代表每乘1次汉明窗后得到的第m帧,f表示调制频率,F(·)表示离散傅里叶变换,Es(m;f)是经过计算后得到的调制谱。
根据文献[19]得知调制滤波器组模拟人类听觉组织,使用1个基于听觉激励的调制滤波器组进一步将调制频率分组,共8个波段,记为δ(s,k)(m),k=1,…,8。其中,k代表调制滤波器组的第k个通道,m是帧索引。最终每个声音片段得到1个60×8的调制谱图。
调制谱图中存在着显著的变量,本文采用基于改进的图聚类的方法来捕捉这种变化。图2显示了滑轨2正常工作声音的4张调制谱图。从图2中可以看出,同一个机器的正常声音谱图也存在显著的不同。
图2 滑轨2正常工作声音的4张调制谱图
考虑1个图G,其中V是由正常的训练声音样本组成的节点集,E是连接节点的边集。2个节点va,vb∈V共享同一条边eab∈E,且使得
vb=argmin({d(va,vc)|c∈V,c≠a})
(14)
式中:d(va,vc)是va和vc之间的距离,vb是能使距离d(va,vc)最小的vc的值。这种方式构建的图G是由若干不相交的子图组成的,即G=g1∪g2,…,gn,且gi∩gj=φ,∀i,j=1,2,…,n|i≠j。每一个子图被视为1个单独的簇,通过取每个簇内所包含的训练声音的调制谱图的均值和标准差来计算每个簇对应的均值μl和标准差σl。
(15)
式中:Et,s,k是第t个待测样本通过Gammatone滤波器组第s个通道和调制滤波器第k个通道后得到的能量值,μl是第l个簇的均值,σl是第l个簇的标准差。
这种计算异常分数方法的原理是正常样本会比异常样本将更接近簇中心。相比于基础的图聚类算法需要计算待测样本到每个训练样本的距离,本文方法只需要根据待测样本的数据计算每个簇到训练样本的距离,很大程度上减少了计算量。
基于监测的结果可以加强对电力动态安全稳定的监控,通过监测动态数据对电网运行状态进行分析,以此为依据进行后期电力人员调度决策,提高调度人员管控能力。
本文使用工业机器声数据集MIMII DateSet[20],其中包含了风扇、阀门、泵和滑轨这4种机器的真实声音,每种机器类型有4个单独的机器,编号为0、2、4和6。每段声音的采样率为16 kHz,时间为10 s。训练集中只有机器正常工作时的声音,测试集中同时有正常工作时的声音和出现异常时的声音。
为了对系统进行性能评估,本文采用了受试者工作特征(Receiver operating characteristic,ROC)曲线下的面积(Area under curve,AUC)来评估实验结果。AUC是异常检测中最为常用的指标之一,因为ROC曲线一般是在y=x这条曲线的上方,所以AUC取值范围一般在0.5和1之间。AUC可以理解为给出1个正常声音片段和异常声音片段时,模型将正常声音样本预测为正确声音样本的概率大于将异常声音样本预测为正常声音样本的可能性。因此AUC越大说明准确性越高,计算过程如下
(16)
预警信息误报率过高会浪费很多人力和物力,所以在低假阳性率(False positive rate,FPR)的情况下提高真阳性率(True positive rate,TPR)也是相当重要的。尽管分类器在使用AUC评价时的效果一般很不错,但是AUC代表的是在全部FPR下的性能情况,如果只针对在低FPR情况下性能的好坏,pAUC比AUC更加能够体现系统的准确度。因此也使用pAUC作为系统的评估指标。pAUC是特定区间内的AUC,一般定义为在FPR范围为[0,p]下的AUC,p的取值为0.1,计算过程如下
(17)
本文选取DCASE2020 Task2[21]中的基础系统作为对照。基础系统是1个简单的基于自编码器的异常评分计算器,对自编码器进行训练以最小化正常声音样本的重构误差,以待测数据的重构误差作为异常分数。对4种机器的检测结果进行了对比,结果如图3所示。
图3显示了阀门、风扇、滑轨和泵在基础系统和本文提出的系统上检测后得出的AUC和pAUC。可以看出本文提出的系统在4种机器的检测精度上均有提高。从图3(a)可以看出,对于阀门,其检测精度大幅度提高,平均AUC和平均pAUC提升了33%和43%。对于风扇、泵和滑轨这3种机器,平均AUC分别从65.09%、72.09%、85.39%提升至72.46%、78.67%、91.21%。泵和滑轨的pAUC从59.33%、66.16%提升至68.78%、79.80%。然而从图3(b)中可以看出,每个风扇的pAUC均无明显变化,这是由于异常发生的时间非常短,没有捕捉到其长期特征所导致的。
图3 基础系统与改进系统检测效果对比图
本文提出一种面向电力人员智能调度的故障声音检测方法,在仅有正常声音训练集的情况下,先通过自适应噪声补偿算法滤除噪声,再提取音频的调制谱特征,最后使用图的聚类算法进行异常估计和评分。实验结果表明,其检测准确性有一定的提升。在未来的工作中可以进一步将此方法与电力人员智能调度联合优化,使调度决策从专家智能离线粗放运行的模式变革为人工智能在线精细运行的模式,从而实现调度智能化。