身份向量处理方法和装置与流程

文档序号:11867410阅读:282来源:国知局
身份向量处理方法和装置与流程

本发明涉及计算机技术领域,特别是涉及一种身份向量处理方法和装置。



背景技术:

说话人身份识别是一种重要的身份识别手段,用户说出一段语音,终端采集该语音,并将采集的语音进行预处理、特征提取、建模和参数估计等一系列操作后,将语音映射为一段定长的可以表达说话人语音特征的向量,该向量称为身份向量。身份向量可以良好地表达相应语音中包括的说话人身份信息。将说话人的身份向量与目标用户的身份向量进行比较,根据两者相似程度可以判断出说话人是否为目标用户,从而实现说话人身份验证。

然而,身份向量容易受到信道易变性和环境易变性的干扰,从而影响说话人身份识别的准确性。其中信道易变性是指由于采集终端的差异性和/或传输差异性对语音造成的畸变,采集终端的差异性比如手机、平板电脑等终端类型的差异性,传输差异性比如采用有线传输或者无线传输等传输信道的差异性。环境易变性是指说话人所处的环境因素对语音造成的畸变,环境因素比如室内或者室外,还比如环境噪声。



技术实现要素:

基于此,有必要针对目前身份向量易受干扰技术问题,提供一种身份向量处理方法和装置。

一种身份向量处理方法,包括:

获取样本集合,所述样本集合包括多个说话人类别的身份向量的样本;

获取所述样本集合中每个样本所对应的类间近邻样本;

获取所述样本集合中每个样本所对应的类内近邻样本;

根据所述样本集合中各样本和相应类间近邻样本确定类间差异量;

根据所述样本集合中各样本和相应类内近邻样本确定类内差异量;

获取基向量组,所述类间差异量投影到所述基向量组中各基向量的值最大化,且所述类内差异量投影到所述基向量组中各基向量的值最小化;

根据所述基向量组对待处理的身份向量进行特征变换。

一种身份向量处理装置,包括:

类间差异量确定模块,用于获取样本集合,所述样本集合包括多个说话人类别的身份向量的样本;获取所述样本集合中每个样本所对应的类间近邻样本;根据所述样本集合中各样本和相应类间近邻样本确定类间差异量;

类内差异量确定模块,用于获取所述样本集合中每个样本所对应的类内近邻样本;根据所述样本集合中各样本和相应类内近邻样本确定类内差异量;

基向量组获取模块,用于获取基向量组,所述类间差异量投影到所述基向量组中各基向量的值最大化,且所述类内差异量投影到所述基向量组中各基向量的值最小化;

特征变换模块,用于根据所述基向量组对待处理的身份向量进行特征变换。

上述身份向量处理方法和装置,类间近邻样本可以反映出样本集合中不同说话人类别的近邻样本的局部分布,类内近邻样本则可以反映出样本集合中相同说话人类别的近邻样本的局部分布,可以更准确地反映出样本集合中类内和类间之间的差异。根据样本集合中各样本和相应类间近邻样本确定的类间差异量可以准确地反映出样本集合中不同说话人类别之间的差异性,而根据样本集合中各样本和相应类内近邻样本确定的类内差异量可以准确地反映出样本集合中相同说话人类别之间的差异性。根据基向量组对待处理的身份向量进行特征变换后,经过特征变换后的身份向量具有很好的类间区分性和类内聚集性,可减少因受干扰而导致身份向量识别性能下降的情况。

附图说明

图1为一个实施例中说话人身份识别系统的应用环境图;

图2A为一个实施例中服务器的内部结构示意图;

图2B为一个实施例中终端的内部结构示意图;

图3为一个实施例中身份向量处理方法的流程示意图;

图4为一个实施例中获取样本集合中每个样本所对应的类间近邻样本的步骤的流程示意图;

图5为一个实施例中获取样本集合中每个样本所对应的类内近邻样本的步骤的流程示意图;

图6为一个实施例中根据样本集合中各样本和相应类间近邻样本确定类间差异量的步骤的流程示意图;

