一种短语音说话人识别方法和装置与流程

文档序号:14941771发布日期:2018-07-13 21:04阅读:265来源:国知局

本发明涉及语音识别技术领域,特别涉及一种短语音说话人识别方法和装置。



背景技术:

在现代社会,随着信息技术的发展,如何进行个人身份的识别进而保护私人数据,有着越来越广泛的需求。利用人的生物特征进行识别是一种既方便又可靠的选择,如指纹、虹膜、声音等。相对于指纹、虹膜识别来说,人声的采集成本低廉、操作简便,同时声音带有较强的个人特性,可以利用声音作为一种方便的识别说话人身份的手段。对于短语音说话人识别,由于语音时间很短,提取的特征有限,说话人识别性能不高,难以满足实际应用需求。



技术实现要素:

本发明提供了一种短语音说话人识别方法和装置,以解决现有技术短语音说话人识别性能不高,难以满足实际需求的问题。

根据本申请的一个方面,提供了一种短语音说话人识别方法,该短语音说话人识别方法包括:

对输入的训练短语音信号预处理后,提取梅尔频率倒谱系数作为训练特征向量,利用自适应核可能性模糊c均值聚类算法进行聚类分析建立说话人语音参考模型;

对输入的测试短语音信号预处理后,提取梅尔频率倒谱系数作为测试特征向量,计算所述测试特征向量与所述说话人语音参考模型之间的距离,并根据所述距离识别短语音说话人的身份。

根据本申请的另一个方面,提供了一种短语音说话人识别装置,该短语音说话人识别装置包括:

模型训练单元,用于对输入的训练短语音信号预处理后,提取梅尔频率倒谱系数作为训练特征向量,利用自适应核可能性模糊c均值聚类算法进行聚类分析建立说话人语音参考模型;

说话人识别单元,用于对输入的测试短语音信号预处理后,提取梅尔频率倒谱系数作为测试特征向量,计算所述测试特征向量与所述说话人语音参考模型之间的距离,并根据所述距离识别短语音说话人的身份。

根据本申请的又一个方面,提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间通过内部总线通讯连接,所述存储器存储有能够被所述处理器执行的程序指令,所述程序指令被所述处理器执行时能够实现本申请的一个方面的短语音说话人识别方法。

本发明的有益效果是:本发明实施例的短语音说话人识别方法和装置,对输入的训练短语音信号预处理后,提取梅尔频率倒谱系数作为训练特征向量,利用自适应核可能性模糊c均值聚类算法进行聚类分析建立说话人语音参考模型并保存;对输入的测试短语音信号预处理后,提取相同特征得到测试特征向量后计算测试特征向量与说话人语音参考模型之间的距离,并根据距离识别短语音说话人的身份。本实施例的短语音说话人识别方法和装置利用新的自适应核可能性模糊c均值聚类算法(akpfcm)进行聚类建模,克服了在短语音情况下说话人识别性能下降的缺陷,提高了短语音识别正确率,满足了实际应用需求。

附图说明

图1为本发明一个实施例的短语音说话人识别方法的流程图;

图2为本发明一个实施例的短语音说话人识别原理图;

图3为本发明一个实施例的语音信号预处理的流程图;

图4为本发明一个实施例的mfcc特征提取的流程图;

图5为本发明一个实施例的akpfcm算法流程图;

图6为本发明一个实施例的短语音说话人识别装置的框图;

图7为本发明一个实施例的电子设备的结构示意图。

具体实施方式

本发明的发明构思是:目前的声纹识别技术,对于较长语音一般具有较好的识别性能,但对于短语音说话人识别,由于语音时间很短,随着语音时间长度的缩短,提取的特征有限,性能会下降很多。对此,本发明实施例提出一种短语音说话人识别方案,本实施例的技术方案通过对提取的mfcc(melfrequencycepstralcoefficents,梅尔频率倒谱系数)语音特征进行了改进,并提出了新的akpfcm(adaptivekernelpossibilityfuzzyc-means,自适应核可能性模糊c-均值)聚类算法,以及采用高维特征空间中的可能性模糊分类器实现可靠的说话人识别,在很短的语音情况下(如1~2秒),仍能具有很高的识别性能。通过本实施例提出的改进算法,克服了在短语音情况下说话人识别性能下降的缺陷,提高了系统的识别率。

图1为本发明一个实施例的短语音说话人识别方法的流程图,参见图1,本实施例的短语音说话人识别方法包括下列步骤:

步骤s101,对输入的训练短语音信号预处理后,提取梅尔频率倒谱系数作为训练特征向量,利用自适应核可能性模糊c均值聚类算法进行聚类分析建立说话人语音参考模型;

步骤s102,对输入的测试短语音信号预处理后,提取梅尔频率倒谱系数作为测试特征向量,计算所述测试特征向量与所述说话人语音参考模型之间的距离,并根据所述距离识别短语音说话人的身份。

由图1所示可知,本实施例的短语音说话人识别方法,对预处理后的语音信号,提取梅尔频率倒谱系数作为特征,利用自适应核可能性模糊c均值聚类算法进行聚类建立参考模型,将测试特征和说话人语音参考模型进行匹配,识别出短语音说话人的身份。由于akpfcm算法克服了fcm(fuzzyc-means,模糊c均值)聚类算法对噪声的敏感,以及pcm(possibilityc-means,可能性c-均值)算法对初始化类中心敏感,易导致一致性聚类的缺点。而且,通过使用高斯核函数,将说话人的语音特征映射到高维特征空间,能够较好地分辨、提取并放大有用的特征,扩大了模式之间的差异,提高了短语音的说话人识别性能。

同时,根据数据集的离散程度自适应选择高斯核的宽度,不需要通过大量的实验去确定合适的值。在每次的聚类迭代过程中,根据当前聚类中心的分布情况自适应更新高斯核函数的宽度参数,使得特征数据在高维空间中具有不同的伸缩能力,有利于找到更优的聚类中心,避免陷入局部最优值。

图2为本发明一个实施例的短语音说话人识别原理图,如图2所示,短语音说话人识别主要包括预处理、特征提取、模式匹配和判决四个部分。其中在训练环节,输入的训练语音经过预处理、特征提取后通过自适应核可能性模糊c均值聚类算法聚类分析建立说话人语音参考模型。在测试环节,测试语音经过预处理、特征提取后得到特征向量序列,然后与说话人语音参考模型进行模式匹配,根据匹配结果判决待识别说话人的身份得到识别结果。

以下结合图3至图5对图2中短语音说话人识别的各个部分进行具体说明。

(一)预处理

如图3所示预处理过程主要包括下列操作:

(1)预加重

对于语音信号的频谱,通常是频率越高,幅值越小。因此,需要对高频进行加重处理,一般是将语音信号通过一个一阶高通滤波器(即,预加重滤波器),公式如下:

y(n)=x(n)-μ*x(n-1)

其中μ为滤波器参数,取值介于0.9~1.0之间,通常可以取0.97。预加重的目的是滤除低频干扰,将对语音识别更为有用的高频部分进行频谱提升。

(2)分帧

语音信号具有短时平稳特性。目前,广泛采用短时分析技术,即假设在非常短的时间(5-50ms)内,语音信号是平稳的,可以采用平稳信号的分析方法。因此,需要对语音作分帧处理,具体而言就是将其分割成成很小的时间段(约10~30ms),每个语音片段称为帧,帧与帧的非重叠部分称为帧移,帧移一般取帧长的1/3~1/2。分帧后,语音信号被分为具有n个连续采样的帧,x(n),n=0,…,n-1。

(3)加窗

对语音的分帧是通过窗函数在语音信号上滑动实现,为了保持语音信号的短时平稳性,利用窗函数来减少由截断处理导致的吉布斯效应。通常采用汉明窗w(n)进行处理。即:

s(n)=y(n)*w(n)

(4)端点检测

输入语音信号中可能包含有语音部分和非语音部分,这就需要采用端点检测算法来确定语音的起点和终点,从而只存储和处理有效语音信号。进行端点检测的基本参数主要有短时能量、幅度、过零率和相关函数等。端点检测最常见的方法是采用短时能量和短时过零率的双门限端点检测方法。端点检测为现有技术,这里不做过多说明。

(二)特征提取

特征提取是从输入信号(如预处理语音信号)中提取一组能够描述信号本质属性的特征参数。特征提取不仅能够实现对输入信号的数据压缩,而且能够提取出反映不同模式之间差异的特征,为进一步的识别提供基础。

mfcc特征基于人耳听觉感知原理,采用mel(梅尔)尺度对频带进行划分并提取倒谱特征。mfcc被广泛使用在语音识别以及说话人识别领域。

本实施例改进了mfcc语音特征提取过程,降低了复杂度,减少了信号失真,增强了语音信号中的个性化特征。

