基于卷积神经网络的面罩语音识别*

2017-11-01 07:19杜桂明王光艳
传感器与微系统 2017年10期
关键词:维纳滤波面罩识别率

王 霞, 杜桂明, 王光艳, 张 艳

(1.河北工业大学 电子信息工程学院,天津 300401; 2.天津商业大学 信息工程学院,天津 300134)

基于卷积神经网络的面罩语音识别*

王 霞1, 杜桂明1, 王光艳2, 张 艳1

(1.河北工业大学电子信息工程学院,天津300401;2.天津商业大学信息工程学院,天津300134)

针对带噪面罩语音识别率低的问题,结合语音增强算法,对面罩语音进行噪声抑制处理,提高信噪比,在语音增强中提出了一种改进的维纳滤波法,通过谱熵法检测有话帧和无话帧来更新噪声功率谱,同时引入参数 控制增益函数;提取面罩语音信号的Mel频率倒谱系数(MFCC)作为特征参数;通过卷积神经网络(CNN)进行训练和识别,并在每个池化层后经局部响应归一化(LRN)进行优化。实验结果表明:该识别系统能够在很大程度上提高带噪面罩语音的识别率。

面罩语音识别; 卷积神经网络; 语音增强; 维纳滤波法

0 引 言

面罩语音识别有助于潜水人员的交流[1],近些年,深度神经网络(deep neural network,DNN)在语音识别上显示出了独特的优势。2012年,Ossama Abdel-Hamid等人通过研究发现,卷积神经网络(convolutional neural network,CNN)相对于神经网络(NN)和通过限制玻尔兹曼机(restricted Boltzmann machine,RBM)初始化权重的NN识别率较高[2]。2013年,Tara N Sainath等人通过比较CNN与DNN和高斯混合模型(Gaussian mixture model,GMM)的语音识别性能,得出了CNN在语音识别上有更好的性能[3]。2014年,Ossama Abdel-Hamid等人又对CNN进行了深入研究,得出了CNN相对于DNN性能有很大的提高[4]。2015年Takuya Yoshioka等人提出了CNN-DNN-HMM的模型来进行语音识别[5];张晴晴通过比较CNN的尺寸来分析CNN在语音识别方面的性能[6]。2016年,Qian Yanmin等人研究改变卷积层的数量、大小和池化层的尺寸等实现了错词率的下降,通过搭建与长短记忆—循环神经网络(LSTM-RNN)相结合的模型,错词率也有所下降[7]。

实际中,浅海水声通信通常会有海洋噪声的干扰,导致语音识别的识别率严重下降,影响人机交互的正常进行。

本文设计了面罩语音识别系统,提出了一种改进的维纳滤波算法对带有海洋噪声面罩语音增强,然后通过优化的CNN来进行面罩语音识别,与级联谱减法和维纳滤波法相比,该识别系统具有较好的识别效果。

1 CNN算法原理

CNN由输入层、输出层和中间的隐含层组成,中间的隐含层由多对卷积层、池化层交替组成。属于多阶段全局可训练的神经网络模型,主要有三个特征:局部接收域、全局共享和子采样[8,9]。这些特征可以保证在输入目标平移、缩放和扭曲一定程度上的不变性,结构如图1所示。

图1 CNN的结构

假设语音信号作为输入层且有B个频带,则有v=[v1v2…vb…vB],vb为频带b对应的特征矢量。卷积层的激活值被分为K个频带,每个频带包含J个滤波器激活值。假设每个频带定义为hk=[hk,1hk,2…hk,J],卷积层的激活值可以通过前一层的值与卷积核进行卷积运算得到

(1)

式中θ(x)为非线性激活函数,本文采用Relu函数;s为输入层滤波器的大小;wb,j为对应的权重矢量。

假设池化层被划分为M个频带,每个频带接收r个卷积层激活值,通常有最大值采样和均值采样,本文采用最大池化,对n个频带取最大值,则m个频带的激活值,定义为pm=[pm,1pm,1…pm,J]T计算过程如下

pm,j=max(hm×n+k,j)

(2)