图7为一个实施例中计算在加权求和时所需的权重的步骤的流程示意图;

图8为一个实施例中根据样本集合中各样本和相应类内近邻样本确定类内差异量的步骤的流程示意图;

图9为一个实施例中说话人身份识别方法的流程示意图;

图10为一个实施例中身份向量处理装置的结构框图;

图11为另一个实施例中身份向量处理装置的结构框图;

图12为再一个实施例中身份向量处理装置的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一协方差称为第二协方差,且类似地,可将第二协方差称为第一协方差。第一协方差和第二协方差两者都是协方差,但其不是同一协方差。

图1为一个实施例中说话人身份识别系统的应用环境图。如图1所示,该系统包括通过网络连接的终端110和服务器120。终端110可用于采集语音并从采集的语音中提取身份向量(i-vector),将身份向量发送到服务器120,接收服务器120反馈的身份识别结果。服务器120可用于根据基向量组对目标说话人类别的已知身份向量和待验证身份向量分别进行特征变换;计算经过特征变换的所述已知身份向量和经过特征变换的待验证身份向量之间的相似度;根据所述相似度进行说话人身份验证;根据验证通过时相应的目标说话人类别确定身份识别结果。

服务器120可用于获取样本集合,样本集合包括多个说话人类别的身份向量的样本;获取样本集合中每个样本所对应的类间近邻样本;获取样本集合中每个样本所对应的类内近邻样本;根据样本集合中各样本和相应类间近邻样本确定类间差异量;根据样本集合中各样本和相应类内近邻样本确定类内差异量;获取基向量组,类间差异量投影到基向量组中各基向量的值最大化,且类内差异量投影到基向量组中各基向量的值最小化。

图2A为一个实施例中服务器的内部结构示意图。如图2A所示,该服务器包括通过系统总线连接的处理器、非易失性存储介质、内存储器和网络接口。其中,该服务器的非易失性存储介质存储有操作系统、数据库和身份向量处理装置,数据库中可存储有样本集合,该身份向量处理装置可用于实现一种身份向量处理方法。该服务器的处理器用于提供计算和控制能力,支撑整个服务器的运行。该服务器的内存储器为非易失性存储介质中的身份向量处理装置的运行提供环境,该内存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种身份向量处理方法。该服务器的网络接口用于与终端连接通信。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。本领域技术人员可以理解,图2A中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图2B为一个实施例中终端的内部结构示意图。如图2B所示,该终端包括通过系统总线连接的处理器、非易失性存储介质、内存储器、网络接口和声音采集装置。其中,终端的非易失性存储介质存储有操作系统,还包括一种说话人身份识别装置,该说话人身份识别装置用于实现一种说话人身份识别方法。该处理器用于提供计算和控制能力,支撑整个终端的运行。终端中的内存储器为非易失性存储介质中的说话人身份识别装置的运行提供环境,该内存储器中可储存有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种说话人身份识别方法。网络接口用于与服务器进行网络通信。该终端可以是手机、平板电脑或者个人数字助理或穿戴式设备等。本领域技术人员可以理解,图2B中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

图3为一个实施例中身份向量处理方法的流程示意图。本实施例以该方法应用于服务器来举例说明,该方法也可以应用于终端。该方法具体包括如下步骤:

S302,获取样本集合,样本集合包括多个说话人类别的身份向量的样本。

具体地,样本集合包括若干样本,每个样本包括一个身份向量,且每个样本标记了所包括的身份向量所属的一个说话人类别,且样本集合共存在指定数量的多个说话人类别,每个说话人类别可包括多个样本。一个说话人类别表示一个说话人,相同说话人类别的样本从源自于相同说话人的语音中提取出,不同说话人类别的样本则分别从源自于不同说话人的语音中提取出。样本集合中任一说话人类别的样本为多个。身份向量是将语音进行预处理、特征提取、建模和参数估计等一系列操作后映射出的固定长度的、可以区分说话人身份的向量。样本集合可存储在文件、数据库或者缓存中,在需要时从文件、数据库或者缓存中获取。

