APP下载

基于小波分析与PSO-ELM的语音端点检测算法研究*

2016-03-15张宇波邢立钊

中北大学学报(自然科学版) 2016年1期
关键词:粒子群优化算法小波分析

张宇波, 邢立钊

(郑州大学 电气工程学院, 河南 郑州 450001)



基于小波分析与PSO-ELM的语音端点检测算法研究*

张宇波, 邢立钊

(郑州大学 电气工程学院, 河南 郑州 450001)

摘要:为了提高语音端点检测算法在低信噪比和复杂环境下的检测速度和检测准确度, 本文提出了小波分析技术(WA)和粒子群算法(PSO)优化的极限学习机(ELM)相结合的方法. 依据小波变换及多分辨率分析原理, 提取每帧语音信号特征量, 输入ELM神经网络. 采用PSO算法选择ELM最优的输入权值和隐含层偏差, 进而得到预测结果. 通过Matlab仿真可见, 与传统端点检测算法和神经网络算法相比, 该方法以最简化的网络结构获得了20%以上的速度提升和更加理想的检测准确度.

关键词:端点检测; 小波分析; 极限学习机; 粒子群优化算法

0引言

语音信号端点检测是声纹识别、 语音增强、 语音监控等技术的重要组成部分[1-2]. 端点检测的目的是在一段信号流中, 快速区分出语音段和非语音段, 并准确地标识出语音段的起始点和结束点[3-5]. 研究表明, 即使在理想条件下, 语音识别的错误大部分是端点检测造成的[6]. 因此要实现语音的精确识别, 提高复杂环境下的端点检测准确度显得非常重要[7].

当前语音端点检测主要分为基于时域和频域的两类算法[8]. 这些算法在纯净语音环境下可以取得良好的检测效果, 但在低信噪比和复杂环境下检测效果骤降, 有的甚至不能正常工作[9]. 近年来随着人工神经网络(NN)[10]和支持向量机(SVM)[11]等基于非线性模型的发展, 很多用于语音端点检测的非线性算法也随之出现[12], 其表现出了更加优异的性能, 具有很好的鲁棒性. 极限学习机(ELM)神经网络[13]是一种新型单隐层前馈神经网络, 具有计算过程简单,计算速度快, 泛化性能高等优点,得到了广泛应用[14]. 然而, 在实际应用中ELM神经网络的输入权值和偏差是随机给定的, 需要较多的隐藏层神经元才能达到理想的测试精度[15]. 本文采用粒子群算法(PSO)优化ELM神经网参数, 使其性能得到进一步提高.

实验结果表明, 本文提出的基于小波分析(WA)和PSO优化ELM神经网络算法(WA-PSO-ELM)在复杂环境和低信噪比下具有优良的快速性、 准确性和鲁棒性.

1语音端点检测算法模型

端点检测过程就是对语音信号的特征量进行分析以确定该信号是否为语音段. 因此它是一种模式识别系统, 包括语音特征提取和端点检测器设计两个关键步骤.

WA-PSO-ELM语音端点检测系统的结构框图如图 1 所示.

图 1 WA-PSO-ELM语音端点检测系统框图Fig.1 Block diagram of WA-PSO-ELM speech endpoint detection system

1.1语音信号的特征提取

WA在时间尺度上分析信号是处理非线性信号的有力工具. 语音信号的特征是随时间而变化的, 但是可以在极短的时间内保持稳定一致. 根据语音信号的短时平稳特性将原始信号分解为多个频带. 对信号进行分帧处理, 本文以20 ms 为一帧. 然后对单帧信号提取特征量. 采用db4小波对每帧语音信号f(n)进行5层小波分解, 即

(1)

如式(1)所示, 先将单帧信号f(n)分解为低频子带a1(n)和高频子带d1(n), 再将高频子带a1(n) 分解成低频子带a2(n)和高频子带d2(n), 依次进行5层分解. 根据小波多分辨率分析原理可知, 高频子带d1(n)~d5(n)和低频子带a5(n)可表征原信号所有的特性.

计算各层小波子带系数的平均能量

(2)

式中:si(n)代表d1(n)~d5(n),a5(n)小波子带中的某个子带系数;N为小波系数的个数.

计算6个小波子带平均能量的均值Em和方差σ2如下:

(3)

(4)

至此语音信号的特征量提取完成, 每帧信号共提取了8个特征量, 分别是d1(n)~d5(n),a5(n) 这6个小波子带的平均能量E1~E6, 平均能量的均值Em和方差σ2.

每帧语音信号构成的特征矢量为

(5)

1.2ELM神经网络

ELM神经网络是一种新型的单隐层前馈神经网络, 与传统单隐层前馈神经网络(SLFN)相比具有速度极快, 误差小的优点. 对于N个任意各不相同的样本(xi,yi), xi=[xi1,xi2,… , xin]T∈Rn, yi=[yi1,yi2,… ,yin]T∈Rm, 则一个具有L个隐层节点的, 激励函数为g(x)的前馈神经网络的输出可以表示为

