说话人语音特征子空间分离及识别应用
扫描二维码
随时随地手机看文章
随着电话银行等网络电子消费的普及,说话人识别作为一种有效的身份认证手段,其技术特点和优越性越来越明显,在国防安全、司法和金融等各应用领域的价值越来越显得重要。目前说话人识别的主要方法一般通过在语音特征观察空间建立说话人模型进行,如基于VQ的码本模型识别方法、基于GMM模型的识别方法以及其他一些方法,这些方法大都利用了说话人语音特征的统计特性。但是,说话人识别应用中存在的两个主要问题是:(1)由于语音特征的时变性,模型训练时期和实际识别时期语音特征发生变化而导致识别性能的下降,而目前这些方法只能在一定程度上处理这种变化;(2)实际应用中往往需要能通过较短的语音及时识别说话人身份,但目前这些方法一般需要输入3秒以上的语音才能得到较高的识别率。
语音信号中包含语义和说话人个性这两大特征,如果能够较好地将这两类特征进行分离,并依据个性特征建立说话人模型,则说话人识别性能将会得到提高并大大增强识别系统的鲁棒性,但两类特征的完全分离非常困难。统计方法建立的模型不可避免地需要较大的数据量进行训练和识别,在短时测试语音下识别性能下降是必然的。如果能够建立一种非纯粹统计模型或在统计模型的基础上结合结构性模型则可能会提高短时测试语音条件下的识别性能。
本文依据主元分析(PCA:Principal Component Analysis)原理和说话人语音特征在观察空间的分布散度提取主要散度向量构造说话人语音特征子空间,将说话人语音特征子空间从观察空间分离出来。实验分析了基于特征子空间的说话人识别性能,结果证明了这种方法的有效性,特别是在小于3秒的短时测试语音情况下识别性能明显优于VQ和GMM等方法。
2 特征子空间分离
基于语音特征子空间分离的说话人识别系统中,说话人模型由特征子空间表示,模式匹配部分则通过计算输入测试语音特征矢量与子空间的距离进行。特征子空间根据说话人训练语音提取的特征矢量在观察空间的统计分布特性,依据PCA原理选取具有较大权值的散度向量构成。
设一个说话人训练语音集合为{S1,S2,…,SN},每一个训练语音样本经过特征提取后形成特征矢量序列,即如果特征矢量具有P个参数,则特征矢量Vij表示P维观察空间的一个点,所有的特征矢量在观察空间形成具有一定统计分布特性的点集{V1,V2,…,VM},其中M是说话人所有训练语音特征矢量的总数。描述说话人语音特征矢量在观察空间分布的一个主要统计指标是分布散度,它可以由平均特征矢量和自协方差矩阵表示,如下:
公式(1)中平均特征矢量V反映说话人所有特征矢量在观察空问的中心点。公式(2)中自协方差矩阵R是一个P×P正定对称矩阵,它反映了说话人特征矢量各参数的平均偏离值,因此可以衡量特征矢量在观察空间的分布散度。
求自协方差矩阵R的本征值{λ1,λ2,…,λP}和相应的本征向量{e1,e2,…,eP},则它们之间的关系如下式(3)~(5)所示。其中φ是由本征向量作为每一列构成的P×P矩阵,A是由本征值构成的对角矩阵。
因为本征向量ei,i=1~P是从描述说话人语音特征矢量分布散度的自协方差矩阵计算得到,所以,从空间的角度看,说话人的语音特征分布完全可以由以平均特征矢量V为中心,本征向量ei,i=l~P为正交归一化基底的子空间描述,如图1所示。这样,就从语音特征观察空问将说话人语音特征子空间分离了出来,不同的说话人具有不同的特征子空间。
虽然计算得到的本征向量个数与观察空间维数相同,但有些本征向量对应的本征值较小,在表示语音特征分布散度时影响较小。因此,实际应用中可以选择具有较大散度权值(本征值)的向量构成子空间的基向量。图1显示了一个三维观察空间中分离出的两个二维说话人特征子空问例子,这些子空间的基底对应前两个较大的散度权值。第4小节分析了选取不同散度权值本征向量构成子空间情况下的识别性能,结果表明子空间维数并非越多越好。
说话人语音特征子空间本质上是根据训练语音特征矢量在观察空间的统计分布特性分析得到的一种结构性说话人模型,各子空间的基底描述了说话人语音特征分布的框架结构。因此,可以认为子空间融合了说话人语音特征的统计特性和结构特性,可由下式(6)表示:
3 子空间距离测度与模式匹配
系统模式匹配对输入测试语音与各说话人子空间的相关度进行分析,提供说话人身份的判别依据。设输入测试语音St相应的特征矢量序列为则通过计算该特征矢量序列与说话人特征子空间的距离来分析测试语音与子空间的相关度,距离越小,相关度越大。最终的说话人识别判决可以依据最小距离准则进行,即测试语音说话人所对应的子空间应该与测试语音之间的距离最小,即相关度最大。
输入语音特征矢量Vt与子空间的距离测度采用子空问投影距离计算,如下式(7)所示。其中Q是子空间的维数,Q≤P。
上式第一项是观察空间特征矢量Vt与说话人语音特征子空间中心矢量V之差向量Vt一V的平方模;第二项是这个差向量Vt一V在子空间各维投影的平方和,代表了这个差向量在子空间上的投影长度的平方。两项相减就是输入测试语音特征矢量Vt与子空间的距离。
以上距离测度中采用了训练语音的平均特征矢量V,使观察空间特征矢量转换为适合子空间处理的差向量形式。实际应用中,说话人语音特征是时变的,并引起特征矢量统计分布特性的变化,其表现之一是平均特征矢量随时问的漂移。从子空间角度看,这个平均特征矢量的变化代表了说话人语音特征子空间的一种整体时变漂移,在计算子空间距离时如果不能及时反映这种变化,将可能引起一定程度的失真,为此,定义第二种距离测度如下:
前面两项的含义与第一种测度d1(Vt,SF)是一致的,但差向量不是根据训练语音的平均特征矢量V形成,而是由输入测试语音的平均特征矢量Vt形成。这样,不仅使观察空间特征矢量转换为适合子空间处理的差向量形式,并且使形成差向量的两个特征矢量在时间上一致起来。但是,子空间是根据训练语音构造的,其中心特征矢量是训练语音的平均特征矢量,距离测度中必须反映这一差异。所以,在第二种距离测度中增加第三项描述训练语音和测试语音特征矢量的平均差异,两者通过加权系数c结合,其中N是测试语音短时帧个数。因此,这一距离测度不仅描述了特征矢量与说话人特征子空间的距离,而且描述了测试语音特征与子空间所表示的说话人语音特征的平均距离,同时考虑了语音特征的结构性和统计特性差异。加权系数c的选择使两类距离对整个测度的影响保持平衡,可以通过各自的统计方差之比计算。
模式匹配通过计算整个输入测试语音特征矢量序列与子空间的距离进行。利用以上距离测度,输入测试语音St与说话人语音特征子空问的总距离如下:
设系统需要识别的M个说话人对应的子空间分别为SF1~SFM,经过模式匹配得到输入测试语音St与各子空间的距离SFD1~SFDM,则识别判决准则如下:
4 实验分析
需要通过实验分析的问题包括:(1)基于特征子空间识别方法的有效性?(2)子空间维数与识别性能的关系?并确定一个最佳子空间维数。(3)不同子空间距离测度下识别性能的比较分析(4)不同特征参数,例如LPCC、MFCC情况下识别性能分析?(5)不同长度测试语音输入时,说话人识别性能的变化趋势?(6)在相同训练语音数据、实验环境和条件下,子空间方法和VQ、GMM等其他方法的识别性能比较分析。
4.1 实验数据与条件
语音数据选择SD2002一D2数据库,该数据库中包含了在普通实验室环境下通过计算机声音系统采集得到的40个说话人的280条语音片段,其中,男声26人,女声14人,每人分别有7段语音,每段语音包括停顿间隙长度为12秒。语音采样率为11025Hz,16位量化,单声道输入。实验中,每说话人的前4段语音用于模型训练,后3段用于测试。
在模型训练和识别测试中,预处理部分首先消除输入语音信号的背景噪声,保留纯语音数据,并进行权重系数为0.97的高频提升。短时分析采用27ms哈明窗,帧移步长18ms。特征参数LPCC和MFCC为16阶,其中,LPCC由16阶LPC线性预测系数推导得到,MFCC是基于Mel频率尺度的倒谱系数,通过计算Mel频率域均匀分布的19个三角滤波器组的DFT输出,并经DCT变换得到,实验中选取第l~16个系数作为特征参数。实验中,特征子空间采用说话人的前4段语音信号进行训练,其纯语音成分的长度平均为32秒。测试实验采用每说话人的后3段语音。
4.2 不同距离测度和特征参数下子空间维数与识别性能关系分析
根据PCA原理,特征子空间可以选择较大散度本征值对应的本征向量为基底,这样可以提高子空间之间的非相关性。但是,选择的基向量不能过少,否则可能引起子空间不能充分表示语音特征的分布结构。因此,需要在实验分析子空间维数与识别性能关系的基础上确定一个最佳子空间维数。
将散度本征值按大小顺序排列,并选取前面几个较大本征值所对应的本征向量作为子空间的基向量进行分析。图2显示了采用LPCC特征参数以及两种不同子空间距离测度情况下系统误识率随子空间维数变化的情况,其中测试语音长度为3秒。可以看到,第二种子空间距离测度总体上比第一种距离测度更优越,但两种测度下都显示当子空间维数为6时系统的误识率最低。图3显示了采用第二种子空间距离测度时,两种特征参数LPCC和MFCC所对应的识别性能随维数变化的情况,其测试语音长度也是3秒。可以看到,MFCC参数相对而言比LPCC要优越些,但差距并不大。另外,从图3同样可以看到当子空间维数为6时系统具有最佳识别性能。
根据以上实验结果可以得出这样得结论:基于子空间分离的说话人识别方法是有效的,但其识别性能随子空间维数是变化的,当维数为6时识别性能达到最佳,误识率仅为0.189%。因此,在以下的实验分析中子空间维数均采用6。
4.3 不同特征参数下识别性能与测试语音长度关系分析
实际应用中,测试语音的长度不是固定的。因此,衡量一个说话人识别系统的识别性能必须针对不同的测试语音长度进行分析。
图4显示了当采用两种特征参数LPCC和MFCC时,不同测试语音长度下系统的识别性能情况。其中,子空间距离的计算采用第二种测度,即d2(Vt,SF)。
从图4可以看到,所有测试语音长度下系统都能够得到较好的识别性能,误识率均在3%以下,当测试长度达到5秒时,MFCC对应的误识率趋于零,但LPCC对应的误识率下降趋势慢一些。另外可以看到,采用MFCC作为特征参数时的识别性能比LPCC时优越,但差距并不大。
4.4 子空间方法与其他方法的比较分析
说话人识别的根本性问题是模型和特征参数,即用怎样的方法去描述说话人的语音特征以及采用什么样的参数表示说话人语音特征的问题。但到目前为止,还没有提出专门用于说话人识别的语音特征参数和模型,常用的文本无关说话人模型有GMM和VQ。
图5和图6分别显示了子空间方法与VQ和GMM方法的比较。其中,VQ码本的码字数为128,GMM的混合分量数为16。可以看到,子空间方法在测试语音长度小于3秒时其识别性能优于其他方法,而在大于等于3秒时则相反。这个结果说明,GMM和VQ等完全基于统计聚类的方法由于运用了说话人语音的统计特性,所以对于较长的测试语音有较可靠的识别性能,但当测试语音较短时,由于无法提供可靠的统计特性进行匹配,误识率就很快下降。而子空间方法是根据说话人语音特征的分布散度得到的一种空间结构性模型,由于不是完全依靠语音特征的统计特性,所以在较短的测试语音时也能够得到较好的识别性能。
5 结论
依据PCA原理,从说话人语音特征观察空间根据其分布散度特性分离出特征子空间作为说话人的一种结构性语音模型是有效的。当采用MFCC参数,测试语音长度为5秒时系统误识率趋于零。特别是在小于3秒的短时测试语音情况下,其识别性能优于其他方法。另外,子空间方法在识别时的计算量明显小于其他方法。
说话人识别和语音识别中存在同样的核心问题,即没有解决说话人个性特征和语义特征的提取和描述,这个问题极难。目前主要采用的特征参数LPCC、MFCC等反映了语音信号的频谱特征,既包含语义特征信息,又包含个性特征信息,在具体应用中只是根据不同的识别任务进行语义特征或个性特征的归一化处理,主要的归一化处理通过语音模型训练进行。显然,这样的传统方法为了使语音模型很好地表示说话人的语音特征必须通过大量的语音样本进行训练,测试时需要的语音数据也比较多。但是,实际应用中系统往往没有足够的数据用于这类统计模型的训练和识别,因此,在考虑如何提高说话人识别系统鲁棒性的同时,需要研究少量语音数据前提下的训练和识别问题。基于子空间分离的说话人识别方法在短测试语音长度下有一定优势,但在较长测试语音情况下识别性能提高不快。因此,今后将考虑通过子空间映射,在子空间建立说话人统计模型的方法来提高总体识别性能,特别是较长测试语音长度下的识别性能。