式中k从1到r,r为采样的大小。输入层到卷积层中间有多个卷积核,可以在卷积层得到相同数量的特征图,采样层是对卷积层的采样,因此,特征图的大小会改变而数量不会改变,交替进行,再加一个全连接层,最后由分类器输出结果。输出的结果与对应的标签比较,通过反向传播算法,调整权值,使之最佳,最终得到性能最好的神经网络。

2 基于CNN的面罩语音识别

2.1 算法整体流程

整体算法流程如图2所示。

图2 整体算法流程

算法分为2个阶段:训练阶段和识别阶段。前者利用未带噪声的面罩语音来训练CNN;后者对带噪的面罩语音进行识别。首先对测试集的面罩语音进行增强处理,抑制海洋噪声,然后分别对训练集和测试集进行端点检测,本文采用双门限法,对检测到的有话段提取Mel频率倒谱系数(Mel frequency cepstrum coefficient,MFCC)作为训练网络和测试网络的输入。

2.2 面罩语音增强

2.2.1谱减法

谱减法[10]的基本原理如图3所示。先对语音信号进行快速傅里叶变换(fast Fourier transform,FFT),将语音信号转换到频域,计算语音信号的功率谱并根据语音信号前导无音段估计噪声的平均功率谱,那么用语音信号的功率谱减去噪声的功率谱,得到干净语音信号的功率谱,最后根据保留的相角,用快速傅里叶逆变换(inverse FFT,IFFT)合成时域的语音信号,即增强后的语音信号。

图3 谱减算法基本原理

2.2.2维纳滤波算法

假设语音信号为

y(n)=s(n)+d(n)

(3)

式中s(n)为语音信号;d(n)为噪声信号;经FFT后,语音信号由时域变换到频域,因此有

Yi(k)=Si(k)+Di(k)

(4)

维纳滤波法[11]滤波器的增益函数为

(5)

式中ξi(k)为先验信噪比。则增强后的语音为

(6)

2.2.3谱熵法

假设语音信号为s(n),加窗分帧后得到第i帧语音信号为Si(m),经过FFT后,第k条线谱线频率分量fs的能量谱为Yi(k),则每个频率分量的归一化概率密度为

(7)

式中N为FFT的长度,则每个语音帧的短时谱熵

(8)

根据最大离散定理可知,等概率分布时熵达到最大值,对于噪声来说,归一化谱概率密度分布比较均匀,谱熵[12]值相对于语音比较大,因此,可以利用这个特性进行端点检测,进而判断有话帧和无话帧。

2.2.4改进的维纳滤波算法

通过谱熵法检测无话帧,更新噪声的功率谱,引入参数 来控制增益函数,减少语音信号的失真。

1)根据无话段估计噪声的平均功率谱作为初始值,NIS为前导无话段帧数

(9)

2)通过谱熵法端点检测判断有话帧和无话帧,对于无话帧,更新噪声功率谱;对于有话帧,先计算其后验信噪比

(10)

3)根据后验信噪比计算其先验信噪比

(11)

式中α为平滑参数。

4)求增益函数Gi(k)。为减少语音失真,引入增益函数控制参数β,此时的增益函数为

(12)

随着β的增大,在减少噪声的同时,也会引入语音的失真,通过多次实验优化参数β,本实验β取值2/3。

2.3 特征参数提取

特征参数采用语音信号的美尔频率倒谱系数,基于人耳的听觉特性,将语音信号的频谱转换到感知域中,能更好模拟人的听觉机理。本文取美尔频率倒谱系数和一阶对数能量谱及其一阶差分系数和二阶差分系数,即每帧语音信号的维数为39维。

2.4 改进的CNN

本文的CNN结构为:不包括输入层在内,采用了6层的CNN,前4层为卷积层和池化层交替进行,卷积核的大小为5×5,池化的大小为2×2,特征图的个数分别为10和20个,在每个池化层后增加了局部响应归一化(local response normalization,LRN)处理优化神经网络,接着是全连接层和输出层,输出层采用Softmax分类器。其中LRN模仿生物神经系统的“侧抑制”机制,对局部神经元的活动创建竞争环境,使得其中较大的值变得更大,并抑制其他值较小的神经元,增强整个神经网络的泛化能力。CNN的训练过程如下:

1)神经网络的前向传播,并计算出传播过程中L2,L3,…,Lnt各层节点的激活。

2)对于最后一层输出层,计算输出值和样本的残差

δ(nt)=-(y-a(nt))·f′(z(nt))

(13)

3)对于中间的隐含层,计算各个节点的残差

δ(l)=-((wl)Tδ(l+1))·f′(zl)

(14)

4)计算最终需要的偏倒数

(15)

(16)

5)使用梯度下降法,对网络的参数w和b进行调整

(17)

(18)

使用梯度下降法调节神经网络结构参数的目的为使代价函数获得最小值,能得到性能最佳的神经网络结构代价函数的定义为

(19)

全体代价函数的定义为

(20)

3 实验结果与分析

3.1 仿真平台搭建

实验仿真的平台为谷歌的TensorFlow深度学习框架,实验面罩语音采用10个同学(4个男生,6个女生)录制的20个孤立词,共1400个面罩语音作为实验的语音,其中,1000个作为训练集,剩下的400个作为测试集。面罩语音为单声道、采样频率为16000Hz,编码数16bit,帧长为25ms,帧移为10ms,提取语音信号的Mel频率倒谱系数作为特征参数。

3.2 仿真结果与分析

3.2.1面罩语音增强结果与分析

先对面罩语音进行增强处理,分别用谱减法和维纳滤波法对添加不同信噪比(-5,0,5,10dB)海浪和海水噪声的面罩语音增强。图4给出了原始语音信号的时域波形,图5给出了海浪和海水噪声干扰下,谱减法、维纳滤波法和本文方法时域波形,信噪比为0dB。

图4 原始语音

(a) 海浪

(b) 海水图5 海浪和海水噪声环境下增强后波形

从图5中可以看出,谱减法在增强过程中,会产生明显的音乐噪声,维纳滤波法在对海浪噪声干扰下的面罩语音增强过程中会产生轻微的失真,改进的维纳滤波法相对于谱减法音乐噪声减小,相对于维纳滤波法失真减小。

3.2.2面罩语音识别结果与分析

实验分别用传统和增加了LRN处理的CNN对未加噪声的面罩进行训练和识别。针对本实验录制的面罩语音,2种算法均能够实现较高的识别率,未加LRN处理的识别率为98%,加LRN处理后的识别率为98.50%,结果表明优化的可行,且相对于不加LRN处理的识别率有所提高。

测试本文设计的识别系统,其中SS代表谱减法,WF代表维纳滤波法,IWF代表改进的维纳滤波法,CNN代表已经优化的CNN。表1和表2分别给出了本文算法对于添加不同信噪比海浪噪声和海水噪声面罩语音的识别率。

表1 添加海浪噪声4种方法的识别率

表2 添加海水噪声4种方法的识别率

由数据可以看出,只用CNN识别在低信噪比的情况下识别率非常低,随着信噪比的提高识别率会有所提高。即在海洋背景噪声大的情况下,面罩语音识别的性能很差。本文系统能够显著提高面罩语音的识别率。

4 结束语

本文提出了一种结合语音增强算法与优化的卷积神经网络的面罩语音识别方法,通过在池化层后做局部响应归一化处理,提高了卷积神经网络的泛化能力,实验结果表明,该系统能够在很大程度上提高带有不同信噪比海洋噪声的面罩语音识别率,本文提出的语音增强算法与CNN相结合的方法对带噪面罩语音的识别效果更好。在低信噪比下,面罩语音识别率虽然有较大提高,但总体识别率仍然有待提高。

[1] 杨士莪.研究海洋 开发海洋——海洋环境及海洋资源调查、监测技术概述[J].舰船科学技术,2008,30(5):17-19.

[2] Abdel-Hamid O,Mohamed A R,Jiang H,et al.Applying convolutional neural networks concepts to hybrid NN-HMM model for speech recognition[C]∥IEEE International Conference on Acoustics,Speech and Signal Processing,IEEE,2012:4277-4280.