S304,获取样本集合中每个样本所对应的类间近邻样本。

其中,每个样本所对应的类间近邻样本是指与该每个样本非同属说话人类别的近邻样本,一个样本的非同属说话人类别是指与该样本属于不同说话人类别。每个样本的近邻样本是指样本集合中与该每个样本之间的距离满足距离接近条件的其它样本。进一步地,距离接近条件是指样本集合中每个样本与样本集合中其它样本之间判定为接近时彼此之间应满足的条件。满足距离接近条件的样本可以是距离小于预设距离阈值的样本,也可以是按距离升序排序后排在前面的预设数量的样本。

S306,获取样本集合中每个样本所对应的类内近邻样本。

其中,每个样本所对应的类内近邻样本是指与该每个样本同属说话人类别的近邻样本,一个样本的同属说话人类别是指与该样本属于相同说话人类别。每个样本的近邻样本是指样本集合中与该每个样本之间的距离满足距离接近条件的其它样本。S304和S306的执行顺序可互换,也可以同时执行,S306也可以在S308之后执行。

S308,根据样本集合中各样本和相应类间近邻样本确定类间差异量。

其中,类间差异量是指反映样本集合中不同说话人类别的样本之间差异的衡量量。在一个实施例中,服务器可以遍历样本集合中的每个样本,该遍历的样本对应多个非同属说话人类别的类间近邻样本,计算该样本与相应的每个类间近邻样本的差异,进而综合样本集合中所有样本与相应类间近邻样本之间的差异得到样本集合的类间差异量。

在一个实施例中,服务器还可以遍历样本集合中的每个样本,该遍历的样本对应多个非同属说话人类别的类间近邻样本,将对应的类间近邻样本按照所属的说话人类别分别计算中心,从而计算遍历的样本与每个非同属说话人类别的中心之间的差异,进而综合样本集合中所有样本与其各非同属说话人类别的中心之间的差异得到样本集合的类间差异量。其中的中心可以是均值或者加权平均值。

S310,根据样本集合中各样本和相应类内近邻样本确定类内差异量。

其中,类内差异量是指反映样本集合中相同说话人类别的样本之间差异的衡量量。在一个实施例中,服务器可以遍历样本集合中的每个样本,该遍历的样本对应同属说话人类别的非自身的类内近邻样本,计算该样本与相应的每个类内近邻样本的差异,进而综合样本集合中所有样本与相应类内近邻样本之间的差异得到样本集合的类内差异量。

在一个实施例中,服务器还可以遍历样本集合中的每个样本,该遍历的样本对应同属说话人类别的非自身的类内近邻样本,计算对应的所有类内近邻样本的中心,计算遍历的样本与该中心的差异,进而综合计算出的差异得到样本集合的类内差异量。其中的中心可以是均值或者加权平均值。

S312,获取基向量组,类间差异量投影到基向量组中各基向量的值最大化,且类内差异量投影到基向量组中各基向量的值最小化。

其中,基向量组包括多个长度相等的基向量。基向量组中的基向量可以是彼此正交的,便于矩阵运算。基向量组中基向量的数量可以少于样本集合中说话人类别总数。服务器可寻找一系列的基向量,使得类间差异量投影到基向量上的投影值最大化,类内差异量投影到基向量上的投影值最小化,并将寻找到的基向量组成基向量组。

S314,根据基向量组对待处理的身份向量进行特征变换。

其中,特征变换是指将特征从原本的特征空间变换到新的特征空间以增强特征的区分性的处理过程,身份向量是语音的一种特征。待处理的身份向量是指需要进行特征变换的身份向量,可以是待验证身份向量、样本集合中的样本或者其它身份向量。根据基向量组对待处理的身份向量进行特征变换,使得经过特征变换的身份向量投影到基向量组构成的多维空间中,形成类间区分性强且类内聚集性强的身份向量。基向量组中基向量的数量可以少于样本集合中说话人类别总数,将待处理的身份向量经过特征变换后可得到降维的身份向量。

