一种基于简单直接度量学习算法的说话人识别方法

文档序号:10571097阅读:390来源:国知局
一种基于简单直接度量学习算法的说话人识别方法
【专利摘要】本发明提供一种基于简单直接度量学习算法的说话人识别方法,包括:采集多个说话人的语音样本,提取所有样本的i?vector,采用LDA或WCCN方法进行信道补偿处理,并进行长度规整,形成训练样本集;根据训练样本集的i?vector和说话人身份,构造相似样本对集和非相似样本对集;采用KISS算法,在相似样本对集和非相似样本对集上训练得到度量矩阵;对于新的两条语音,先将它们的i?vector提取出来,采用LDA或WCCN方法进行信道补偿处理,并进行长度规整,使用前面计算出来的度量矩阵,计算出两个i?vector之间的马氏距离,并和阈值进行比较,判定这两条新的语音是否属于同一个说话人。本发明所得到的马氏距离度量矩阵更能真实反映样本空间的相似性和区分性,从而提高说话人识别系统的性能。
【专利说明】
一种基于简单直接度量学习算法的说话人识别方法
技术领域
[0001] 本发明是一种基于简单直接度量学习算法的说话人识别方法,可广泛用于说话人 识别,模式识别,度量学习,机器学习等领域。
【背景技术】
[0002] 说话人识别(Speaker Recognition,SR)又称声纹识别,是一种通过对说话人的语 音进行处理和分析,从而对说话人身份进行鉴别的技术。如何有效衡量说话人语音样本间 的相似度,是目前说话人识别研究领域的热点问题之一。模式识别领域中,对样本间相似度 进行衡量的方法有很多,较常用的方法有距离打分法,如余弦距离打分(cosine distance scoring)和马氏距离打分(Mahalanobis distance scoring)等。
[0003] 余弦距离打分法通过计算样本向量内积空间的夹角余弦值来衡量样本间的相似 度,它根据向量方向上的差异进行区分,不能衡量向量维度上数值的差异。余弦距离dc( Xl, Xi)的计筧公式为:
[0005] 其中,余弦距离(1(^^」),1;[为第;[条语音的;[-¥6(31:01'向量,1'表示转置。
[0006] 两个向量(Xi,Xj)之间的马氏距离dM(Xi,Xj)定义为:
[0008] 其中,马氏距离dM(Xi,Xj),为第i条语音的i-vector向量,T表示转置。
[0009] 只有获得能够反映样本空间同类样本相似性、非同类样本区分性的半正定度量矩 阵M,计算的马氏距离才能有效衡量样本相似度,但训练样本有限使获得这种度量矩阵有难 度。
[0010] 度量学习方法一般根据训练样本含有的类别信息,通过自动学习得到一个距离度 量矩阵,常用来计算目标样本间的马氏距离得分,从而对未知数据的相似度进行预测。度量 学习算法的基本目标是利用训练样本的先验信息,在尽可能满足某些条件的前提下,通过 最优化求解下式来找到一个全局的、线性的变换距离度量矩阵M:
[0011] min l(Af)+ l R(M)
[0012] 1(M)是损失函数,R(M)是训练距离度量矩阵M过程中的规整项,当损失函数1(M)在 训练过程中过拟合时进行约束修正,平衡参数1 3〇。度量矩阵M用于计算样本(Xl,&)间的马 氏距离:
[0013] dM(Xi,Xj) = (Xi-Xj)TM(Xi_Xj)
[0014] 其中,马氏距离dM(Xi,Xj),Xi为第i条语音的i-vector向量。
[0015]用于训练度量矩阵的训练样本的数目越来越大,巨大的数据量使得大规模数据的 分析和处理带来了很大的麻烦,带来所谓的"维数灾难"。随着数据维数的升高,这些高维数 据之间往往存在较大的相关性和冗余度。

【发明内容】

[0016]本发明的目的在于提供一种基于简单直接度量学习算法的说话人识别方法,该方 法所得的度量矩阵可有效反映说话人空间中的相似性和区分性,同时将该度量矩阵用于测 试目标说话人语音样本的马氏距离得分分类器,可使说话人识别系统取得很好的识别效 果。
[0017]为达到以上目的,本发明采取的技术方案是:
[0018] 一种基于简单直接度量学习算法(Keep it simple and straight!,KISS)的说话 人识别方法,其特征在于:采用KISS算法训练处理后的i-vector,计算说话人语音测试样本 与目标样本之间的马氏距离;
[0019] 保持简单直接度量学习算法(Keep it simple and straight!,KISS),简单有效, 存在全局最优解,能快速求得满足条件的度量矩阵,用于训练的样本对只需知道是否属于 同类。求解的度量矩阵不会出现过拟合,且易于获得。KISS算法的可扩展性好,无需最优化 求解的迭代过程,只需计算两个很小的协方差矩阵。该度量矩阵可有效反映说话人空间中 的相似性和区分性,将该度量矩阵用于测试目标说话人语音样本的马氏距离得分分类器, 使说话人识别系统取得了很好的识别效果。性能较优,且度量矩阵的训练过程的速度较快。 [0020]本发明的目的通过以下技术方案来具体实现:
[0021 ]采集多个说话人的语音样本,提取所有样本中的i-vector;
[0022]采用LDA或WCCN方法进行信道补偿处理所有样本中的i-vector,并进行长度规整, 形成训练样本集;
[0023]构造基于训练样本集的i-vector和说话人身份的相似样本对集和非相似样本对 集;
[0024]采用KISS算法,在相似样本对集和非相似样本对集上训练得到度量矩阵;
[0025]对于新的两条语音,将它们的i-vector经过以上所述提取、信道补偿处理和长度 规整的处理后,基于之前计算出来的度量矩阵,计算两个i-vector之间的马氏距离;
[0026] 将所得的马氏距离和阈值进行比较,基于比较结果,对这两条新的语音是否属于 同一说话人作出判断。
[0027] 进一步的,采用LDA方法进行信道补偿处理所有样本中的i-vector,具体包括: [0028]通过投影矩阵算法最小化同类样本间距离和最大化非同类样本间距离。
[0029]进一步的,采用WCCN方法进行信道补偿处理所有样本中的i-vector,具体包括:
[0030] 使目标样本空间中的基尽可能正交。
[0031] 进一步的,该方法还包括:
[0032] 对提取所有样本中的i-vector进行长度规整。
[0033]进一步的,其特征在于,采用KISS算法,在相似样本对集和非相似样本对集上训练 得到度量矩阵,具体包括:
[0034] 分别求解出所述目标样本中相似样本对的协方差和非相似样本对的协方差;
[0035] 计算所述相似样本对的协方差和非相似样本对的协方差的度量矩阵;
[0036]进一步的,该方法还包括:
[0037]根据所得的度量矩阵计算两个i-vector之间的马氏距离。
[0038] 进一步的,将所得的马氏距离和阈值进行比较,基于比较结果,对这两条新的语音 是否属于同一说话人作出判断,具体包括:
[0039] 如果所得的马氏距离大于阈值,则说明这两条新的语音不是属于同一说话人;
[0040] 如果所得的马氏距离在阈值之内,则说明这两条新的语音是属于同一说话人。
[0041] 本发明公开一种基于简单直接度量学习算法的说话人识别方法。保持简单直接度 量学习算法(KISS)利用成对训练样本的约束信息训练一个马氏距离度量矩阵,利用成对训 练样本对的约束信息来指导度量学习过程,对已标记的相似样本对和非相似样本对进行度 量矩阵训练时有效利用了训练样本数据间相似性与非相似性的指导信息,得到的度量矩阵 更加真实反映说话人空间的区分性,使得马氏距离得分分类器对未知说话人语音样本间的 相似性可以进行较好的预测。在度量矩阵训练过程中,对相似样本对和非相似样本对的协 方差进行计算,并求出两个协方差的差,作为马氏距离度量矩阵,训练出来的度量矩阵用于 说话人识别系统,取得了很好的识别效果。
【附图说明】
[0042]
[0043]图1为根据本发明的一种基于简单直接度量学习算法的说话人识别方法的一实施 例的流程图。
【具体实施方式】
[0044] 下面结合附图对本发明实施例的一种基于简单直接度量学习算法的说话人识别 方法进行详细描述。参照图1,图1示出了本发明的方法的一实施例的流程图,该方法包括以 下步骤:
[0045] 在步骤S110中,采集多个说话人的语音样本,提取所有样本中的i-vector;
[0046] 在步骤S120中,采用LDA或WCCN方法进行信道补偿处理所有样本中的i-vector,并 进行长度规整,形成训练样本集;
[0047]在步骤S130中,构造基于训练样本集的i-vector和说话人身份的相似样本对集和 非相似样本对集;
[0048]在步骤S140中,采用KISS算法,在相似样本对集和非相似样本对集上训练得到度 量矩阵;
[0049] 在步骤S150中,对于新的两条语音,将它们的i-vector经过以上所述提取、信道补 偿处理和长度规整的处理后,基于之前计算出来的度量矩阵,计算两个i-vector之间的马 氏距离;
[0050] 在步骤160中,将所得的马氏距离和阈值进行比较,基于比较结果,对这两条新的 语音是否属于同一说话人作出判断。
[0051 ] 进一步的,采用线性判别分析(Linear Discriminant Analysis,LDA)方法进行信 道补偿处理所有样本中的i-vector,具体包括:
[0052]线性判别分析(LDA)的目标为通过投影矩阵算法最小化同类样本间距离和最大化 非同类样本间距离。
[0053]具体为:定义类间散度矩阵Sb和类内散度矩阵Sw;
[0054] Sb为说话人类间散度矩阵,Sw为说话人类内散度矩阵,~是说话人s对应的语音数; 诉是所有说话人i-vector均值; < 是第s个说话人i-vector均值。
[0055] 投影矩阵A由下式特征值1对应的特征向量组成。
[0056] Sbv = 1 SwV
[0057] Sb为说话人类间散度矩阵,Sw为说话人类内散度矩阵,1为说话人特征值对角阵,v 是说话人空间方向。
[0058] 进一步的,米用类内方差规整(Within Class Covariance Normalization,WCCN) 方法进行信道补偿处理所有样本中的i-vector,具体包括:
[0059]类内协方差规整(WCCN)的目标为使样本空间中的基尽可能正交。
[0060]类内协方差矩阵的计算如下:
[0062] 共有s个说话人;]^是说话人s对应的语音数;是所有说话人i-vector均值; <是 第s个说话人i-vector均值。
[0063] 对特征向量进行映射:。其中B为F1的乔莱斯基分解,即W^iBBt。
[0064]更进一步的,该方法还包括:
[0065]对提取所有样本中的i-vector进行长度规整。
[0066]进一步的,采用KISS算法,在相似样本对集和非相似样本对集上训练得到度量矩 阵,具体包括:
[0067] 分别求解出所述目标样本中相似样本对的协方差和非相似样本对的协方差,计算 所述相似样本对的协方差和非相似样本对的协方差的度量矩阵。
[0068] 具体为,首先分别求解出所有相似样本对的协方差和非相似样本对的协方差 。乂
[0071] Xi表示第i条语音的i-vector向量,yij = 0表示第i条语音和第j条语音来自不同说 话人,yu = l表示第i条语音和第j条语音来自相同说话人,可求得度量矩阵M:
[0072] -r4 >
[0073] S&h为相似样本对的协方差,为非相似样本对的协方差,得到M作为最终所 要求解的度量矩阵。
[0074]进一步的,根据所得的度量矩阵计算两个i-vector之间的马氏距离,具体包括:根 据之前求得的度量矩阵M,计算两个i-vector (Xi,Xj)间的马氏距离:
[0075] dM(Xi,Xj) = (Xi-Xj)TM(Xi_Xj)
[0076] Xi表示第i条语音的i-vector向量,M为度量矩阵,dM(Xi,Xj)为两个i-vector (Xi, XJ)间的马氏距离。
[0077]更进一步的,将所得的马氏距离和阈值进行比较,基于比较结果,对这两条新的语 音是否属于同一说话人作出判断,具体包括:
[0078]根据所得的马氏距离计算为两个i-VeCt〇r(Xl,幻)间的相似度得分:
[0079] ScoreM(Xi,Xj) =-(Xi-Xj)TM(Xi_Xj)
[0080] 其中,马氏距离得分ScoreM(Xi,Xj),M为度量矩阵,Xi为第i条语音的i-vector向 量。
[0081]将所得的马氏距离得分Sc〇reM(Xl,&)与阈值作比较,如果马氏距离得分大于阈 值,则说明这两条新的语音不是属于同一说话人;如果马氏距离得分在阈值之内,则说明这 两条新的语音是属于同一说话人。
[0082] 本实施例中,s为说话人数量;1^是说话人s对应的语音数;是所有说话人i_ vector均值;疋是第s个说话人i-vector均值。
[0083] 为了便于理解本发明的技术方案,以下通过一个具体的实验测试应用场景为例进 行说明实施例提供的方法达到的效果及可实施性:
[0084] 实验在MATLAB环境下进行,说话人语音测试样本的实验语音数据均来自于美国国 家标准与技术局(NIST)说话人评测(SRE) 04、05、06、08年核心语音库。说话人识别系统首先 对采集的多个说话人的目标样本的语音数据进行去冗余和降噪处理,将语音模拟信号转换 离散语音数字信号。用帧长20ms的窗函数将语音信号交叠分帧(帧移10ms)。提取13维梅尔 频率倒谱系数(MFCC)与其一阶、二阶差分组合成39维特征向量对语音信号进行表示。采用 NISTSRE04、05和06年语音数据集训练出512阶性别相关的UBM,在此基础上训练出所有说话 人的目标样本的i _vector向量(400维),并对i-vector向量进行LDA、WCCN和长度规整等鲁 棒性处理,用于后续过程。其中08年语音数据作为说话人的目标样本和语音测试样本进行 相似度评测。
[0085] 进行度量学习实验前,首先构造用于训练的相似样本对集和非相似样本对集。本 实施例使用NIST SRE04、05、06年语音集中的491个男性6609条语音,及703个女性9136条语 音来构造相似样本对集S与非相似样本对集D。
[0086] 从语音中提取出的i-vector经过LDA或WCCN信道补偿处理后,采用KISS算法训练 一个马氏距离度量矩阵,计算马氏距离计算目标i-vector与测试i-vector间的相似度得 分。
[0087] 设s个说话人;~是说话人s对应的语音数;^是所有说话人i-vector均值;%.是各 说话人i-vector均值。
[0088] 其中,线性判别分析(LDA)的目标为通过投影最小化同类样本间距离和最大化非 同类样本间距离。定义类间散度矩阵Sb和类内散度矩阵S w:
[0089] Sb为说话人类间散度矩阵,Sw为说话人类内散度矩阵,^是说话人s对应的语音数; 是所有说话人i -vector均值;巧是第s个说话人i-vector均值。
[0090] 投影矩阵A由下式特征值1对应的特征向量组成。
[0091] Sbv = 1 SwV
[0092] Sb为说话人类间散度矩阵,Sw为说话人类内散度矩阵,1为说话人特征值对角阵,v 是说话人空间方向。
[0093]类内协方差规整(WCCN)的目标为使样本空间的基尽可能正交。类内协方差矩阵的 计算如下:
[0095] 共有s个说话人;^是说话人s对应的语音数W是所有说话人i-vector均值;疋是 第s个说话人i-vector均值。
[0096] 对特征向量进行映射:夂=^。其中B为F1的乔莱斯基分解,即W_i = B Bt。
[0097] 对i-vector向量进行长度规整可提高系统性能。
[0098] 其中,KISS算法如下:
[0099]分别求解出所有相似样本对的协方差^^和非相似样本对的协方差
[0102] Xl表示第i条语音的i-vector向量,yij = 0表示第i条语音和第j条语音来自不同说 话人,yu = l表示第i条语音和第j条语音来自相同说话人,可求得度量矩阵M:
[0103] )
[0104] 为相似样本对的协方差,s_为非相似样本对的协方差,得至ijM作为最终所要 求解的度量矩阵,用于计算说话人语音测试样本和目标样本( Xl,&)间的马氏距离:
[0105] dM(Xi,Xj) = (Xi-Xj)TM(Xi_Xj)
[0106] Xi表示第i条语音的i-vector向量,M为度量矩阵,dM(Xi,Xj)为说话人语音测试样 本和目标样本(Xl,幻)间的马氏距离。
[0107]根据该距离计算说话人样本(Xl,幻)间的相似度得分:
[0108] ScoreM(Xi,Xj) =-(Xi-Xj)TM(Xi_Xj)
[0109] 其中,马氏距离得分ScoreM(Xi,Xj),M为度量矩阵,Xi为第i条语音的i-vector向 量。
[0110] 本实施例提供的方法,保持简单直接(KISS)算法,简单有效,存在全局最优解,能 快速求得满足条件的距离度量矩阵,用于训练的样本对只需知道是否属于同类。要求解的 度量矩阵不会出现过拟合,且易于获得,KISS算法的可扩展性好,无需最优化求解的迭代过 程,只需计算两个很小的协方差矩阵。该度量矩阵可有效反映说话人空间中的相似性和区 分性,将该度量矩阵用于测试目标说话人语音样本的马氏距离得分分类器,使说话人识别 系统取得了很好的识别效果。性能接近甚至优于目前流行的度量学习算法,且度量矩阵的 训练过程的速度比其他算法快,训练出来的马氏距离度量矩阵更能真实反映样本空间的相 似性和区分性,从而提高说话人识别系统的性能。
[0111] 需要指出,根据实施的需要,可将本申请中描述的各个步骤拆分为更多步骤,也可 将两个或多个步骤部分操作组合成新的步骤,以实现本发明的目的。
[0112] 上述根据本发明的方法可在硬件、固件中实现,或者被实现为可存储在记录介质 (诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载 的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计 算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专 用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微 处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、 ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此 描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行 将通用计算机转换为用于执行在此示出的处理的专用计算机。
[0113]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何 熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵 盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【主权项】
1. 一种基于简单直接度量学习算法的说话人识别方法,其特征在于,该方法包括以下 步骤: 采集多个说话人的语音样本,提取所有样本中的i-vector; 采用LDA或WCCN方法进行信道补偿处理所有样本中的i-vector,并进行长度规整,形成 训练样本集; 构造基于训练样本集的i-vector和说话人身份的相似样本对集和非相似样本对集; 采用KISS算法,在相似样本对集和非相似样本对集上训练得到度量矩阵; 对于新的两条语音,将它们的i-vector经过以上所述提取、信道补偿处理和长度规整 的处理后,基于之前计算出来的度量矩阵,计算两个i-vector之间的马氏距离; 将所得的马氏距离和阈值进行比较,基于比较结果,对这两条新的语音是否属于同一 说话人作出判断。2. 如权利要求1所述的方法,其特征在于,采用LDA或WCCN方法进行信道补偿处理所有 样本中的i-vector,具体包括: 通过投影矩阵算法最小化同类样本间距离和最大化非同类样本间距离。3. 如权利要求1所述的方法,其特征在于,采用LDA或WCCN方法进行信道补偿处理所有 样本中的i-vector,具体包括: 使目标样本空间中的基尽可能正交。4. 如权利要求1所述的方法,其特征在于,该方法还包括: 对提取所有样本中的i-vector进行长度规整。5. 如权利要求1所述的方法,其特征在于,采用KISS算法,在相似样本对集和非相似样 本对集上训练得到度量矩阵,具体包括: 分别求解出所有样本中相似样本对的协方差和非相似样本对的协方差; 计算所述相似样本对的协方差和非相似样本对的协方差的度量矩阵。6. 如权利要求1所述的方法,其特征在于,该方法还包括: 根据所得的度量矩阵计算两个i-vector之间的马氏距离。7. 如权利要求1所述的方法,其特征在于,将所得的马氏距离和阈值进行比较,基于比 较结果,对这两条新的语音是否属于同一说话人作出判断,具体包括: 如果所得的马氏距离大于阈值,则说明这两条新的语音不是属于同一说话人; 如果所得的马氏距离在阈值之内,则说明这两条新的语音是属于同一说话人。
【文档编号】G10L17/04GK105931646SQ201610281884
【公开日】2016年9月7日
【申请日】2016年4月29日
【发明人】雷震春, 杨印根, 朱明华
【申请人】江西师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1