(6)

式中: ai=[ai1,ai2,… , ain]T∈Rn是输入层到第i个隐含层节点的输入权值; bi是输入层到第i个隐含层节点的偏差; βi=[βi1, βi2,…, βin]T∈Rm是连接第i个隐藏层结点的输出权值; ai·xi表示向量ai和xi的内积. 本文激励函数g(x) 选择为“Sigmoid”型. 如果这个具有了L个隐含层结点的前馈神经网络能以零误差逼近这N个样本, 则存在ai, bi, βi使得式(6)可以简化为Hβ=Y, 其中H被称作网络的隐含层输出矩阵. 在ELM算法中, 输出权值和偏差可以随机给定, 隐层矩阵H就变成一个确定的矩阵, 这样只需要求出输入权值的最小二乘解就能完成网络的训练[14]. 输出权值矩阵β=H+Y, 其中H+表示隐含层输出矩阵H的广义逆.

1.3粒子群算法优化ELM神经网络

ELM神经网络的输入权值和隐含层偏差是随机给定的, 且由1.2节可知输入权值和隐含层偏差决定着ELM的输出权值矩阵. 在实际应用中需要大量的隐含层节点才可以获得理想的精度. 本文利用PSO算法强大的搜索寻优功能使ELM神经网络得到最优的输入权值和偏差. 具体步骤为:

1) 种群产生, 一般情况下粒子数size设置为20~70个不等. 种群的个体即粒子是由输入权值矩阵和隐含层偏差构成, 粒子长度D= k*(n+1), 其中k为隐含层节点数目, n为输出层神经元个数. 设θm为种群中的第m(1≤m≤size)个粒子.

2) 对于种群中的每个个体即输入权值矩阵和隐含层偏差, 用ELM算法可以求出输出权值矩阵β. 利用训练样本计算出初始化种群的每个个体的均方根误差(RMSE). 将RMSE作为粒子群优化算法的适应度. 设种群中第i个粒子θi的适应度值Fit_i. 先令最优适应度值Fit_best=Fit_1, 将θ1作为个体极值(Pbest).Step1: 在1Fit_best则Pbest(i)=θi,Fit_best=Fit_i. 否则Pbest(i)=θi-1迭代结束, 令Fit_best对应的粒子θ为全局极值gbest.Step2: 在1≤i≤itera(最大迭代次数)内进行迭代寻优, θi通过Pbest和gbest更新自身的速度和位置, 若i>itera则迭代结束, 否则返回Step1.

3) 通过步骤2)可以得到最优适应度所对应的粒子即输入权值矩阵和隐含层偏差, 再利用ELM算法输出预测结果.

1.4ELM神经网络语音端点检测步骤

1) 参数初始化. 包括小波分析、ELM神经网络、 粒子群算法的参数初始化.

2) 训练样本构建. 选择一段含噪的语音信号, 首先用WA技术采集每帧语音信号的8个特征量, 以此作为ELM神经网络的输入; 然后通过人工标定确定每帧信号的语音帧情况, 如果是语音帧则标定为1, 不是则标定为0, 以此作为神经网络的输出.

3)ELM神经网络训练. 对ELM神经网络进行训练的目的是要让神经网络知道当输入特征量具备哪些特性时是语音帧, 否则是非语音帧. 将训练样本输入ELM神经网络, 完成对神经网络的训练.

4) 模型性能检测. 将训练样本输入已经训练过的ELM神经网络中并输出结果. 取0.5作为门限值, 当输出量大于0.5则认定原信号为语音帧, 否则认定为非语音帧. 同时将输出结果与信号的的语音帧情况进行对比, 以确定ELM神经网络对训练样本的检测正确率, 如果检测正确率不高则重复步骤3).

5) 语音端点检测. 另取一段含噪语音信号, 用WA提取信号特征值; 然后将特征值输入训练好的神经网络, 并以网络输出作为端点检测结果.

2仿真实验

2.1仿真环境和评价指标

本实验纯净语音数据来自国家普通话标准考试朗读范本, 噪声文件源自于NOISEX-92噪声库, 并以.wav格式保存到计算机中. 采用的信噪比(SNR)为15, 5, 0, -5dB. 本仿真实验是在Windows7运行平台下, 采用Matlab2010b软件实现的. 采样率为44 100Hz, 16bit量化, 帧长为20ms, 帧移为6ms. 结合CoolEditPro软件作为辅助的语音分析工具. 采用手工方式人为标记语音信号的起点和终点, 作为端点位置检测是否正确的衡量标准.