上述身份向量处理方法,类间近邻样本可以反映出样本集合中不同说话人类别的近邻样本的局部分布,类内近邻样本则可以反映出样本集合中相同说话人类别的近邻样本的局部分布,可以更准确地反映出样本集合中类内和类间之间的差异。根据样本集合中各样本和相应类间近邻样本确定的类间差异量可以准确地反映出样本集合中不同说话人类别之间的差异性,而根据样本集合中各样本和相应类内近邻样本确定的类内差异量可以准确地反映出样本集合中相同说话人类别之间的差异性。根据基向量组对待处理的身份向量进行特征变换后,经过特征变换后的身份向量具有很好的类间区分性和类内聚集性,可减少因受干扰而导致身份向量识别性能下降的情况,可提高说话人身份识别的准确性。

图4为一个实施例中步骤S304即获取样本集合中每个样本所对应的类间近邻样本的步骤的流程示意图。如图4所示,S304具体包括以下步骤:

S402,遍历样本集合中的样本。

具体地,服务器可按照任意顺序遍历样本集合中的样本,从而针对遍历的样本分别获取相应的类间近邻样本。

更具体地,假设样本集合中的样本表示为其中i为说话人类别序号,l为第i个说话人类别中的样本序号;样本集合中说话人类别总数为C;样本集合中第i个说话人类别中样本总数为Ni,服务器对从到构成的样本集合进行遍历。可以是p×1大小的向量。

S404,确定与遍历的样本非同属说话人类别的样本。

具体地,对于遍历的样本其说话人类别序号为i,其非同属说话人类别序号为j,且i≠j。说话人类别序号为j的样本便是与遍历的样本非同属说话人类别的样本。

S406,计算遍历的样本与非同属说话人类别的样本之间的距离。

具体地,对于遍历的样本属于第j个说话人类别的所有样本都可以与遍历的样本计算距离。距离可采用欧氏距离、曼哈顿距离或者马氏距离等用于衡量样本间相似性的距离。

S408,将非同属说话人类别的样本中每个说话人类别的样本按照相应距离升序排序后,从首位依次选取预设数量的样本作为遍历的样本所对应的相应非同属说话人类别的类间近邻样本。

具体地,非同属说话人类别的样本是样本集合中不属于第i个说话人类别的样本,其中的每个说话人类别便是上述的第j个说话人类别。将第j个说话人类别的所有样本按照与遍历的样本的距离从小到大的顺序排序后,从排序的样本的首位起选取K个样本构成类间近邻样本为其中K为预设数量。

本实施例中,可精确确定样本集合中每个样本所对应的类间近邻样本,从而便于精确计算基向量组,从而提高利用基向量组将待处理的身份向量特征变换后的识别性能。

图5为一个实施例中步骤S306即获取样本集合中每个样本所对应的类内近邻样本的步骤的流程示意图。如图5所示,步骤S306具体包括如下步骤:

S502,遍历样本集合中的样本。

具体地,假设样本集合中的样本表示为其中i为说话人类别序号,l为第i个说话人类别中的样本序号;样本集合中说话人类别总数为C;样本集合中第i个说话人类别中样本总数为Ni,服务器对从到构成的样本集合进行遍历。

S504,确定与遍历的样本同属说话人类别的样本。

具体地,对于遍历的样本其同属说话人类别序号为i,说话人类别序号为i的非的样本便是与遍历的样本同属说话人类别的样本。

S506,计算遍历的样本与同属说话人类别的样本之间的距离。

具体地,对于遍历的样本属于第i个说话人类别且除去的所有样本都可以与遍历的样本计算距离。距离可采用欧氏距离、曼哈顿距离或者马氏距离等用于衡量样本间相似性的距离。

S508,将同属说话人类别的样本按照相应距离升序排序后,从首位依次选取预设数量的样本作为遍历的样本所对应的类内近邻样本。

具体地,将第i个说话人类别中除去遍历的样本后,按照与遍历的样本的距离从小到大的顺序排序,从排序的样本的首位起选取K个样本构成类内近邻样本为其中K为预设数量。

