一种基于双层gmm结构和vts特征补偿的孤立词识别方法

xiaoxiao2020-10-23  17

一种基于双层gmm结构和vts特征补偿的孤立词识别方法
【技术领域】
[0001] 本发明涉及语音识别领域,具体涉及一种基于双层GMM结构和VTS特征补偿的孤 立词识别方法。
【背景技术】
[0002] 近年来,随着语音技术的发展,孤立词识别技术在通信、消费电子、自助服务、办公 自动化等多个领域得到了广泛应用,这些设备通常使用或者安装在嘈杂的公共场所,不可 避免地受到各种干扰,而干扰会严重影响孤立词识别系统的性能。此外,孤立词识别系统识 别时间较长成为移植到嵌入式、投入实际应用的不利因素。移动设备、自助服务设备的本机 孤立词识别系统补偿模块计算量大,如何通过算法改进、优化,降低特征补偿的计算量,同 时不降低系统性能,从而提高系统的实际应用能力,成为了现有技术发展的方向。

【发明内容】

[0003] 发明目的:为了克服现有技术中存在的不足,本发明提供一种基于双层GMM结构 和VTS特征补偿的孤立词识别方法,通过建立两层GMM模型和HMM模型,减少了特征补偿模 块的计算量,解决了现有技术的不足。
[0004] 技术方案:为实现上述目的,本发明采用的技术方案为:
[0005] 一种基于双层GMM结构和VTS特征补偿的孤立词识别方法,其特征在于,包括纯净 环境和测试环境;该方法包括以下步骤:
[0006] 1)模型训练阶段:在纯净环境下,利用所有孤立词的纯净训练语音训练数据分别 得到两个表示纯净环境下所有孤立词的特征参数分布的高斯混合模型GMM,同时利用各个 孤立词的纯净训练语音训练生成各个孤立词对应的表示纯净环境下每个孤立词的特征参 数分布的HMM模型;
[0007] 所诉两个高斯混合模型GMM包括高斯单元混合数设置为10的GMM1和高斯单元混 合数设置为100的GMM2 ;
[0008] 2)基于特征补偿的识别阶段:在测试环境下,利用矢量泰勒级数VTS进行特征补 偿,基于步骤1)得到的GMM1模型,通过最大似然概率准则ML进行噪声参数估计,估算出测 试语音中噪声的均值和方差;接着基于步骤1)得到的GMM2模型,通过最小均方误差估计准 则丽SE,将测试环境下含噪语音MFCC特征参数映射为纯净MFCC特征参数;最后将所述纯 净MFCC特征参数与步骤1)得到的HMM模型进行匹配,得到最终识别结果。
[0009] 进一步的,步骤1)具体包括模型训练步骤:
[0010] 1.1)对纯净训练语音数据进行预处理,所述预处理过程包括预加重、分帧加窗和 端点检测;
[0011] 1. 2)对步骤1. 1)中得到的每一帧语音信号提取MFCC特征参数,得到纯净环境下 所有孤立词的纯净语音MFCC特征参数;
[0012] 1. 3)利用步骤1. 2)中所有孤立词的纯净语音MFCC特征参数分别训练得到高斯混 合数为10的GMM1模型,和高斯混合数为100的GMM2模型;
[0013] 1.4)利用步骤1.2)中所有孤立词中每个孤立词的纯净语音MFCC特征参数,训练 得到每个孤立词对应的HMM模型。
[0014] 进一步的,步骤2)基于特征补偿的识别阶段具体包括以下步骤:
[0015] 2. 1)测试语音经过预处理过程,该预处理过程包括预加重、分帧加窗、端点检测和 提取测试环境下的含噪语音MFCC参数;
[0016] 2.2)基于矢量泰勒级数方法和纯净环境下的GMM1模型和步骤2.1)得到的含噪 语音MFCC参数,基于最大似然概率准则ML估计测试语音中噪声的均值和方差;得到噪声参 数;
[0017] 2.3)利用步骤2.2)估计出的噪声参数和GMM2模型,基于最小均方误差准则 丽SE,将当前测试语音的含噪MFCC特征参数映射为纯净MFCC特征参数;
[0018] 2. 4)将每个孤立词HMM模型作为识别模型,对经过步骤2. 3)映射后的纯净MFCC 特征参数进行概率计算,得到最终的孤立词识别结果。
[0019] 进一步的,所述MFCC特征参数为26维,该参数包括13维MFCC参数和13维一阶 差分MFCC参数;所述HMM模型的混合数为4,状态数为6。
[0020] 有益效果:与现有基于单个GMM模型和VTS特征补偿的孤立词识别算法相比,本 发明提出的基于双层GMM结构和VTS特征补偿的孤立词识别方法,在识别率基本不变的情 况下,特征补偿计算量显著减少,从而减少了整个孤立词识别的时间。我们利用TIMIT语 音库、实验室采集的中文语音库对算法性能进行测试,在不同的噪声类型(包括白噪声、粉 红噪声和工厂噪声),以及不同的信噪比条件下(信噪比分别为0dB、5dB、10dB、12dB、15dB 和20dB),本发明的双层GMM结构和VTS特征补偿的孤立词识别方法,与基于单个GMM结 构和VTS特征补偿的孤立词识别算法相比,特征补偿中噪声均值和方差的估计时间减少了 90%,特征补偿整体时间减少了 30% -50%,,同时正确识别率基本不变。
【附图说明】
[0021] 图1为本发明算法总体流程图。
[0022] 图2为基于谱熵的端点检测算法流程图。
[0023] 图3为MFCC特征参数提取流程图。
[0024] 图4为双层GMM结构特征补偿的结构框图。
[0025] 图5为HMM识别流程图。
【具体实施方式】
[0026] 下面结合附图对本发明作更进一步的说明。
[0027] 如图1所示为一种基于双层GMM结构和VTS特征补偿的孤立词识别方法,其特征 在于,包括纯净环境和测试环境;该方法包括以下步骤:
[0028]1)模型训练阶段:在纯净环境下,利用所有孤立词的纯净训练语音训练数据分别 得到两个表示纯净环境下所有孤立词的特征参数分布的高斯混合模型GMM,同时利用各个 孤立词的纯净训练语音训练生成各个孤立词对应的表示纯净环境下每个孤立词的特征参 数分布的HMM模型;
[0029] 所诉两个高斯混合模型GMM包括高斯单元混合数设置为10的GMM1和高斯混合数 设置为100的GMM2 ;
[0030] 2)基于特征补偿的识别阶段:在测试环境下,利用矢量泰勒级数VTS进行特征补 偿,基于步骤1)得到的GMM1模型,通过最大似然概率准则ML进行噪声参数估计,估算出测 试语音中噪声的均值和方差;接着基于步骤1)得到的GMM2模型,通过最小均方误差估计准 则丽SE,将测试环境下含噪语音MFCC特征参数映射为纯净MFCC特征参数;最后将所述纯 净MFCC特征参数与步骤1)得到的HMM模型进行匹配,得到最终识别结果。
[0031] 进一步的,步骤1)具体包括模型训练步骤:
[0032] 1. 1)对纯净训练语音数据进行预处理,所述预处理过程包括预加重、分帧加窗和 端点检测;
[0033] 1. 2)对步骤1. 1)中得到的每一帧语音信号提取MFCC特征参数,得到纯净环境下 所有孤立词的纯净语音MFCC特征参数;
[0034] 1. 3)利用步骤1. 2)中所有孤立词的纯净语音MFCC特征参数分别训练得到高斯混 合数为10的GMM1模型,和高斯混合数为100的GMM2模型;
[0035] 1.4)利用步骤1.2)中所有孤立词中每个孤立词的纯净语音MFCC特征参数,训练 得到每个孤立词对应的HMM模型。
[0036] 进一步的,步骤2)基于特征补偿的识别阶段具体包括以下步骤:
[0037] 2. 1)测试语音经过预处理过程,该预处理过程包括预加重、分帧加窗、端点检测和 提取测试环境下的含噪语音MFCC参数;
[0038] 2. 2)基于矢量泰勒级数方法和纯净环境下的GMM1模型和步骤2. 1)得到的含噪 语音MFCC参数,基于最大似然概率准则ML估计测试语音中噪声的均值和方差;得到噪声参 数;
[0039] 2.3)利用步骤2.2)估计出的噪声参数和GMM2 模型,基于最小均方误差准则 丽SE,将当前测试语音的含噪MFCC特征参数映射为纯净MFCC特征参数;
[0040] 2. 4)将每个孤立词HMM模型作为识别模型,对经过步骤2. 3)映射后的纯净MFCC 特征参数进行概率计算,得到最终的孤立词识别结果。
[0041] 进一步的,所述MFCC特征参数为26维,该参数包括13维MFCC参数和13维一阶 差分MFCC参数;所述HMM模型的混合数为4,状态数为6。
[0042] 实施例:
[0043] 如图1所示,在模型训练阶段,利用所有孤立词的纯净语音训练数据分别训练得 到两个GMM模型,其中GMM1的高斯单元混合数为10,GMM2的高斯单元混合数为100,HMM模 型的混合数为4状态数为6。GMM模型表示纯净环境下所有孤立词的特征参数分布,HMM模 型表示纯净环境下每个孤立词的特征参数分布。
[0044] 在基于特征补偿的识别阶段,基于矢量泰勒级数VTS特征补偿算法,根据训练阶 段得到的GMM1模型,通过最大似然概率准则ML估计出测试环境下测试语音中噪声的均值 和方差;接着基于最小均方误差估计准则MMSE和GMM2模型,将测试后的纯净MFCC特征参 数与HMM模型进行匹配,得到最终的识别结果。
[0045] 图1给出了基于双层GMM结构和VTS特征补偿的孤立词识别方法总体流程图。下 面结合附图对本发明技术方案的【具体实施方式】进行详细说明:
[0046] 1、模型训练阶段:
[0047] 1. 1)
[0048] 本发明中的纯净训练语音采样频率为8KHz,量化位数为16比特。GMM1模型高斯 混合数为10,GMM2模型高斯混合数为100。
[0049] 训练语音首先经过预加重、分帧加窗和端点检测处理。
[0050] 预加重使用一个一阶有限长脉冲响应FIR(FiniteImpulseResponse)高通滤波 器,其传递函数表达式为:H(z) =l-az'其中a是预加重系数,本发明中取值0.9375。
[0051] 分帧加窗中使用的窗函数是汉明窗,汉明窗的表达式为:
[0053] 其中N表示帧长,本发明中取帧长N为128点,帧移为64点。
[0054] 本发明采用基于子带能量谱熵的端点检测方法,将一帧语音分成32个子带,计算 该帧语音的谱熵与能量,然后再将谱熵与能量减去各自对应的均值后相乘,作为语音端点 检测的鲁棒性特征参数,端点检测的高低门限值Ts、Te根据语音信号前10帧特征动态设 置。
[0055] 子带能量谱摘和高低门限Ts、Te计算过程如下:
[0056] 1. 1. 1)对原始语音信号进行预处理、分帧加窗得到\(1〇4表示帧数,n表示采样 点数。
[0057] 1. 1. 2)对xt (n)进行傅里叶变换,得到频谱Xt (k):
[0059] 1. 1. 3)计算第t帧第k个频率点的频谱能量,
以及第t帧语音信号的能量值
[0060] 1. 1. 4)将每帧语音信号分成Nb= 32个子带,计算每个子带的能量值Et (m):
[0062] 1. 1. 5)计算各个子带的能量概率分布:
[0064] 1. 1. 6)计算第t帧语音信号的谱熵
[0065] 1. 1. 7)将谱j:商与能量减去各自相应的参考值EjPHn后相乘,得到能量-谱j:商参 数:
[0068] 其中:EEFt为第t帧语音信号的能量-谱熵参数,Et为第t帧能量,Ht是第t帧谱 熵,EjPHn*别为前10帧语音信号的平均能量和谱熵,作为能量和谱熵的均值,将能量与 谱熵结合作为端点检测参数,可以有效避免各自参数的局限性。
[0069] 1. 1. 8)计算高低门限Ts、Te
[0071] 其中M为经验值,取值为1.6。
[0072] 动态双门限的端点检测分为四段:静音段、过渡段、语音段及结束段,端点检测过 程如下:
[0073] 静音段:端点检测开始后,首先检测语音是否进入静音段,当出现某帧语音能谱值 大于高门限则语音进入过渡段。
[0074] 过渡段:当语音处于过渡段时,当有连续5帧语音信号的能谱值超过高门限,则标 记当前帧为语音的起点,语音进入语音段。
[0075] 语音段:当语音的能谱值高于低门限时,语音处于语音段,若某帧语音的能谱值低 于低门限时,则标记当前帧为语音的可疑终点,开始检测语音是否结束。
[0076] 结束段:如果连续5帧语音有2帧以上的能谱值低于低门限时,且已经检测到2个 字,若其持续帧数大于最大静音段长度,则认为语音结束,之前标记的终点即语音的终点。 反之,如果持续帧数小于最大静音段长度或之后有某帧语音的短时能量或过零率高于低门 限,则取消终点的标记,语音仍旧处于语音段,继续检测终点。
[0077] 端点检测该过程如图2所示。
[0078] 上述最小语音长度是指能够被识别的语音段最小长度,是语音段的最短持续时 间,本发明取值为30帧;最大静音长度是指语音相邻两个孤立词之间的最长静音持续时 间,本发明取值为24帧。
[0079] 1. 2)
[0080] MFCC特征参数提取。
[0081] 对步骤1. 1)中得到的每一帧时域信号xt(n),进行傅里叶变换,得到频谱Xt(k)。
[0083] 将线性频谱Xt (k)通过美尔(Mel)滤波器组,得到Mel频谱St (m)。
[0085] 其中Wm(k)表示Mel滤波器组中第m个三角滤波器在频率k处的加权因子,Mel滤 波器组个数R为20。
[0086] 对Mel频谱St (m)的对数作离散余弦变换DCT(DiscreteCosineTransform)变 换,将其变换到倒谱域,得到MFCC特征参数Ct (1)。
[0088] 其中L为MFCC参数的阶数,取值13。
[0089] -阶差分MFCC参数的计算公式为:
[0091] 其中T是参与差分计算的帧数,为常数,本发明中取值为4。
[0092] 将Ct与ACt结合,构成了本发明提出的孤立词识别系统的MFCC特征参数,该MFCC 参数包括13维MFCC参数和13维一阶差分MFCC参数,其具体计算过程如图3所示。
[0093] 1. 3)
[0094] 经过步骤1. 2),得到纯净环境下所有孤立词的MFCC特征参数。利用所有孤立词的 MFCC特征参数训练得到两个GMM模型:GMM1模型和GMM2模型。GMM模型使用多个高斯模 型来表征随机变量的概率密度函数,其概率密度函数P(x)由均值、方差及混合权重决定。
[0096] 其中x为训练语音的MFCC特征参数集合,M是GMM模型的高斯混合数,〇x,m 分别是GMM中第m个高斯单元的均值与方差向量,P(m)是每个高斯单元对应的权重,满足 如下条件:
[0098] 本发明中设置GMM1模型混合数Ml为10,GMM2模型混合数M2为100。
[0099] 1. 4)
[0100] HMM模型训练。
[0101] 经过步骤1. 2)后得到纯净环境下所有孤立词的MFCC特征参数。利用每个孤立词 对应的MFCC特征参数训练得到纯净环境下每个孤立词对应的HMM模型。
[0102] HMM模型的参数集可以记为Aw=f(jr,A,B),其中jt、A、B分别代表初始状态概 率分布、状态转移概率分布和观测序列概率分布,w表示所对应的孤立词。
[0103] 在给定纯净环境下每个孤立词的MFCC特征参数C(n) = {C(1),C(2),…,C(26)} 和初始模型参数后,通过调整HMM模型参数Aw=f( 31,A,B)使训练序列的输出概率最大, 得到最终的纯净环境HMM模型参数。本发明中B的概率分布采用混合高斯模型对MFCC特 征参数的概率密度函数进行建模,混 合数设置为4,状态数设置为6,状态转移矩阵A采用自 左向右无跳转结构。模型训练时参数和A采用随机初始化,参数B采用分段K-均值聚 类算法进行初始化,采用Baum-Welch迭代算法来估计HMM的参数,设定收敛阈值为0. 0001, 当相邻两次输出概率的差值小于该阈值时,认为模型已收敛。
[0104] 2、基于特征补偿的识别阶段
[0105] 2. 1)
[0106] 测试语音的采样频率为8KHz,量化位数为16比特。测试语音的预加重、分帧加窗、 端点检测和MFCC特征参数提取的处理方法和训练阶段所述相同,得到含噪语音MFCC特征 参数。
[0107] 2. 2)
[0108] 由步骤2. 1)中得到含噪语音MFCC特征参数,利用训练阶段得到的纯净GMM1模 型,估计测试语音中噪声的均值 <和方差
[0109] 噪声均值的估计式如下:
[0111] 其中yt表示测试语音的第t帧MFCC特征参;丫m(t) =P(m|yt,X)是GMM1参数集 合入已知时,yjl于第m个高斯单元的条件概率,ym⑴属于后验概率;Ml为GMM1模型的 混合数,这里取值为10。
[0113] 其中C和(T1分别代表DCT变换矩阵和其逆矩阵;yn(l是加性噪声n的初始均值; Ux,m表示纯净GMM1模型中第m个高斯单元的均值;〇 ^表示含噪语音的GMM1模型中第m个高斯单元的方差。
[0115] 噪声方差的估计式如下:
[0118] 其中1^">表示在估计得到当前测试环境的噪声均值后,当前测试语音的GMM1模 型第m个高斯单元的均值;〇 ^表示纯净语音的GMM1模型中第m个高斯单元的方差。
[0120] 其中〇X(1表示纯净语音的初始方差;其余变量的定义与均值估计公式中的相同。
[0121] 2. 3)
[0122] 由步骤2. 2)得到当前测试语音的噪声均值和方差估计值彳/^,<}后,利用训练阶段 的GMM2模型,基于最小均方误差准则MMSE,将当前测试环境下的MFCC特征参数映射为纯净 环境下的MFCC特征参数:
[0124] 其中系为映射到纯净环境下的MFCC系数,t为帧号;yt为测试语音的第t帧MFCC 特征向量;表示根据估计的噪声均值和方差,确定测试语音GMM2参数集
yt属于GMM2第m个高斯单元的概率;M2为GMM2高斯模型的混合数, 本发明中M2取值100 ;yx,m表示GMM2模型中第m个高斯单元的均值;y"为估计的当前测 试环境噪声n的均值,即为步骤2. 2)估计的
[0125] 基于双层GMM结构的VTS特征补偿过程如图4所示。
[0126] 2. 4)
[0127] 将训练的HMM模型作为识别模型,对经过步骤2. 3)映射后的纯净MFCC特征参数 元进行概率计算,得到最终的孤立词识别结果。
[0128] 每个孤立词w对应的含噪HMM模型为Aw,测试语音经过2. 3)映射到纯净环境下 的特征参数组成的序列为1={丸於…右}基于最大似然估计得到最后识别结果:
[0130] 其中必即为最终的识别孤立词,W为识别孤立词的总个数。
[0131] 本发明中使用前后向算法得到输出概率A雄A采用对数运算,以避免下溢。
[0132] HMM识别的过程如图5所示。
[0133] 以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人 员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,例如模型参数的选 取,包括GMM1、GMM2模型的参数选择,HMM模型的参数选择,MFCC特征参数的阶数,算法的 进一步改进、优化等,这些改进和润饰也应视为本发明的保护范围。
【主权项】
1. 一种基于双层GMM结构和VTS特征补偿的孤立词识别方法,其特征在于,包括纯净环 境和测试环境;该方法包括以下步骤: 1) 模型训练阶段:在纯净环境下,利用所有孤立词的纯净训练语音训练数据分别得到 两个表示纯净环境下所有孤立词的特征参数分布的高斯混合模型GMM,同时利用各个孤立 词的纯净训练语音训练生成各个孤立词对应的表示纯净环境下每个孤立词的特征参数分 布的HMM模型; 所诉两个高斯混合模型GMM包括高斯单元混合数设置为10的GMMl和高斯单元混合数 设置为100的GMM2; 2) 基于特征补偿的识别阶段:在测试环境下,利用矢量泰勒级数VTS进行特征补偿,基 于步骤1)得到的GMMl模型,通过最大似然概率准则ML进行噪声参数估计,估算出测试语 音中噪声的均值和方差;接着基于步骤1)得到的GMM2模型,通过最小均方误差估计准则 丽SE,将测试环境下含噪语音MFCC特征参数映射为纯净MFCC特征参数;最后将所述纯净 MFCC特征参数与步骤1)得到的HMM模型进行匹配,得到最终识别结果。2. 如权利要求1所述的一种基于双层GMM结构和VTS特征补偿的孤立词识别方法,其 特征在于,所述步骤1)具体包括模型训练步骤: I. 1)对纯净训练语音数据进行预处理,所述预处理过程包括预加重、分帧加窗和端点 检测; 1.2)对步骤1.1)中得到的每一帧语音信号提取MFCC特征参数,得到纯净环境下所有 孤立词的纯净语音MFCC特征参数; 1. 3)利用步骤1. 2)中所有孤立词的纯净语音MFCC特征参数分别训练得到高斯混合数 为10的GMMl模型,和高斯混合数为100的GMM2模型; 1.4)利用步骤1.2)中所有孤立词中每个孤立词的纯净语音MFCC特征参数,训练得到 每个孤立词对应的HMM模型。3. 如权利要求1所述的一种基于双层GMM结构和VTS特征补偿的孤立词识别方法,其 特征在于,所述步骤2)基于特征补偿的识别阶段具体包括以下步骤: 2. 1)测试语音经过预处理过程,该预处理过程包括预加重、分帧加窗、端点检测和提取 测试环境下的含噪语音MFCC参数; 2. 2)基于矢量泰勒级数方法和纯净环境下的GMMl模型和步骤2. 1)得到的含噪语音MFCC参数,基于最大似然概率准则ML估计测试语音中噪声的均值和方差;得到噪声参数; 2. 3)利用步骤2. 2)估计出的噪声参数和GMM2模型,基于最小均方误差准则MMSEJf当前测试语音的含噪MFCC特征参数映射为纯净MFCC特征参数; 2. 4)将每个孤立词HMM模型作为识别模型,对经过步骤2. 3)映射后的纯净MFCC特征 参数进行概率计算,得到最终的孤立词识别结果。4. 如权利要求2或3所述的一种基于双层GMM结构和VTS特征补偿的孤立词识别方 法,其特征在于,所述MFCC特征参数为26维,该参数包括13维MFCC参数和13维一阶差分 MFCC参数;所述HMM模型的混合数为4,状态数为6。
【专利摘要】本发明公开了一种基于双层GMM结构和VTS特征补偿的孤立词识别方法,包括训练阶段和识别阶段,训练阶段中通过对纯净环境下的语音特征提取,获得两个GMM训练模型和一个HMM训练模型。其中GMM模型分别为含有个数较少的高斯混合单元的GMM1模型和含有个数较多的高斯混合单元的GMM2模型。在矢量泰勒级数VTS特征补偿阶段的噪声估计过程,利用GMM1模型得到噪声的均值和方差,利用GMM2模型通过映射获得纯净特征参数,并与HMM模型匹配获得最终识别结果。本发明与基于单个GMM模型和VTS特征补偿的孤立词识别算法相比,在误识率基本不变的情况下,噪声均值和方差估计时间减少了90%,特征补偿整体用时减少了30%-50%,有效降低了基于VTS特征补偿孤立词识别算法的计算量。
【IPC分类】G10L15/05, G10L15/14, G10L15/02, G10L21/0216
【公开号】CN104900232
【申请号】CN201510188364
【发明人】周琳, 李海静, 吕勇, 吴镇扬
【申请人】东南大学
【公开日】2015年9月9日
【申请日】2015年4月20日

最新回复(0)