通过训练样本对神经网络的多次训练, 达到理想的检测精度原始ELM神经网络需15个隐藏层节点, 经过PSO算法优化输入权值矩阵和隐藏层偏差后隐藏层节点数目减少到12个. 极大的优化了神经网络结构. 为了检验基于WA-PSO-ELM的语音端点检测效果, 本文采用两种不同的噪声模型:Pink噪声和工厂噪声. 同时选择了另外3种算法作对比分析:小波分析+ELM神经网络(WA-ELM), 该算法没有粒子群算法优化; 小波分析+BP神经网络(WA-BP); 短时能量算法. 本实验的评价指标包括:正确率、 虚检率、 漏检率、 检测速率等4项.

2.2结果与分析

2.2.1端点检测准确度对比

在不同的噪声环境下(纯净语音信号加入噪声后的信号波形图如图 2, 图 3 所示), 对以上4种检测方法进行大量的仿真实验, 每一种检测方法取30次结果并求出平均值作为最终的检测结果.

图 2 纯净语音加入Pink噪声后的波形 Fig.2 Waveform of pure voice with Pink noise

图 3 纯净语音加入工厂噪声后的波形 Fig.3 Waveform of pure voice in factory noise

1) Pink噪声环境下不同端点检测算法的准确度对比见表 1.

表 1 Pink噪声环境下检测准确率

通过对表 1 的分析, 可以得出以下结论:在单一噪声情况下, 上述4种检测方法在高信噪比的环境中都可以获得良好的端点检测准确度. 随着噪声信号的逐渐加大, 各种算法的检测准确度都有所下降, 其中短时能量算法已不能正常工作. 而神经网络检测方法的检测准确度波动不大, 说明神经网络检测方法具有良好的抗噪性和鲁棒性. 显然PSO -ELM算法检测精度优于ELM, 且远高于BP神经网络. 这是因为优化后的ELM神经网络具有更加合适的输入权值和隐含层偏差, 使得网络输出更优的预测结果.

2) 为了验证PSO -ELM神经网络在复杂噪声情况下的检测准确度, 本文采用SNR=0 dB的工厂噪声作为验证环境. 工厂噪声环境下各算法的准确度对比如表 2 所示.

表 2 工厂噪声环境下的检测准确率

由表 2 可见, 在低信噪比的复杂噪声环境下, WA-PSO-ELM神经网络的端点检测准确度依然很高, 其实用性明显优于其它2种端点检测算法.

2.2.2端点检测虚检率和漏检率对比

在Pink噪声环境下的语音端点检测的虚检率和漏检率结果见表 3 和表 4.

表 3 语音端点检测的虚检率对比

表 4 语音端点检测的漏检率对比

对比表 3 和表 4 可知, 每种神经网络的端点检测漏检率都小于虚检率, 效果良好. 而PSO-ELM神经网络的漏检率远小于虚检率, 检测性能更优.

2.2.3端点检测的检测速度对比

实际应用中, 检测速度是一项十分重要的衡量指标. 在Matlab2010b的运行环境中, 以检测Pink噪声为例, 通过10次的重复试验后取平均值作为最终的时间数据. 各检测方法的运行时间汇总见表 5.

表 5 语音端点检测算法的运行速度对比

通过表 5 可知, 优化后的ELM神经网络的训练速度和测试速度都提升了20%以上, 且远高于BP神经网络. 这是因为ELM神经网络是一种快速学习的算法, 又通过PSO优化, 使得神经网络隐藏层节点数目减少了20%, 网络结构进一步简化, 从而提升了ELM神经网络的计算速度. 使得该算法实时性更强.

3结束语

神经网络算法具有比传统检测算法更好的抗干扰性和鲁棒性. 通过PSO算法对ELM神经网络的参数进一步优化, 使得ELM神经网络在计算速度大幅提升的同时检测准确度也有所提升. 通过在单一噪声环境下的仿真实验和在复杂噪声环境下的实验的分析表明, WA-PSO-ELM算法既避免了传统语音端点检测算法在低信噪比和复杂环境下检测准确度低的缺点, 又克服了以往的神经网络算法计算速度慢、 对参数选择敏感等缺陷. 实现了检测准确度和检测速度的双重提升, 性能更加稳定、 可靠, 具有更好的实际应用价值.

参考文献:

[1]Chung H, Lee S J, Lee Y K. Weighed-finite state transduer-based endpoint detection using probabilistic decision logic[J]. ETRI Journal, 2014, 36(5): 714-720.

[2] Wang Yongqi, Zhang Hui. The research of speech recognition in low SNR based on GA-SVM[J]. Applied Mechanics and Materials, 2014, 590: 727-731.

[3]Ouzounov A. Noisy speech endpoint detection using robust feature[C]. Biometric Authentication. New York: Springer International Publishing, 2014: 105-117.