本实施例中,可精确确定样本集合中每个样本所对应的类内近邻样本,从而便于精确计算基向量组,从而提高利用基向量组将待处理的身份向量特征变换后的识别性能。

图6为一个实施例中步骤S308即根据样本集合中各样本和相应类间近邻样本确定类间差异量的步骤的流程示意图。如图6所示,步骤S308具体包括如下步骤:

S602,计算样本集合中每个样本对应的每个非同属说话人类别的类间近邻样本的第一样本均值。

具体地,可根据以下公式(1)计算第一样本均值:

其中,为样本的第j个说话人类别的类间近邻样本的第一样本均值。

S604,根据样本集合中每个样本和相应每个非同属说话人类别的类间近邻样本的第一样本均值计算第一协方差。

具体地,可根据以下公式(2)计算第一协方差:

其中,t表示转置;表示样本集合中第i个说话人类别中第l个样本;表示样本的第j个说话人类别的类间近邻样本的第一样本均值。

上述公式(2)中,将样本集合中的每个样本与第j个说话人类别的类间近邻样本的第一样本均值作差后乘以该差的转置得到第一协方差。

S606,将第一协方差加权求和,获得类间差异量。

具体地,可采用如下公式(3)计算类间差异量:

其中,是类间差异量,在公式(3)中具体是类间方差;C表示样本集合中说话人类别总数;i和j是样本集合中不同说话人类别的序号;l是第i个说话人类别样本的序号;Ni表示第i个说话人类别的样本总数;t表示转置;表示样本与第j个说话人类别的类间近邻样本的第一样本均值;表示样本对应于第j个说话人类别的第一协方差在加权求和时的权重。

本实施例中,根据样本集合中的每个样本以及相应的第一样本均值计算出第一协方差,将第一协方差进行加权求和得到类间差异量,该类间差异量可以更加准确地衡量样本集合中不同说话人类别的样本之间的差异,从而便于精确计算基向量组,从而提高利用基向量组将待处理的身份向量特征变换后的识别性能。

图7为一个实施例中计算在加权求和时所需的权重的步骤的流程示意图,该步骤在步骤S606之前的任意时序执行。参照图7,该步骤具体包括如下步骤:

S702,对于样本集合中的每个样本,获取与非同属说话人类别的类间近邻样本之间的第一距离,并获取与相应类内近邻样本的第二距离。

具体地,对于样本集合中的每个样本可计算与第j个说话人类别的各个类间近邻样本之间的第一距离并计算与相应类内近邻样本之间的第二距离

S704,取第一距离和第二距离中的最小距离。

具体地,取第一距离和第二距离中的最小距离可用如下公式(4)表示:

