基于小波包和FCM聚类的电能表内异物检测*
2019-09-11李洋,杨涛
李 洋, 杨 涛
(1.西南科技大学 信息工程学院,四川 绵阳 621000;2.特殊环境机器人技术四川省重点实验室,四川 绵阳 621000)
0 引 言
异物检测是检测电能表内部是否存在焊渣残留、松脂残留、脱落元器件、胶沫等异物或杂物。异物自动检测利用声音识别技术,通过电气控制模拟的人工摇表装置摇晃电能表,完成声音信号的采集、训练与识别。在静音比较多的情况下,基于阈值的双门限法有很好的性能,但实际的电能表内异物检测环境采集的声音信号可能不存在静音段或者静音段较短,那么传统的基于阈值的端点检测算法将会失效。
文献[1]针对公共场所异常声音的特点,提出了一种综合短时优化过零率和短时TEO对数能量的端点检测方法,优化的过零率避免了低信噪比下过零率易受噪声影响的不足,但仍然会受到噪声影响;文献[2]针对基于短时能量和短时过零率在低信噪比时性能较差问题提出了一种低信噪比下基于谱熵的端点检测算法,在不同的噪声环境下具有很好的性能;文献[3]提出了一种改进的K—均值聚类算法来实现对光发射信号的端点检测,实时性较好,适合大规模生产程中端点检测;文献[4]基于模糊C—均值(fuzzy C-means,FCM)、融合过零率和Lempel-Ziv复杂性等特征的语音信号端点检测方法,提高了语音识别和编码等处理的性能。文献[1]、文献[2]中的方法在采集的声音起始段存在足够长度的静音段时性能都比较好,然而当采集的声音起始段不存在静音段时性能较差甚至失效,此情况下文献[3]、文献[4]中基于聚类的方法更具稳定性。
声音信号比较有代表性的特征包括短时能量和短时过零率[5]、倒谱特征[6]、小波包能量谱[7]、小波包能量特征[8]等。小波包分析不仅能够分析出信号的低频信息和高频信息,且小波包能量特征受噪声影响较小。文献[9]利用小波包能量特征向量对结构损伤进行识别,小波包能量特征不易受噪声的影响,识别效果较好。
本文结合电能表内异物声音特点,提出一种综合小波包能量特征、TEO对数能量和FCM的端点检测算法,比较同文献[2]中端点检测算法的检测准确率。
1 异物声音特征提取
1.1 小波包能量特征提取
实际采集的异物声音信号,由于受诸多环境因素影响,信号的频率和振幅特性复杂多变,采样值也随时间变化剧烈波动,因此采集的电能表内异物声音信号具有时变性,为使声音能用传统的方法进行分析,可假定声音信号在短时范围(10~30 ms)内的特性基本保持不变。由于异物声音变化的突然性,本文选择较大的帧长(40 ms一帧)对输入的声音信号进行分帧以获取短时较为平稳的特征描述。
本文选择小波包能量作为特征参数。图1是有异物的声音信号和无异物的声音信号经三层小波包分解后不同节点的能量比,可以看出有异物的声音信号同无异物的声音信号的不同频带能量比区别明显。
图1 小波包分解后不同节点能量百分比
小波包能量特征提取步骤如下:
1)小波包变换。根据采集的电能表内异物声音信号特点、信号处理的具体要求选择小波基函数以及分解层数m,将信号分解到互不相交的2m个频段上。本文选择‘db4’作为小波基函数,分解层数为3。
2)小波包能量计算。根据Parseval能量积分等式,选择小波包分解后各个频段内信号的平方和作为小波包能量,则任意频段对应的能量为
(1)
(2)
3)提取特征向量V。计算各个频段的能量与总能量的相对比值,将其组成一个特征向量。即
V=[E1/Etotal,E2/Etotal,…,E2m/Etotal]
(3)
1.2 异物声音端点检测
TEO对数能量可以表征信号的共振峰信息,且能很好地抑制背景噪声的,从而起到信号增强作用。图2为采集的声音信号波形及对应的TEO对数能量图。本文使用提取的TEO对数能量对FCM聚类以后的数据作非静音段和静音段的判别。
图2 实际信号波形及TEO对数能量
设声音信号时域波形为x(n),加窗分帧处理后得到的第i帧声音信号为xi(m),帧长为N。则每一帧的能量为
(4)
在这里引入TEO对数能量,定义为式(5)
LEi=lg(1+AMPi/a)
(5)
式中a为一个常数,由于有a的存在,当a取较大值时,AMPi幅值有剧烈变化时能够得到缓和,所以,适当选择有助于减小突发性的干扰声音的影响。文中选择a=2。
FCM算法[10]本质为运用隶属度确定每个数据点属于某个聚类的程度的一种聚类算法。FCM聚类算法目标函数
(6)
(7)
在式(7)的约束下,欲求式(6)的最小值,令Jm对参数Vi和uj(xi)的偏导数为0,即可得到
(8)
(9)
FCM端点检测算法如下:
1)设置帧长和帧间重叠,加窗分帧。将采集的声音信号分为较短的帧,每一帧可以看作平稳信号,使用短时平稳信号的处理方法,同时为了使帧与帧之间平滑过渡,在相邻两帧之间设置重叠部分。
2)计算每一帧的小波包能量特征H,得到H(i),表示第i帧特征参数。
3)分别计算每一帧的对数能量LEi。
4)采用FCM对采集的异物声音信号进行端点检测,具体步骤:
a.将步骤(2)中计算得到的特征参数作为FCM的输入参数,使得目标函数
(10)
(11)
(12)
b.选择模糊系数m,m∈(1,∞),聚类数c,2≤c和ε,ε为一很小的正常数,文中选择c=2;
c.设l为迭代次数,由公式Ul-1可以得到Vl,其中,UL-1为U的第l-1次迭代值,Vl为V的第l次迭代值;
d.采用式(11)、式(12)更新隶属度矩阵Ul;
f.计算步骤e中每类的对数能量,并标记出非静音段和静音段,TEO对数能量较大的是非静音音段,TEO对数能量较小的是静音段。
2 基于支持向量机的端点检测效果验证
支持向量机(support vector machine,SVM)[11]是基于将数据从低维空间映射到高维空间的思想,由支持向量来决定最优分割线,SVM首先找出对分类有较好区分能力的向量,然后构造最大化类与类之间间隔的分类器。考虑到SVM可以较好地解决小样本、非线性、高维数等实际问题,本实验异物检测采用SVM分类器来完成。同时可检验基于FCM聚类的端点检测同传统端点检测处理数据后的分类精度。
实验数据来源于工厂实际采集的电能表内异物声音信号,实验选用100个有异物的声音样本和100个无异物的声音样本组成样本集。采用留出法将样本数据集随机划分为两个互斥的部分,训练集占样本数据集的80 %,测试集数据占样本数据集的20 %,分别计算不同实验次数下的平均识别率(即表1的识别率为相应实验次数下的平均识别率)。比较采用本文提出的端点检测方法下的识别率同文献[2]中基于短时优化过零率和短时TEO对数能量的端点检测方法下不同试验次数的识别率(图中基于能零比的识别率代表文献[2]中端点检测算法的识别率,基于聚类的识别率代表本文算法的识别率)。
表1 实验不同次数时的识别率
图3 不同实验次数下两种方法的识别率
通过比较可知,随着实验次数的增加,两种方法各自的识别率都没有较大的变化,但采用FCM聚类的方法处理数据以后识别率明显高于文献[2]中的数据处理方法,文献[2]中端点检测方法虽然针对传统的过零率做了优化,但它仍然是传统的基于阈值的端点检测算法,避免不了需要假设声音数据起始段为静音段,并由该静音段来设置阈值,当声音数据起始段不是静音段时或声音数据起始段静音部分较短时,这种检测方法将会失去作用,而本文中的端点检测算法无需假设声音数据存在静音段,也不需要设置阈值,在实际处理时效果更加稳定,针对电能表内的异物检测准确率也较高。
3 结 论
结合SVM比较了采用本文中的端点检测方法同文献[2]中端点检测算法在电能表内异物检测中的异物识别率,其结果是明显较优,识别率达到了95 %左右。在电能表内异物检测方面具有更好的表现。