如图4所示,改进后mfcc特征提取过程主要包括以下几个部分。

(1)快速傅里叶变换(fft)

对加窗的信号作快速傅里叶变换,获得频谱分布信息。

(2)求频谱幅度

对短语音信号的频谱取绝对值获得幅度谱。

本实施例没有像传统方法那样取幅度的平方,而是直接取频谱绝对值,这样在降低计算复杂度的同时提高了对噪声的鲁棒性。

(3)梅尔滤波

即,将幅度谱通过一组有q个滤波器的滤波器组。本发明采用高斯带通滤波器组代替传统的三角形滤波器组。高斯滤波器在两端是逐渐衰减的并且是对称的,可以保留语音信号每个子带及其相邻子带的相关信息,减少失真。该高斯滤波器表示为:

其中q为滤波器的个数。σi为标准差,计算公式为:

这里的α为方差控制参数,实际应用时需要根据试验选择一个合适的值。kbi为每个子带的中心,在mel频率尺度上是均匀分布的,计算公式为:

其中,函数fmel(·)为mel频率的计算,fs为采样频率,fhigh和flow为滤波器组的最高和最低频率边界点,fhigh=fs/2,flow=fs/n,为fmel(·)的逆函数。

第i个高斯滤波器的输出信号为:

(4)取对数

对上述(3)梅尔滤波后每个滤波器的输出信号取对数,计算每个滤波器输出的对数。

(5)离散余弦变换

这里将每个高斯带通滤波器的对数能量带入离散余弦变换,提取得到梅尔频率倒谱系数。也就是将取对数后的数据经过离散余弦变换(dct)后得到mfcc系数,即

其中,m指mfcc系数的阶数。mfcc系数个数通常取20~30,一般不用0阶倒谱系数。

(三)训练建立参考模型

提取出输入信号的特征向量序列后,通过本发明一个实施例的自适应核可能性模糊c均值聚类算法(akpfcm)进行聚类分析,生成码本,建立说话人语音参考模型。

本实施例的akpfcm算法可以克服fcm算法对噪声的敏感,以及pcm算法对初始化类中心敏感,易导致一致性聚类的缺点。另一方面,通过使用核函数,将说话人的语音特征映射到高维特征空间,能够较好地分辨、提取并放大有用的特征,扩大了模式类之间的差异,提高了短时语音的说话人识别性能。同时,根据数据集的离散程度自适应选择高斯核的宽度,不需要通过大量的实验去确定合适的值。而且,在每次的聚类迭代过程中,根据当前聚类中心的分布情况自适应更新高斯核宽度,给特征数据在高维空间中提供了不同的伸缩能力,有利于找到更优的聚类中心,一定程度上避免了陷入局部最优值。

本实施例中,聚类所要解决的问题是把n个特征向量的集合{xk},k=1,…,n(其中xk为m维向量)划分为c个子集(1<c<n),求出每个子集的聚类中心,使得如下的目标函数最小化:

且满足下列约束条件一和二:

条件一,条件二,这里的条件二可以理解为以及

上述公式(1)中,uik∈u表示第k个特征向量对第i类的隶属度;tik∈t表示集合xk属于第i类的可能性,即典型值;m,η>1为模糊加权指数;a,b>0为权重系数;vi∈v为聚类中心;系数γi>0。

通过拉格朗日乘数法最小化目标函数可求得隶属度、典型值和聚类中心。

参见图5,这里的akpfcm聚类算法通过下降的循环迭代方式,直至找到符合终止条件的u、t和v,此时u、t和v都是最优解。

算法流程开始,首先初始化参数,例如,给定参数c,n,a,b,m,η,以及允许的最大误差ε,最大迭代次数tmax。

接着,执行步骤s0,计算初始v0;

这里利用lbg算法或fcm等传统算法得到初始的聚类中心v0。lbg算法是由linde,buzo,gray三人在1980年提出的。lbg算法通过训练矢量集和一定的迭代算法来逼近最优的再生码本。

然后,执行下列步骤s1至s8,

步骤s1,计算σ

根据公式(2)和(3)计算高斯核函数的带宽参数σ:

本实施例中,是将输入样本向量集的标准差作为高斯核函数的参数,所以计算输入样本向量集的标准差的过程即为计算高斯核函数的带宽参数σ的过程。

步骤s2,计算γi;

这里的γi为系数,利用下列预定公式计算出γi:

其中,k(·)为引入的高斯核函数,