<mrow> <mi>min</mi> <mo>{</mo> <mi>d</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msub> <mi>NN</mi> <mi>K</mi> </msub> <mo>(</mo> <mrow> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <mi>i</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>,</mo> <mi>d</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msub> <mi>NN</mi> <mi>K</mi> </msub> <mo>(</mo> <mrow> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <mi>j</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

其中,min表示求取一个集合中的最小值;d表示求取距离。距离可采用欧氏距离、曼哈顿距离或者马氏距离等用于衡量样本间相似性的距离。

S706,计算第一距离和第二距离的和。

具体地,可根据如下公式(5)计算第一距离和第二距离的和:

<mrow> <mi>d</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msub> <mi>NN</mi> <mi>K</mi> </msub> <mo>(</mo> <mrow> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <mi>i</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>+</mo> <mi>d</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msub> <mi>NN</mi> <mi>K</mi> </msub> <mo>(</mo> <mrow> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <mi>j</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>

S708,将最小距离除以计算出的和,得到对应每个非同属说话人类别的第一协方差在计算加权和时的权重。

具体地,可根据如下公式(6)计算最小距离与计算出的和之间的商,得到对应每个非同属说话人类别的第一协方差在计算加权和时的权重:

<mrow> <msubsup> <mi>&omega;</mi> <mi>l</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msubsup> <mo>=</mo> <mfrac> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> <mo>{</mo> <mi>d</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msub> <mi>NN</mi> <mi>K</mi> </msub> <mo>(</mo> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>)</mo> <mo>,</mo> <mi>d</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msub> <mi>NN</mi> <mi>K</mi> </msub> <mo>(</mo> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>)</mo> <mo>}</mo> </mrow> <mrow> <mi>d</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msub> <mi>NN</mi> <mi>K</mi> </msub> <mo>(</mo> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>)</mo> <mo>+</mo> <mi>d</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <msub> <mi>NN</mi> <mi>K</mi> </msub> <mo>(</mo> <msubsup> <mi>x</mi> <mi>l</mi> <mi>i</mi> </msubsup> <mo>,</mo> <mi>j</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

本实施例中,计算权重时考虑第一距离和第二距离中的最小距离所占比重,使得权重能够准确反映不同的第一协方差对应类间差异量的影响,求得的类间差异量可以更加准确地衡量样本集合中样本之间的差异,从而便于精确计算基向量组,从而提高利用基向量组将待处理的身份向量特征变换后的识别性能。

在一个实施例中,在步骤S704和步骤S706之前,该身份向量处理方法还包括:根据可调参数分别对第一距离和第二距离进行同步缩放处理。

其中,可调参数是指可在可调参数的取值范围内进行调整的参数。可通过将可调参数作为第一距离和第二距离的常数项或者幂次来对第一距离和第二距离进行同步缩放处理。

具体地,可根据如下公式(6)来计算对应每个非同属说话人类别的第一协方差在计算加权和时的权重:

其中,α表示可调参数,取值范围可以是(0,1)。α可以取0.5。

本实施例中,通过调整可调参数,可以对第一距离和第二距离进行同步缩放,从而缩小或者加大各权重之间的差异,便于针对不同环境进行调整,增加鲁棒性。

图8为一个实施例中步骤S310即根据样本集合中各样本和相应类内近邻样本确定类内差异量的步骤的流程示意图。参照图8,步骤S310具体包括如下步骤:

S802,计算样本集合中每个样本对应的类内近邻样本的第二样本均值。

具体地,可根据如下公式(7)计算第二样本均值:

其中,表示样本集合中的样本对应的类内近邻样本的均值,即第二样本均值;K表示类内近邻样本的样本数,即上述的预设数量;k表示类内近邻样本中样本的序号。

S804,根据样本集合中每个样本和相应类内近邻样本的第二样本均值计算第二协方差。

具体地,可根据如下公式(8)计算第二协方差:

其中,t表示转置;表示样本集合中第i个说话人类别中第l个样本;表示样本的类内近邻样本的第二样本均值。

S806,将第二协方差加权求和,获得类内差异量。

具体地,可采用如下公式(9)计算类内差异量:

其中,是类内差异量,在公式(9)中具体是类内方差;C表示样本集合中说话人类别总数;i是样本集合中说话人类别的序号;l是第i个说话人类别样本的序号;Ni表示第i个说话人类别的样本总数;t表示转置;表示样本的类内近邻样本的第二样本均值。

本实施例中,根据样本集合中的每个样本以及相应的第二样本均值计算出第二协方差,将第二协方差求和得到类内差异量,该类内差异量可以更加准确地衡量样本集合中相同说话人类别的样本之间的聚集程度,从而便于精确计算基向量组,从而提高利用基向量组将待处理的身份向量特征变换后的识别性能。

在一个实施例中,步骤S312包括:寻找使得目标函数最大化的正交基向量,将正交基向量组合形成基向量组。

具体地,目标函数可以是:

其中,J(vi)表示目标函数;vi是一个正交基向量;t表示转置。根据目标函数J(vi)进行优化,使得目标函数最大化,获得一系列的正交基向量v1,v2…vn。将正交基向量依次组合形成正交基向量组A=[v1,v2…vn]。在步骤S314中进行特征变化时,可以将正交基向量组A的转置乘以待处理的身份向量得到经过特征变换的身份向量。假设待处理的身份向量为W,则AtW便是经过特征变换的身份向量。

在一个实施例中,步骤S314包括:根据基向量组将目标说话人类别的已知身份向量和待验证身份向量分别进行特征变换。该身份向量处理方法还包括:计算经过特征变换的已知身份向量和经过特征变换的待验证身份向量之间的相似度;根据相似度进行说话人身份验证。

具体地,参照图9,说话人身份识别可以应用于多种需要认证未知用户身份的场景。说话人身份识别分为线下(off-line)和线上(on-line)两个阶段:线下阶段需要收集大量的非目标说话人类别的语音用于训练说话人身份识别系统,说话人身份识别系统包括身份向量提取模块与身份向量规整模块。

线上阶段又分为两个阶段:注册阶段与识别阶段。在注册阶段中,需要获取目标说话人的语音,将该语音进行前端预处理、特征提取与模型训练后,映射为一段定长的已知身份向量,该已知身份向量即是表征目标说话人身份的一个模型。而在识别阶段中,获取一段身份未知的待验证语音,将该待验证语音同样经过前端预处理、特征提取与模型训练后,映射为一段待验证身份向量。

目标说话人的已知身份向量与识别阶段的待验证身份向量接下来都经过后端规整器,进行包括特征变换的规整与优化操作后,最后在相似度计算模块中计算相似度,相似度会与预先人工设定的一个门限值进行比较,若相似度大于等于门限值,则可判定待验证语音对应的身份与目标说话人身份匹配,身份验证通过。若相似度小于门限值,则可判定待验证语音对应的身份与目标说话人身份不匹配,身份验证未通过。相似度可采用余弦相似度、皮尔森相关系数或者欧氏距离等。

本实施例中,利用得到的基向量组对目标说话人类别的已知身份向量和待验证身份向量分别进行特征变换,使得经过特征变换的已知身份向量和待验证身份向量均具有很好的区分性,提高身份验证的准确率。

在NIST SRE 2008数据集的标准测试中,以等错概率(Equal Error Rate,EER)作为衡量指标,对于不做任何优化的原始身份向量进行身份识别,EER为5.48%。采用本实施例的身份向量处理方法将原始身份向量进行特征变换后进行身份识别,EER可以降低到5.19%,身份识别性能提升明显。其中NIST是National Insitute of Standerds and Technology的缩写,译为美国国家标准与技术研究院;SRE是Speaker Recognition Evaluation的缩写,译为说话人识别评价。

如图10所示,在一个实施例中,提供了一种身份向量处理装置1000,包括类间差异量确定模块1001、类内差异量确定模块1002、基向量组获取模块1003和特征变换模块1004。

类间差异量确定模块1001,用于获取样本集合,样本集合包括多个说话人类别的身份向量的样本。获取样本集合中每个样本所对应的类间近邻样本。根据样本集合中各样本和相应类间近邻样本确定类间差异量。

类内差异量确定模块1002,用于获取样本集合中每个样本所对应的类内近邻样本。根据样本集合中各样本和相应类内近邻样本确定类内差异量。

基向量组获取模块1003,用于获取基向量组,类间差异量投影到基向量组中各基向量的值最大化,且类内差异量投影到基向量组中各基向量的值最小化。

特征变换模块1004,用于根据基向量组对待处理的身份向量进行特征变换。

上述身份向量处理装置1000,类间近邻样本可以反映出样本集合中不同说话人类别的近邻样本的局部分布,类内近邻样本则可以反映出样本集合中相同说话人类别的近邻样本的局部分布,可以更准确地反映出样本集合中类内和类间之间的差异。根据样本集合中各样本和相应类间近邻样本确定的类间差异量可以准确地反映出样本集合中不同说话人类别之间的差异性,而根据样本集合中各样本和相应类内近邻样本确定的类内差异量可以准确地反映出样本集合中相同说话人类别之间的差异性。根据基向量组对待处理的身份向量进行特征变换后,经过特征变换后的身份向量具有很好的类间区分性和类内聚集性,可减少因受干扰而导致身份向量识别性能下降的情况,可提高说话人身份识别的准确性。

在一个实施例中,类间差异量确定模块1001还用于遍历样本集合中的样本;确定与遍历的样本非同属说话人类别的样本;计算遍历的样本与非同属说话人类别的样本之间的距离;将非同属说话人类别的样本中每个说话人类别的样本按照相应距离升序排序后,从首位依次选取预设数量的样本作为遍历的样本所对应的相应非同属说话人类别的类间近邻样本。

本实施例中,可精确确定样本集合中每个样本所对应的类间近邻样本,从而便于精确计算基向量组,从而提高利用基向量组将待处理的身份向量特征变换后的识别性能。

在一个实施例中,类内差异量确定模块1002还用于遍历样本集合中的样本;确定与遍历的样本同属说话人类别的样本;计算遍历的样本与同属说话人类别的样本之间的距离;将同属说话人类别的样本按照相应距离升序排序后,从首位依次选取预设数量的样本作为遍历的样本所对应的类内近邻样本。

本实施例中,可精确确定样本集合中每个样本所对应的类内近邻样本,从而便于精确计算基向量组,从而提高利用基向量组将待处理的身份向量特征变换后的识别性能。

在一个实施例中,类间差异量确定模块1001还用于计算样本集合中每个样本对应的每个非同属说话人类别的类间近邻样本的第一样本均值;根据样本集合中每个样本和相应每个非同属说话人类别的类间近邻样本的第一样本均值计算第一协方差;将第一协方差加权求和,获得类间差异量。

本实施例中,根据样本集合中的每个样本以及相应的第一样本均值计算出第一协方差,将第一协方差进行加权求和得到类间差异量,该类间差异量可以更加准确地衡量样本集合中不同说话人类别的样本之间的差异,从而便于精确计算基向量组,从而提高利用基向量组将待处理的身份向量特征变换后的识别性能。

如图11所示,在一个实施例中,身份向量处理装置1000还包括:权重计算模块1005,用于对于样本集合中的每个样本,获取与非同属说话人类别的类间近邻样本之间的第一距离,并获取与相应类内近邻样本的第二距离;取第一距离和第二距离中的最小距离;计算第一距离和第二距离的和;将最小距离除以计算出的和,得到对应每个非同属说话人类别的第一协方差在计算加权和时的权重。

本实施例中,计算权重时考虑第一距离和第二距离中的最小距离所占比重,使得权重能够准确反映不同的第一协方差对应类间差异量的影响,求得的类间差异量可以更加准确地衡量样本集合中样本之间的差异,从而便于精确计算基向量组,从而提高利用基向量组将待处理的身份向量特征变换后的识别性能。

在一个实施例中,权重计算模块1005还用于根据可调参数分别对第一距离和第二距离进行同步缩放处理。

本实施例中,通过调整可调参数,可以对第一距离和第二距离进行同步缩放,从而缩小或者加大各权重之间的差异,便于针对不同环境进行调整,增加鲁棒性。

在一个实施例中,类内差异量确定模块1002还用于计算样本集合中每个样本对应的类内近邻样本的第二样本均值;根据样本集合中每个样本和相应类内近邻样本的第二样本均值计算第二协方差;将第二协方差加权求和,获得类内差异量。

本实施例中,根据样本集合中的每个样本以及相应的第二样本均值计算出第二协方差,将第二协方差求和得到类内差异量,该类内差异量可以更加准确地衡量样本集合中相同说话人类别的样本之间的聚集程度,从而便于精确计算基向量组,从而提高利用基向量组将待处理的身份向量特征变换后的识别性能。

在一个实施例中,特征变换模块1004还用于根据基向量组将目标说话人类别的已知身份向量和待验证身份向量分别进行特征变换。如图12所示,在一个实施例中,身份向量处理装置1000还包括:身份验证模块1006,用于计算经过特征变换的已知身份向量和经过特征变换的待验证身份向量之间的相似度;根据相似度进行说话人身份验证。

本实施例中,利用得到的基向量组对目标说话人类别的已知身份向量和待验证身份向量分别进行特征变换,使得经过特征变换的已知身份向量和待验证身份向量均具有很好的区分性,提高身份验证的准确率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,该存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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