专利名称:一种声纹识别方法
技术领域:
本发明涉及一种生物特征识别领域中关于语音特征提取与识别技术领域,具体涉及一种声纹识别方法。
背景技术:
生物特征识别技术是指利用人类本身所拥有的、能够标识其身份的生理特征或者行为特征进行身份验证的技术。与传统的身份验证技术相比,生物特征识别技术能够提供更方便的用户服务、提供更高的安全等级、可靠性,越来越多的用于现代安全系统的身份认证。
所谓声纹(Voiaprint),是用电声学仪器显示的携带言语信息的声波频谱。现代科学研究表明,声纹不仅具有特定性,而且有相对稳定性的特点。成年以后,人的声音可保持长期相对稳定不变。实验证明,无论讲话者是故意模仿他人声音和语气,还是耳语轻声讲话,即使模仿得惟妙惟肖,其声纹却始终相同。基于声纹的这两个特征,侦查人员就可将获取的犯罪分子的声纹和嫌疑人的声纹,通过声纹鉴定技术进行检验对比,迅速认定罪犯,为侦查破案提供可靠的证据。声纹识别,是从一段语音中分析和提取出说话人的个性特征,自动确定说话人的身份的过程。声纹识别技术作为一种典型的生物特征识别技术,以其便捷、安全可靠等特点,在保安领域、公安司法领域、军事领域、财经领域、信息服务领域以及医学领域有广泛的应用前景。自动声纹识别的基本过程是对人类语音片段进行特征提取,用提取好的特征向量训练分类器进行识别。一种常用的倒谱特征提取方法是对经过加窗、预加重的语音帧进行傅里叶变换,再对其滤波,然后进行离散余弦变换,若对语音帧用梅尔(Mel)滤波器进行滤波,贝1J提取出的语音特征称为梅尔倒谱特征(MFCC, Mel-Frequency CepstrumCoefficients)。而常用的声纹识别分类器模型有神经网络模型、隐马尔科夫模型、高斯混合模型(GMM, Gaussian Mixture Model)等。经对现有技术文献的检索发现,RedaJourani等在《Speaker verification usinglarge margin GMM discriminative training》中提出使用高维特征训练高斯混合模型,显然其付出的代价是昂贵的,且只比低维度的高斯混合模型提高了 O. 4%的等误识率。在高斯混合模型中,其时间复杂度与特征维度平方成正比,特征维度每增加一倍,训练模型所需的时间就变为四倍。普通的高斯混合模型无法满足增量学习的要求,在需要间断性学习的要求下,不得不每次重新学习所有的数据。
发明内容
发明目的本发明所要解决的技术问题是针对现有技术的不足,提供一种声纹识别方法。为了解决上述技术问题,本发明公开了一种声纹识别方法,包括以下步骤
步骤1,对训练语音集内每个说话人的分段语音数据预处理,形成预处理后对应每个说话人的一组样本集合,一个说话人的语音数据唯一对应一个样本集合;步骤2,对所有样本集合中每一个样本进行提取梅尔倒谱系数;步骤3,逐一选定一个样本集合并随机选取其中部分样本的梅尔倒谱系数,对该样本集合训练高斯混合模型,直到所有样本集合都训练得到高斯混合模型,将所有高斯混合模型组成一个模型库;步骤4,将步骤3中未被选取训练过的样本,与其对应样本集合的高斯混合模型逐个进行增量学习得到所有优化后的高斯混合模型,利用所有优化后的高斯混合模型优化模型库;
·
步骤5,输入并识别测试语音数据,利用步骤4中优化的模型库识别测试语音数据对应的样本集合的高斯混合模型,即确定对应说话人,将测试语音数据加入到该说话人对·应的样本集合中。本发明所述语音数据预处理包括语音数据的加汉明窗分帧、计算每帧语音的短时能量和短时过零率,计算所有语音帧短时能量的算术平均值和所有帧短时过零率的算术平均值,将短时能量小于短时能量的算术平均值一半或短时过零率高于短时过零率的算术平均值的语音帧丢弃,剩下的语音数据作为预处理后的样本集合。本发明步骤2中梅尔倒谱系数提取包括以下步骤1)对每帧语音进行傅里叶变换;2)对变换后的语音帧进行梅尔倒谱滤波;3)对滤波后的语音帧进行离散余弦变换;4)求取一阶差分梅尔倒谱系数,将梅尔倒谱系数和一阶差分梅尔倒谱系数合并作为模型训练的特征参数。本发明步骤3中训练单个初始高斯混合模型包括以下步骤1)从单个说话人的特征参数中随机选取一部分梅尔倒谱系数,以k-均值方法求取初始聚类;2)以初始聚类均值、方差和权重为高斯混合模型的均值、方差和权重,利用期望最大化算法(EM,Expectation-Maximization)重新计算均值、方差和权重;3)利用期望最大化算法迭代计算均值、方差和权重,直到均值、方差和权重收敛或迭代次数达到预设值;4)将收敛后的均值、方差和权重参数作为此说话人的声纹模型。步骤4中,对所述对应样本集合中未被选取训练过的样本,以步骤3中高斯混合模型的均值、方差和权重为增量学习高斯混合模型初始均值、方差和权重,进行高斯混合模型增量学习,将增量学习所得到的高斯混合模型的均值、方差和权重组成对应样本集合优化后的高斯混合模型。本发明所述增量学习包括以下步骤步骤41,以步骤3中对应样本集合的当前高斯混合模型的均值、方差和权重作为初始值;步骤42,在该集合中未被选取训练过的所有样本中选取若干样本的梅尔倒谱系数,组成增量学习样本S ;步骤43,计算增量学习样本S与对应样本集合的当前高斯混合模型IHM1,M2,...,
MJ的相似度,其中M1, M2,......,Mn为高斯聚类,N的取值范围为3(Γ60,将不与高斯混合
模型I中任何高斯聚类相似的样本划分为劣势样本点,组成劣势样本点集合S1,将其余的样本点划分为优势样本点,组成优势样本点集合S2,其中S2={S-Si};
将与高斯混合模型I中单个高斯聚类所匹配的样本点个数小于增量学习样本S的样本点数1%的聚类划分为劣势聚类,组成劣势聚类集合Ii={M' ,,Wk},k^N,高斯混合模型I中余下的聚类划分为优势聚类,组成优势聚类集合I2,其中I2=I-I1 ;步骤44,根据当前高斯混合模型的均值、方差和权重,根据步骤43中优势聚类集合I2和优势样本点集合S2计算新的高斯混合模型的均值、方差和权重;步骤45,若步骤43的劣势样本点集合S2中样本点个数与增量学习样本S中样本点个数比值大于预设值,则用K均值方法进行聚类,选取一个密度最大的聚类,若该聚类的聚类密度大于当前高斯混合模型中的最小聚类密度,则将该聚类添加到当前高斯混合模型中,将该聚类中的样本点划分为优势样本点,添加到优势样本点集合S2中,并从劣势样本点集合S1中去除;步骤46,重复步骤43 步骤45,直到聚类均值、方差、权重和高斯聚类的个数达到迭代收敛或者迭代次数达到预设值停止,将此时的聚类均值、方差、权重和高斯聚类的个数 作为当前高斯混合模型参数;步骤47,根据步骤46中得到的当前高斯混合模型参数,重复步骤42 步骤46,直到所有样本集合中的所有样本都被选取训练完,得到优化模型库。本发明步骤5包括对测试语音数据的预处理、提取测试语音数据的梅尔倒谱系数,计算测试语音数据中每帧梅尔倒谱系数的帧置信度,将置信度大于预设值的帧与步骤4中所得到模型库中的高斯混合模型进行相似度匹配,相似度最大的高斯混合模型所对应的说话人即为此帧的候选说话人,将测试语音数据中出现次数最多的候选说话人作为测试结果,将测试语音数据加入到该说话人对应的样本集合中,预设值一般设定范围是O. Γ0. 9。本发明公开了一种基于梅尔倒谱系数(Mel-FrequencyCepstrum Coefficients,MFCC)的增量学习高斯混合模型(Incremental Learning Gaussian Mixture Model,IL-GMM)的声纹识别方法。包括以下步骤步骤一、语音数据预处理;步骤二、生成梅尔倒谱系数;步骤三、用增量高斯混合模型训练梅尔倒谱系数,生成一组初始的训练数据;步骤四、继续输入样本进行增量学习,根据聚类情况决定是否增加新的高斯聚类;步骤五、将待测试语音经过预处理,生成梅尔倒谱系数,输入增量高斯混合模型进行测试,并按测试结果进行增量学习。本发明在普通的高斯混合模型中融入了增量学习部分,其优点在于可以动态的改变高斯聚类的个数和实现了增量学习,可以更好地模拟语音特征的分布和更方便的进行数据的训练。有益效果本发明能够根据训练数据自适应的改变模型阶数。这种方法不仅能够大大减少声纹识别的特征维数,减少训练时间,而且能够满足增量学习的要求。具体而言本发明具有以下优点1、实现了增量学习,在识别过程中能够不断根据人类语音的自然变化进行学习和调整;2、在增量学习时,能够直接利用已经学习过的知识,不需要进行重复的训练,在改进旧知识的同时学习到新的特征;3、在增量学习时,不会因为频繁的学习需求而增加额外的存储,也不会随着不断学习而加重运算负担;4、在增量学习时,能够根据样本自适应的改变高斯混合模型的混合度,更好地模拟样本的空间分布;5、根据已经学习的样本数自适应地调整增量学习的学习率。
下面结合附图和具体实施方式
对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。图I为本发明系统模型图。图2为本发明系统流程图。图3为本发明实施例采用的梅尔倒谱滤波器示意图。
具体实施例方式本发明公开了一种声纹识别方法,包括以下步骤 步骤1,对训练语音集内每个说话人的分段语音数据预处理,形成预处理后对应每个说话人的一组样本集合,一个说话人的语音数据唯一对应一个样本集合;步骤2,对所有样本集合中每一个样本进行提取梅尔倒谱系数;步骤3,逐一选定一个样本集合并随机选取其中部分样本的梅尔倒谱系数,对该样本集合训练高斯混合模型,直到所有样本集合都训练得到高斯混合模型,将所有高斯混合模型组成一个模型库;步骤4,将步骤3中未被选取训练过的样本,与其对应样本集合的高斯混合模型逐个进行增量学习得到所有优化后的高斯混合模型,利用所有优化后的高斯混合模型优化模型库;步骤5,输入并识别测试语音数据,利用步骤4中优化的模型库识别测试语音数据对应的样本集合的高斯混合模型,即确定对应说话人,将测试语音数据加入到该说话人对应的样本集合中。更具体地说,如图I和图2所示,本发明包括以下步骤。一、预处理阶段首先将语音数据按16000Hz的采样率从音频文件中读取出来,得到一个采样点序列。对该序列进行预加重操作,目的是提升高频信号,使信号的频谱变得平坦,保持在低频到高频的整个频带中能用同样的信噪比求得频谱。预加重可通过预加重数字滤波器来实现,本发明使用的一阶的数字滤波器如下H(Z)=I-CozT1其中ω为接近I的常量,在本发明中取O. 95。其次是使用汉明窗对语音数据加窗,目的是在加窗的过程中对语音进行分帧。将每256个采样点分为一帧,为了保持帧与帧的连续性,采取128个点帧移,即前一帧和后一帧有128个采样点重叠。汉明窗如下
[0.54-0.46 * QOSilnK!{H -1)) = 0.1 —Iw( ) = iH表示帧长,在本发明中H取256。加窗的过程就是用窗函数w (η)与语音信号s (η)进行加权的方式来实现的。加窗后的语音信号Sw(n) =S (n) (η)。然后计算语音巾贞的短时过零率Z (Short-term zero rate)和短时能量E (Short-term energy),对语音巾贞进行筛选。短时过零率表示一巾贞语音信号波形穿过横轴的次数。可用于区分清音与浊音,清音的短时过零率分布的平均值高于浊音。短时平均过零率的计算如下
权利要求
1.一种声纹识别方法,其特征在于,包括以下步骤 步骤1,对训练语音集内每个说话人的分段语音数据预处理,形成预处理后对应每个说话人的一组样本集合,一个说话人的语音数据唯一对应一个样本集合; 步骤2,对所有样本集合中每一个样本进行提取梅尔倒谱系数; 步骤3,逐一选定一个样本集合并随机选取其中部分样本的梅尔倒谱系数,对该样本集合训练高斯混合模型,直到所有样本集合都训练得到高斯混合模型,将所有高斯混合 模型组成一个模型库; 步骤4,将步骤3中未被选取训练过的样本,与其对应样本集合的高斯混合模型逐个进行增量学习得到所有优化后的高斯混合模型,利用所有优化后的高斯混合模型优化模型库; 步骤5,输入并识别测试语音数据,利用步骤4中优化的模型库识别测试语音数据对应的样本集合的高斯混合模型,即确定对应说话人,将测试语音数据加入到该说话人对应的样本集合中。
2.根据权利要求I所述的一种声纹识别方法,其特征在于,步骤4中,对所述对应样本集合中未被选取训练过的样本,以步骤3中高斯混合模型的均值、方差和权重为增量学习高斯混合模型初始均值、方差和权重,进行高斯混合模型增量学习,将增量学习所得到的高斯混合模型的均值、方差和权重组成对应样本集合优化后的高斯混合模型。
3.根据权利要求2所述的一种声纹识别方法,其特征在于,步骤4中所述增量学习包括以下步骤 步骤41,以步骤3中对应样本集合的当前高斯混合模型的均值、方差和权重作为初始值; 步骤42,在该集合中未被选取训练过的所有样本中选取若干样本的梅尔倒谱系数,组成增量学习样本S ; 步骤43,计算增量学习样本S与对应样本集合的当前高斯混合模型I={M1; M2, , MJ的相似度,其中M1, M2, · · ·…,Mn为高斯聚类,N的取值范围为3(Γ60,将不与高斯混合模型I中任何高斯聚类相似的样本划分为劣势样本点,组成劣势样本点集合S1,将其余的样本点划分为优势样本点,组成优势样本点集合S2,其中S2={S-Si}; 将与高斯混合模型I中单个高斯聚类所匹配的样本点个数小于增量学习样本S的样本点数1%的聚类划分为劣势聚类,组成劣势聚类集合,,WK},k<N,高斯混合模型I中余下的聚类划分为优势聚类,组成优势聚类集合I2,其中I2=I-I1 ; 步骤44,根据当前高斯混合模型的均值、方差和权重,根据步骤43中优势聚类集合I2和优势样本点集合S2计算新的高斯混合模型的均值、方差和权重; 步骤45,若步骤43的劣势样本点集合S2中样本点个数与增量学习样本S中样本点个数比值大于预设值,则用K均值方法进行聚类,选取一个密度最大的聚类,若该聚类的聚类密度大于当前高斯混合模型中的最小聚类密度,则将该聚类添加到当前高斯混合模型中,将该聚类中的样本点划分为优势样本点,添加到优势样本点集合S2中,并从劣势样本点集合31中去除; 步骤46,重复步骤43 步骤45,直到聚类均值、方差、权重和高斯聚类的个数达到迭代收敛或者迭代次数达到预设值停止,将此时的聚类均值、方差、权重和高斯聚类的个数作为当前高斯混合模型参数; 步骤47,根据步骤46中得到的当前高斯混合模型参数,重复步骤42 步骤46,直到所有样本集合中的所有样本都被选取训练完,得到优化模型库。
4.根据权利要求3所述的一种声纹识别方法,其特征在于,步骤5包括对测试语音数据的预处理、提取测试语音数据的梅尔倒谱系数,计算测试语音数据中每帧梅尔倒谱系数的帧置信度,将置信度大于预设值的帧与步骤4中所得到模型库中的高斯混合模型进行相似度匹配,相似度最大的高斯混合模型所对应的说话人即为此帧的候选说话人,将测试语音数据中出现次数最多的候选说话人作为测试结果,将测试语音数据加入到该说话人对应的样本集合中。
5.根据权利要求I或4所述的一种声纹识别方法,其特征在于,所述语音数据预处理包括语音数据的加汉明窗分帧、计算每帧语音的短时能量和短时过零率,计算所有语音帧短时能量的算术平均值和所有帧短时过零率的算术平均值,将短时能量小于短时能量的算术平均值一半或短时过零率高于短时过零率的算术平均值的语音帧丢弃,剩下的语音数据作为预处理后的样本集合。
全文摘要
本发明公开了一种声纹识别方法,包括以下步骤步骤1,对训练语音集内每个说话人的分段语音数据预处理,形成预处理后对应每个说话人的一组样本集合;步骤2,对所有样本集合中每一个样本进行提取梅尔倒谱系数;步骤3,逐一选定一个样本集合并随机选取其中部分样本的梅尔倒谱系数,对该样本集合训练高斯混合模型;步骤4,将步骤3中未被选取训练过的样本,与其对应样本集合的高斯混合模型逐个进行增量学习得到所有优化后的高斯混合模型,利用所有优化后的高斯混合模型优化模型库;步骤5,输入并识别测试语音数据,利用步骤4中优化的模型库识别测试语音数据对应的样本集合的高斯混合模型,将测试语音数据加入到该说话人对应的样本集合中。
文档编号G10L17/00GK102820033SQ20121029557
公开日2012年12月12日 申请日期2012年8月17日 优先权日2012年8月17日
发明者申富饶, 唐泽林, 赵金熙, 程佳 申请人:南京大学