[4]Ouzounov A. Telephone speech endpoint detection using mean-delta feature[J]. Cybernetics and Information Technologies, 2014, 14(2): 127-139.

[5]Park J, Kim W, Han D K. Voice activity detection in noisy environments based on double-combined fourier transform and line fitting[J]. Scientific World Joural, 2014, 22(4): 216-228.

[6]高美娟, 杨智鑫, 田景文. 移动机器人实时语音控制的实现[J]. 电子测量技术, 2011, 34(7): 50-53.

Gao Meijuan, Yang Zhixin, Tian Jingwen. Realization of speech control of mobile robot in real time[J]. Electronic Measurement Technology, 2011, 34(7): 50-53. (in Chinese)

[7]Cao Yali, La Dongsheng, Jia Shuo, et al. A speech endpoint detection algorithm based on wavelet transforms[C]. The 26th Control and Decision Conference. New York: IEEE, 2014: 3010-3012.

[8]朴春俊, 马静霞, 徐鹏. 带噪语音端点检测方法研究[J]. 计算机应用, 2006, 26(1): 2685-2686.

Bu Chunjun, Ma Jingxia. Xu Peng. Research on speech endpoint detection method in noisy environment[J]. Journal of Computer Applications, 2006, 26(1): 2685-2686. (in Chinese)

[9]Liu Baisen, Zhang Ye, Zhang Wulin. Speech endpoint detection with low SNR based on HHTSM[C]. ICEMI 2013 IEEE 11th International Conference. New York: IEEE, 2013: 116-119.

[10]朱大奇. 人工神经网络研究现状及其展望[J].江南大学学报, 2004, 3(1): 103-110.

Zhu Daqi. Present situation and prospect of artificial neural network[J]. Journal of Jiangnan University, 2004, 3(1): 103-110. (in Chinese)

[11]李书玲, 刘蓉, 张鎏钦. 基于改进型SVM算法的语音情感识别[J]. 计算机应用, 2013, 33(7): 1938-1941.

Li Shuling, Liu Rong, Zhang Liuqin. Speech emotion recognition based on improved SVM algorithm[J]. Journal of Computer Applications, 2013, 33(7): 1938-1941. (in Chinese)

[12]叶蕾, 杨震, 郭海燕. 基于小波变换和压缩感知的低速率语音编码方案[J]. 仪器仪表学报, 2010, 31(7): 1569-1575.

Ye Lei, Yang Zhen, Guo Haiyan. Low rate speech encoding based on wavelet transform and compressed sensing[J]. Journal of Instrument and Meter, 2010, 31(7): 1569-1575. (in Chinese)

[13]Huang Guangbin ,Zhu Qinyu, Siew C K. Extreme learn machine: theory and applications[J].Neurocomputing, 2006, 70(1/2/3): 489-501.

[14]Men Changqian, Wang Wenjian. A randomized ELM speedup algorithm[J]. Neurocomputing, 2015, 159(2): 78-83.

Algorithm of Speech Endpoint Detection Based on Wavelet Analysis and PSO-ELM

ZHANG Yu-bo, XING Li-zhao

(School of Electrical Engineering, Zhengzhou University, Zhengzhou 450001, China)

Abstract:In order to improve the detection speed and detection accuracy of the speech endpoint detection algorithm in low ratio of signal to noise and under complex environment, a method which combined with wavelet analysis (WA) technique and extreme learning machine(ELM) which was optimized by particle swarm optimization (PSO) algorithm was presented. According to wavelet transform and the principle of multi-resolution analysis, features of each frame of speech signal were extracted, and put them into ELM neural network. The optimal input weights and hidden layer deviations of ELM were selected by PSO algorithm, then got the forecast results. From the results of Matlab simulation, comparing with the traditional speech endpoint detection algorithm and neural network, the method can obtain more than 20% in speed and more ideal accuracy in endpoint detection by using the most simplified network structure. It has extensive value in practical.

Key words:endpoint detection; wavelet analysis; ELM; PSO

中图分类号:TN91

文献标识码:A

doi:10.3969/j.issn.1673-3193.2016.01.008

作者简介:张宇波(1965-) , 女, 副教授, 博士, 主要从事检测技术与智能仪表研究.

*收稿日期:2015-05-11

文章编号:1673-3193(2016)01-0033-06

猜你喜欢

粒子群优化算法小波分析
基于改进SVM的通信干扰识别
基于自适应线程束的GPU并行粒子群优化算法
基于混合粒子群算法的供热管网优化设计
基于改进支持向量机的船舶纵摇预报模型
小波分析在桥梁健康检测中的应用探析
球床反应堆内气—液两相流压差波动信号时域特性研究
基于小波分析的声发射信号去噪问题研究
应用型本科院校信息与计算科学专业小波分析课程理论与实践教学的探索
PMU最优配置及其在舰船电力系统中应用研究