董 胡
(长沙师范学院电子与信息工程系,湖南 长沙 410100)
多特征和APSO-QNN相结合的语音端点检测算法
董 胡
(长沙师范学院电子与信息工程系,湖南长沙410100)
针对传统端点检测算法在多种复杂噪声环境下端点检测正确率低、鲁棒性较弱的问题,提出多特征和加速粒子群优化量子神经网络(APSO-QNN)相结合的端点检测算法。该算法通过提取语音信号的短时能量特征、循环平均幅度差函数特征、频带方差特征及美尔频率倒谱系数特征,将这些特征量输入量子神经网络(QNN)进行学习并利用加速粒子群算法对量子神经网络参数进行优化,构建语音端点检测模型,实现对信号的类型的判别。仿真实验结果表明,该方法不仅提升了语音端点检测的正确率,而且降低了虚检率与漏检率,具有较强的抗噪鲁棒性。
端点检测;加速粒子群优化;量子神经网络;正确率;鲁棒性
语音端点检测在语音识别的预处理阶段具有相当重要的地位,对识别结果的正确率影响较大[1]。理想环境下,单特征的端点检测算法能获得比较良好的端点检测结果;然而,语音端点检测在多种复杂噪声环境处理过程中,对低信噪比的信号难以保证端点检测起止位置的正确性,有可能将噪声信号错误地判别为语音信号,存在端点检测正确率不高、抗噪鲁棒性不强等缺点。为取得较好的端点检测效果,国内外相关研究人员提出了基于组合特征的语音端点检测算法,多特征更有利于反映语音性质,提高了端点检测算法在复杂噪声环境下的鲁棒性[2]。
伴随着非线性技术的发展,出现了支持向量机、模拟退火、神经网络等非线性的端点检测方法,极大地提高了端点检测的正确率,尤其是QNN有较强的自学习和非线性映射能力,得到了广泛应用[3]。QNN参数的选取与端点检测结果的优劣有密切的联系,目前QNN参数的优化主要采用遗传算法、粒子群算法等,但它们或多或少都有一些缺陷[4]。本文针对上述问题,提出了一种多特征和APSO-QNN相结合的语音端点检测算法。
为提高端点检测的正确率,将短时能量特征、循环平均幅度差函数特征、频带方差特征及美尔频率倒谱系数特征进行组合,当相关性不大的特征参数组合在一起时,能获得更佳的端点检测效果。首先对给定的语音信号作预处理,接着提取特征参数,最后将上述特征量当作量子神经网络的输入。
1.1 短时能量特征提取
短时能量作为端点检测中常用的一种特征参数,语音信噪比较高时其效果较明显[5]。短时能量可利用清浊音能量不一样的特点来区分浊音段和清音段;它也能用于区分声母与韵母的分界及无话段与有话段的分界。
信号{x(n)}的短时能量En定义如下:
(1)
式(1)中,G(m)代表窗函数。若短时能量所取的帧长为N,则短时能量定义为:
(2)
1.2 循环平均幅度差函数(CAMDF)特征提取
作为一种与能量有关的参量, 短时平均幅度差函数(AMDF)既可用于检测基音, 也可用来区分语音段和非语音段。为克服AMDF峰值幅度随时间滞后的增加而逐步下降的弊端,文献[6]提出了循环平均幅度差函数(CAMDF),定义式如下:
(m=0,1,…,N-1)
(3)
式(3)中,N代表帧长,mod(n+m,N)表示对n+m进行模为N的求模取余运算。
CAMDF还具有较好的抗噪声特性,对谐波与共振峰的影响不太敏感。
1.3 频带方差特征提取
语音和噪声二者频谱特性存在较大的差别, 语音段的能量与频带的变化通常较大,而噪声段能量却较小, 并且频带的变化相对平缓。频带方差就是根据这一特征定义的特征参数。
设第i帧语音为xi(m),对xi(m)实行离散快速傅里叶变换(FFT)得到如下频谱:
(4)
令Xi={Xi(1),Xi(2),…,Xi(N)},则其幅值均值表示如下:
(5)
最终方差Di表示如下:
(6)
1.4 美尔频率倒谱系数(MFCC)特征提取
MFCC特征作为一种标准化的特征参数,在语音信号处理中使用较广泛且容易获得;此外,MFCC具有对卷积性信道失真进行补偿的能力。鉴于以上原由,MFCC被证明是在信号处理方面应用最成功的特征描述之一[7]。MFCC特征提取步骤如下:
1)对初始语音作预加重、分帧、加窗等操作,得到每个语音帧的时域信号x(n),然后由DFT处理可得离散频谱x(k)。设语音信号的DFT表示为:
(7)
然后取频谱的模的平方|x(k)|2,得到离散能量谱,其中x(n)为输入语音信号,N为FFT点数。
2)将离散能量谱通过Mel频率滤波器组,计算每个滤波器组的对数能量:
(8)
3)经离散余弦变换(DCT)可得MFCC特征系数:
(9)
2.1APSO算法
APSO不仅具有建模简单、易于实现等优点,还能进一步加快粒子群收敛速度。PSO算法是对鸟群觅食的生物群体的社会信息共享机制的模拟[8]。具体表示如下:
假设一个群体含有n维目标搜索空间,且包含每个粒子,其中某个粒子在搜索空间中的位置为xi={xi1,xi2,xi3,…,xin},第i个粒子的飞行速度为vi={vi1,vi2,vi3,…,vin},其中i表示单一个体,i=1,2,…,m。每个粒子飞行经过的最好位置就是粒子本身找到的最优解,称为个体极值,表示为pi={pi1,pi2,pi3,…,pin},整个群体经过的最好位置即为整个群体找到的最优解,称pg={pg1,pg2,pg3,…,pgn},每个粒子都通过pi和pg来不断地更新自己。对于一个位置为xi速度为vi的粒子,其速度在新的时间步长按下式更新[9]。
(10)
式(10)中,i为粒子个体,t为迭代次数,r1和r2为介于[0,1]之间的独立随机数,C1和C2表示加速度限定因子,其中C1用于调节粒子向各自最优位置行进的步长,C2用于调节个体向全局粒子最优位置行进的步长。由文献[10]可知,r1和r2取值需达到下述条件:
(11)
式(11)中,w代表粒子惯性权重因子,用当前粒子的速度来控制下一代粒子的速度。由文献[11]可知,惯性权重因子满足下述关系式:
w=wend+(win-wend)(tmax-t)/tmax
(12)
式(12)中,tmax代表最大的迭代次数,t代表当前迭代次数,win与wend分别表示最初和最终的权重因子,w值越大,全局搜索能力越强;相反,局部搜索能力就越强。为了避免PSO过早收敛,win与wend的最优值分别取0.9和0.4。粒子i在迭代过程中位置更新如下:
(13)
式(13)中,Δt代表时间步长。
PSO算法之所以使用个体最优解pi和群体最优解pg,主要是为了提高粒子群优化解决方案多样性的品质。然而,多样性可以使用一些随机性模拟,因此,没有必要使用个体最优解pi,除非最优化的对象是高度非线性化和多模式。一个简单的加快粒子群优化收敛方法即只需使用群体最优解pg。
用下述公式更新粒子位置可进一步加快PSO的收敛速度:
(14)
式(14)中,rn为介于[0,1]之间的独立随机数,C1典型取值范围[12]为[0.1,0.4],C2典型取值范围为[0.1,0.7]。
2.2QNN及参数优化
2.2.1QNN
QNN具有网络规模小、网络拓扑简单、稳定性和可靠性好、快速学习、高速信息处理能力等优点。QNN的拓扑结构[13]如图1示。
图1 QNN的拓扑结构Fig.1 Topology structure of QNN
该拓扑结构与前馈型神经网络类似,输入层有L个输入神经元,采用量子表示形式进行输入;隐层和输出层的神经元采用量子神经元结构,分别具有K个和N个量子神经元。其中,单个量子神经元的模型如图2示。
图2 量子神经元模型Fig.2 Quantum neuron model
QNN模型的传递函数[14]为:
(15)
(16)
|h>k=P(Zk),k=1,2,3,…,K
(17)
其中,|U>k为第k个量子神经元参数的量子态表示式,实际为复数形式;G(x)=1/(1+exp(-x))。
P(θ)为相移门(P门),矩阵表示形式为:
(18)
2.2.2QNN参数优化
尽管QNN具有较多的优点,但它存在收敛速度慢、易陷入局部极小、学习过程易发生震荡等缺陷。针对这些缺陷,可采用APSO算法对QNN的参数实行优化,具体优化过程见APSO-QNN语音端点检测算法。
2.3 基于APSO-QNN的语音端点检测算法步骤
步骤1:量子神经网络建模,设QNN隐层节点包含K×L个θ和K个λ,输出层节点所包含的K×N个θ和N个λ,其中K为隐节点个数,L为输入节点的个数,N为输出层节点个数,θ和λ分别被称作相位转动系数及相位控制因子。对APSO和QNN相关参数作初始化。
步骤2:随机选择一段含语音段和噪声的信号,将短时能量、循环平均幅度差函数、频带方差及美尔频率倒谱系数特征量作为QNN输入,人工标示出每帧信号起止作为QNN的输出,完成QNN训练样本构建。
步骤3:将训练样本输入QNN进行训练,由于随机确定QNN初始参数会导致检测结果与实际结果间产生较大差异,所以通过APSO对QNN优化,使QNN输出与理想输出值达到预先设计要求,进而完成QNN训练。QNN参数具体优化步骤如下:
1)对等待优化和学习的参数进行初始化。在仿真中,将优化用粒子的飞行位置及速度向量设计成两维,其中,行表示各个待学习参数,列表示优化用飞行粒子。
2)根据步骤1)来计算整个QNN的输出|Y>n,定义适应度函数如下:
(19)
式(19)中:|O>n表示第n个输出神经元目标输出的量子态表示式,|Y>n为第n个输出神经元实际输出的量子态表示式。
钢制安全壳(C V,Containment Vessel)是核电站反应堆第三道安全屏障,也是最后一道安全屏障。我国在建的AP1000三代核电机组,现场钢制安全壳的焊接所采用的仍然是传统的手工焊,焊工劳动强度高,焊接效率低;同时,手工焊接容易受工作环境、焊工状态等诸多因素的影响,焊缝质量不够稳定。在西方发达国家,自动焊工艺已成功应用于核电机组钢制安全壳的拼装焊接。因此,为适应我国核电产业快速发展、缩短安装周期、提高焊接质量,有必要研究核电站钢制安全壳自动焊工艺,并逐步应用于工程建设中。
3)通过APSO的速度与位置公式来更新每一个粒子当前的速度和位置。粒子i当前速度更新简化如下:
(20)
粒子i当前位置更新简化如下:
(21)
4)计算和评价每一个粒子的适应度,从而更新个体的极值和全局的极值。
5)进行早熟判断及相关处理。
6)检验结束条件。当满足结束条件时,即得到QNN的隐层和输出层的参数θ、λ的最优值;然后,再将该参数进行存储,优化过程即结束。否则转至3)继续搜寻。
QNN参数优化流程见图3示。
图3 QNN参数优化流程图Fig.3 QNN parameter optimization flow chart
步骤4:用训练好的QNN对原来训练样本进行计算,并输出检测结果,门限值定为0.5,若输出结果大于0.5,则认为当前帧为语音帧,否则为非语音帧,然后将实际输出结果与标示好的信号语音帧进行对比,若QNN训练效果不佳,则需重新对其进行训练。
步骤5:进行语音端点检测。取一段语音信号,提取其特征量,接着采用训练好的QNN对其进行检测,最终输出语音端点检测结果。
实验用的含噪语音样本(-5 ~10 dB)由TIMIT语音库中的186条纯洁语音及NOISEX-92噪声库中的5种噪声(white噪声、volvo噪声、pink噪声、bable噪声及factory噪声)混合而成。在Win10平台下运行,采用Matlab R2015b软件进行仿真,采样率为16 kHz,16 bit量化,帧长为32 ms,帧移为6 ms。
3.2 结果及分析
3.2.1端点检测算法性能比较
为了检验多特征+APSO-QNN算法的端点检测效果,选择另外3种端点检测算法作比较:多特征+BP神经网络[15]、多特征+线性模型、短时能量+APSO-QNN。端点检测算法性能指标为:正确率、虚检率、漏检率[16]、检测速度。4种语音端点算法在SNR=-5 dB的不同类型噪声环境下的检测结果见表1。
表1 4种语音端点检测算法性能比较
对表1所示端点检测算法的性能进行如下分析,可得下述结论:
1)在white噪声环境下,4种端点检测算法的正确率相对较高;当噪声环境分别变为volvo噪声、pink噪声、bable噪声及factory噪声时,4种端点检测算法的性能均出现下降,但多特征+线性模型端点检测算法表现得最糟糕,基本失去端点位置区分能力,达不到实际应用需求,原因在于它基于线性建模,无法有效反映语音信号的动态变化规律,而基于多特征+APSO-QNN的端点检测正确率仍比较高,这说明量子神经网络具有很强的环境自适应性及鲁棒性。
2)相对于单一特征(短时能量+APSO-QNN)与多特征+BP神经网络、多特征+线性模型算法,多特征+APSO-QNN的端点检测性能表现更优异。多特征+APSO-QNN结合了加速粒子群优化算法和量子神经网络二者的优势,表现出更强的抗噪性,不仅能有效提高语音端点检测的正确率,而且降低了端点的虚检率和漏检率。
实际应用中,端点检测速度是一项比较重要的评价指标,为进一步比较上述4种语音端点检测算法性能,在相同的实验条件下,以检测SNR=-5 dB的volvo含噪语音为例,取8次重复试验后的平均值作为最终的时间数据。具体检测时间见表2。
表2 端点检测速度比较
从表2可知,多特征+APSO-QNN的训练时间和检测时间都最短(除了采用单一特征的短时能量+APSO-QNN算法),将短时能量、循环平均幅度差函数、频带方差及美尔频率倒谱系数作为语音特征量输入量子神经网络进行训练,同时采用加速粒子群优化算法对量子神经网络相关参数进行优化,提升了量子神经网络的计算速度,使得该算法端点检测实时性更强。
3.2.2实际噪声环境下有效性检测
给一段纯净语音信号添加pink噪声,构成SNR=-5 dB的含噪语音信号,接着分别采用多特征+APSO-QNN算法、多特征+BP神经网络算法、多特征+线性模型算法及短时能量+ APSO-QNN算法对其进行端点检测,最终端点检测结果如图4所示(图中虚线代表语音起始位置,竖线代表语音终止位置)。由图4可知,相对于另外3种端点检测算法,多特征+APSO-QNN算法能更准确地检测出含噪语音信号的起止端点位置,具有较好的抗噪鲁棒性。
图4 SNR=-5 dB pink噪声环境下端点检测效果比较Fig.4 Endpoint detection performance comparison under SNR=-5 dB pink noise environment
本文提出了多特征和APSO-QNN相结合的语音端点检测算法。该方法通过提取语音信号的短时能量特征、循环平均幅度差函数特征、频带方差特征及美尔频率倒谱系数特征,将这些特征量输入量子神经网络进行学习,利用加速粒子群算法对量子神经网络的参数进一步优化,构建语音端点检测模型并对信号的类型作出判别。仿真实验结果表明,本方法不仅有较高的正确率与检测速度,而且拥有较低的虚检率与漏检率,性能更加稳定、可靠,具有更好的实际应用意义。但多特征语音信号之间存在信息冗余,如何消除冗余信息,进一步提升端点检测性能,是后续需进一步研究的方向。
[1]胡航.语音信号处理[M].哈尔滨:哈尔滨工业大学出版社,2007.
[2]项要杰,杨俊安,李晋徽,等.关联小波神经网络与高斯混合模型说话人识别[J].探测与控制学报, 2013,35(6):65-70.
[3]叶蕾,杨震,郭海燕.基于小波变换和压缩感知的低速率语音编码方案[J].仪器仪表学报, 2010,31(7):1569-1575.
[4]Hung W W, Wang H C. On the use of weighted filter bank analysis for the derivation of robust MFCCs[J]. IEEE Signal Processing Letters,2001, 8(3): 70-73.
[5]Saito A, Nankaku Y, Lee A, et al. Voice activity detection based on conditional random fields using multiple features[C]// INTERSPEECH 2010, Conference of the International Speech Communication Association. Makuhari, Chiba, Japan: ISCA, 2010:2086-2089.
[6]张文耀,许刚,王裕国.循环AMDF及其语音基音周期估计算法[J].电子学报,2003,31(6):886- 890.
[7]张学锋,王芳,夏萍.融合LPC与MFCC的特征参数[J].计算机工程,2011,37(4):216-217.
[8]陆真,裴东兴,刘莉,等.基于改进小波阈值函数和PSO的语音增强算法[J].激光杂志,2016(2): 141-145.
[9]马家辰,胡佳俊,马立勇,等.基于改进型粒子群算法的有源噪声控制[J].计算机应用研究,2015(9): 35-39.
[10]Reyes-Sierra M, Coello Coello C A. Multi-objective particle swarm optimizers: A survey of the state-of-the-art[J].International Journal of Comput-ational Intelligence Research,2006,2(3):287-308.
[11]Shi Y, Eberhart R C. Parameter selection in particle swarm optimization[C]// International Conference on Evolutionary Programming Vii. Germany: Springer-Verlag, 1998: 591-600.
[12]Kunche P, Reddy K V V S. Application of Meta-Heuristics to Speech Enhancement[M]. Germany: Springer International Publishing, 2016.
[13]付丽辉.一种基于改进的量子神经网络的语音降噪方法[J].信息与控制,2010,39(4):466-471.
[14]Purushothaman G,Karayiannis N B. Quantum neural networks (QNNs): inherently fuzzy feed-forward neural networks[J]. IEEE Transactions on Neural Networks,1997,8 (3):679-93.
[15]金敏.多特征和神经网络相结合的语音端点检测算法[J].计算机应用与软件,2013,30(5):307-310.
[16]徐亚明,石娟,安动动,等.利用影像分割和匹配特征进行无人机影像变化检测[J].武汉大学学报(信息科学版),2016,41(10):1286-1291.
SpeechEndpointDetectionAlgorithmBasedonMultipleFeaturesandAPSO-QNN
DONG Hu
(Department of Electronic and Information Engineering, Changsha Normal University, Changsha 410100,China)
Aiming at the problem of low endpoint detection accuracy and weak robustness of traditional endpoint detection algorithm in multiple complex noise environment, an endpoint detection algorithm which combines multiple features and accelerated particles swarm optimizes quantum neural network (APSO-QNN) was proposed in this paper. By extracting short-time energy feature, circle average magnitude difference function feature, frequency band variance feature and mel-frequency cepstral coefficient feature of speech signal, the features of which were sent to quantum neural networks (QNN)for learning. The method used accelerated particle swarm algorithm to optimize quantum neural network parameters, and making model of speech endpoint detection, then the type of signal was judged.The simulation experimental results proved that this method not only improved the speech endpoint detection accuracy, but also reduced the virtual detection rate and missing rate, and had strong noise robustness.
endpoint detection; accelerate particle swarm optimization; quantum neural network; correct accuracy; robustness
2017-01-09
:国家自然科学基金项目资助(61074067);湖南省自然科学基金项目资助(2015JJ6007);湖南省教育厅科学研究项目资助(12C0952);湖南省科技厅科技计划项目资助(2012FJ3010);长沙师范学院科研项目资助(XXYB201517)
:董胡(1982—),男,湖北黄岗人,博士研究生,讲师,研究方向:信号处理及嵌入式设计。E-mail:wjd3203@163.com。
TP391.4
:A
:1008-1194(2017)04-0090-06