[3] Sainath T N,Mohamed A R,Kingsbury B,et al.Deep convolutio-nal neural networks for LVCSR[C]∥IEEE International Confe-rence on Acoustics,Speech and Signal Processing,IEEE,2013:8614-8618.

[4] Abdel-Hamid O,Mohamed A R,Jiang H,et al.Convolutional neural networks for speech recognition[J].IEEE/ACM Transactions on Audio Speech & Language Processing,2014,22(10):1533-1545.

[5] Yoshioka T,Karita S,Nakatani T.Far-field speech recognition using CNN-DNN-HMM with convolution in time[C]∥IEEE International Conference on Acoustics,Speech and Signal Processing,IEEE,2015:4360-4364.

[6] 张晴晴,刘 勇,潘接林,等.基于卷积神经网络的连续语音识别[J].工程科学学报,2015,37(9):1212-1217.

[7] Qian Y,Woodland P C.Very deep convolutional neural networks for robust speech recognition[C]∥IEEE Global Conference on Signal and Information Processing,IEEE,2016:481-488.

[8] Huang J T,Li J,Gong Y.An analysis of convolutional neural networks for speech recognition[C]∥IEEE International Conference on Acoustics,Speech and Signal Processing,IEEE,2015:4989-4993.

[9] 张 军,张 婷,杨正瓴,等.深度卷积神经网络的汽车车型识别方法[J].传感器与微系统,2016,35(11):19-22.

[10] 宋知用.Matlab在语音信号分析与合成中的应用[M].北京:北京航空航天大学出版社,2013.

[11] Cheng C.Research on speech enhancement based on Wiener filtering[J].Applied Mechanics & Materials,2014,513-517:3130-3133.

[12] 杜志然,周 萍,景新幸,等.基于谱熵的耳语音增强研究[J].传感器与微系统,2012,31(6):69-72.

Maskspeechrecognitionbasedonconvolutionalneuralnetwork*

WANG Xia1, DU Gui-ming1, WANG Guang-yan2, ZHANG Yan1

(1.SchoolofElectronicandInformationEngineering,HebeiUniversityofTechnology,Tianjin300401,China;2.SchoolofInformationEngineering,TianjinUniversityofCommerce,Tianjin300134,China)

Aiming at problem of low mask speech recognition rate of noise mask speech,mask speech recognition method based on improved convolutional neural network(CNN) is proposed.Combine speech enhancement algorithm to suppress noise of mask speech and increase signal-to-noise ratio(SNR).An improved Wiener filtering algorithm is proposed for speech enhancement.Using spectral entropy algorithm to detect the frame which has speech to update noise power spectrum.At the same time,introducing parameterβto control gain function.Extract Mel frequency cepstrum coefficient(MFCC) as characteristic parameters.Use CNN for training and recognization.The CNN includes two convolution layers,two pooling layers,one fully connected layer and a softmax classifier.And add local response normalization(LRN) after every pooling layer to optimize CNN.The experimental results show that the recognition system can greatly improve the recognition rate of noisy mask speech.

mask speech recognition; convolutional neural network(CNN); speech enhancement; Wiener filtering algorithm

2017—08—30

天津市自然科学基金重点资助项目(14JCZDJC32600)

10.13873/J.1000—9787(2017)10—0031—04

TN 912

A

1000—9787(2017)10—0031—04

王 霞(1970-),女,博士,教授,硕士生导师,研究领域为计算机视觉、语音信号处理,E—mail:wangx@hebut.edu.cn。

猜你喜欢
维纳滤波面罩识别率
一种新型防压疮无创面罩的设计与应用
理想面罩
基于类图像处理与向量化的大数据脚本攻击智能检测
多级维纳滤波器的快速实现方法研究
自适应迭代维纳滤波算法
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
提升高速公路MTC二次抓拍车牌识别率方案研究
基于多窗谱估计的改进维纳滤波语音增强
基于维纳滤波器的去噪研究
民航客机上的氧气面罩