其中,σ为高斯带宽参数。选择一个高斯核函数最重要的就是对带宽参数的选择,选择的带宽过小,则导致过学习,选择的带宽过大,又会导致过平滑。本实施例提出自适应确定核函数的宽度参数的方法,将σ设置为给定输入样本向量集的标准差,标准差能够代表数据的离散程度,从而根据当前聚类中心的分布情况自适应更新高斯核函数的宽度参数。

步骤s3,令t=1;

步骤s4,计算σt

即,根据公式(4)和(5),计算在第t次迭代时高斯核函数的带宽参数σt;

公式(4)中的

如果在每次的聚类迭代过程中,根据当前计算的聚类中心,按照公式(4)求出聚类中心的标准差作为新的高斯带宽参数σt,如果σt较小,那么聚类中心较接近,则在高维空间中增加数据的离散程度,反之亦然。这是因为在高维空间中的两个数据点间的距离范数为:

||φ(xk)-φ(vi))||2=2(1-k(xk,vi))

又根据可知,当σt较小时,则在高维空间中的距离将被放大,这样通过σt就自适应地控制了高维空间中的数据离散程度。即,根据当前的聚类中心分布情况,赋予特征数据在高维空间中不同的伸缩能力,有利于找到更优的聚类中心,一定程度上避免了陷入局部最优值。

步骤s5,计算ut,tt,vt

具体的,根据第t-1次的聚类中心vt-1和下列公式(6)计算第t次第k个特征向量对第i类的隶属度ut:

根据第t-1次的聚类中心vt-1和下列公式(7)计算第t次集合xk属于第i类的典型值tt:

根据第t-1次的聚类中心vt-1和ut、tt、下列公式(8)计算第t次的聚类中心vt:

步骤s6,是否满足终止条件;

这里是判断是否满足终止条件,即,判断当||ut-ut-1||≤ε或者||vt-vt-1||≤ε时,终止迭代并输出对应的ut、tt、vt;其中,ε为预设的最大误差;

步骤s7,t=t+1;将t+1赋值给t;

步骤s8,是否t>tmax

即,判断赋值后的t是否大于最大迭代次数tmax,是则终止迭代并输出对应的ut、tt、vt;否则,返回步骤s4继续执行直至终止迭代。

迭代终止输出u、v、t。其中,v即为聚类中心,也就是对输入信号的特征向量序列训练出来的码本,将码本作为该模式的参考模型。

经过图5所示的步骤,将训练出来的说话人语音参考模型保存到参考模型数据库中以用于下面进一步的模式识别。

至此,训练环节结束。

接下来介绍模式匹配和判决部分。

(四)模式匹配和判决

本发明实施例说话人识别部分是利用训练出的说话人语音参考模型的码本对测试特征向量进行量化,并计算平均量化误差,将算出的平均量化误差作为测试特征向量与说话人语音参考模型之间的距离。当测试特征向量与说话人语音参考模型之间的距离小于或者等于距离阈值时,确定短语音的说话人与说话人语音参考模型指示的参考说话人为同一人。

也就是,在高维特征空间,采用可能性模糊分类器通过计算出平均量化失真作为测试向量序列与参考模型之间的距离,实现更可靠的判决决策,提高系统的识别率。

具体的,对待测试说话人的语音采用与训练同样的预处理和mfcc特征提取过程,得到测试语音特征向量序列x={x1,x2,…,xn}。假设训练得到的参考模型的码本为v={v1,v2,…,vc},隶属度函数矩阵为u,典型值矩阵为t。接下来在高维特征空间中采用该码本对待测试说话人语音特征向量序列x进行量化,并通过下列公式计算产生的平均量化误差:

将此平均量化误差作为测试向量序列与说话人语音参考模型之间的距离,根据该平均量化误差对测试短语音说话人的身份进行判决。这里预设平均量化误差的阈值为th,则如果d≤th,即,如果d小于或等于th,则确定短语音的说话人与说话人语音参考模型指示的参考说话人是同一个人,否则不是同一个人。

由上可知,本实施例的模式匹配和判决采用高维特征空间中的可能性模糊分类器实现可靠的说话人识别,在很短的语音情况下(比如1~2秒),仍能具有很高的识别性能,克服了在短语音情况下说话人识别性能下降的情况,提高了系统的识别率。

本发明实施例还提供了一种短语音说话人识别装置,图6为本发明一个实施例的短语音说话人识别装置的框图,参见图6,短语音说话人识别装置600包括:

模型训练单元601,用于模型训练单元,用于对输入的训练短语音信号预处理后,提取梅尔频率倒谱系数作为训练特征向量,利用自适应核可能性模糊c均值聚类算法进行聚类分析建立说话人语音参考模型;

说话人识别单元602,用于对输入的测试短语音信号预处理后,提取梅尔频率倒谱系数作为测试特征向量,计算所述测试特征向量与所述说话人语音参考模型之间的距离,并根据所述距离识别短语音说话人的身份。

在一个优选实施例中,模型训练单元601用于:对预处理后的训练短语音信号作快速傅里叶变换,获得频谱分布信息;对训练短语音信号的频谱取绝对值获得幅度谱;将幅度谱通过一个有q个高斯带通滤波器的滤波器组,并计算每个高斯带通滤波器输出的对数;将每个高斯带通滤波器的对数能量带入离散余弦变换,提取得到梅尔频率倒谱系数。

在一个优选实施例中,模型训练单元601用于:

将得到的包含n个训练特征向量的集合{xk}划分为c个子集,其中,k=1,…,n,xk为m维向量,1<c<n,

求出每个子集的聚类中心,使得下列目标函数最小:

且满足下列约束条件一和二:

条件一,条件二,

公式(1)中,uik∈u表示第k个特征向量对第i类的隶属度;tik∈t表示集合xk属于第i类的典型值;m,η>1为模糊加权指数;a,b>0为权重系数;vi∈v为聚类中心;系数γi>0。

在一个优选实施例中,模型训练单元601具体用于执行下列步骤:

步骤s0,计算初始聚类中心v0;

步骤s1,根据公式(2)和(3)计算高斯核函数的带宽参数σ;

需要说明的是,本实施例是将输入样本向量集的标准差作为高斯核函数的参数,所以计算输入样本向量集的标准差的过程即为计算高斯核函数的带宽参数σ的过程。

步骤s2,计算γi;

利用下列预定公式计算出γi:

其中,k(·)为引入的高斯核函数,

步骤s3,令t=1;

步骤s4,计算σt;

根据公式(4)和(5),计算在第t次迭代时高斯核函数的带宽参数σt:

步骤s5,计算ut,tt,vt;

根据第t-1次的聚类中心vt-1和下列公式(6)计算第t次第k个特征向量对第i类的隶属度ut:

根据第t-1次的聚类中心vt-1和下列公式(7)计算第t次集合xk属于第i类的典型值tt:

根据第t-1次的聚类中心vt-1和ut、tt、下列公式(8)计算第t次的聚类中心vt:

步骤s6,是否满足终止条件;

判断当||ut-ut-1||≤ε或者||vt-vt-1||≤ε时,终止迭代并输出对应的ut、tt、vt;其中,ε为预设的最大误差;

步骤s7,t=t+1;

步骤s8,是否t>tmax;

判断当赋值后的t大于最大迭代次数tmax时,终止迭代并输出对应的ut、tt、vt;否则,返回步骤s4继续执行直至终止迭代。

在一个优选实施例中,说话人识别单元602,具体用于利用训练出的说话人语音参考模型的码本对测试特征向量进行量化,并计算平均量化误差,将算出的平均量化误差作为测试向量与说话人语音参考模型之间的距离;当测试特征向量与说话人语音参考模型之间的距离小于或者等于距离阈值时,则确定短语音的说话人与说话人语音参考模型指示的参考说话人为同一人。

需要说明的是,本实施例的短语音说话人识别装置的工作过程是和前述短语音说话人识别方法的实现步骤对应的,因此本实施例中没有描述的部分可以参见前述实施例中的说明,在此不再赘述。

图7为本发明一个实施例的电子设备的结构示意图。如图7所示,该电子设备包括存储器71和处理器72,存储器71和处理器72之间通过内部总线73通讯连接,存储器71存储有能够被处理器72执行的程序指令,程序指令被处理器72执行时能够实现上述的短语音说话人识别方法。

此外,上述的存储器71中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本发明的另一个实施例提供一种计算机可读存储介质,计算机可读存储介质存储计算机指令,计算机指令使所述计算机执行上述的方法。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的装置。

需要说明的是术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本发明的说明书中,说明了大量具体细节。然而能够理解的是,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

以上所述,仅为本发明的具体实施方式,在本发明的上述教导下,本领域技术人员可以在上述实施例的基础上进行其他的改进或变形。本领域技术人员应该明白,上述的具体描述只是更好的解释本发明的目的,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1