第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 一种模型生成方法 声纹识别方法及对应装置与流程

一种模型生成方法 声纹识别方法及对应装置与流程

时间:2023-02-11 07:11:57

相关推荐

一种模型生成方法 声纹识别方法及对应装置与流程

本申请涉及深度学习声纹识别技术领域,具体而言,涉及一种模型生成方法、声纹识别方法及对应装置。

背景技术:

现有的通过深度学习来进行声纹识别的损失函数分为两类,包括分类损失函数和确认损失函数,而分类损失函数在训练时,输出节点会随着训练集中说话人数量的增加而增加,造成输出层笨重或过拟合的问题;确认损失函数在训练时需要精心构造样本对,存在着样本对构造复杂的问题。

技术实现要素:

本申请实施例的目的在于提供一种模型生成方法、声纹识别方法及对应装置,用以解决现有的分类损失函数在训练时,输出节点会随着训练集中说话人数量的增加而增加,存在的输出层笨重或过拟合的问题;确认损失函数在训练时需要精心构造样本对,存在着样本对构造复杂的问题。

第一方面,实施例提供一种模型生成方法,所述方法包括:将多个训练样本输入预设的神经网络模型,以计算每一所述训练样本经过所述预设的神经网络模型的输出向量,其中,所述多个训练样本中部分训练样本为相同说话人的声学特征,部分训练样本为不同说话人的声学特征;根据相同说话人的输出向量计算相同说话人的类内协方差;根据相同说话人的输出向量计算相同说话人的元素类中心;根据任意两个不同说话人的元素类中心计算所述任意两个不同说话人的输出向量之间的欧式距离;根据不同说话人的输出向量之间的欧式距离、相同说话人的类内协方差以及预先构建的损失函数计算对应的训练损失;根据所述训练损失对所述神经网络模型的各个参数进行迭代更新,以得到声纹特征提取模型。

在上述设计的模型生成方法中,训练得到的声纹特征提取模型通过不同说话人的输出向量之间的欧式距离、相同说话人的类内协方差以及预先构建的损失函数计算对应的训练损失进而进行训练得到,使得训练得到的声纹特征提取模型提取的同一说话人的声纹特征向量之间的距离更近,不同说话人的声纹特征向量之间的距离更远,同时预设的神经网络模型的输出层是固定的,因此,解决了现有的分类损失函数在训练时,输出节点会随着训练集中说话人数量的增加而增加,存在的输出层笨重的问题;确认损失函数在训练时需要精心构造样本对,存在着样本对构造复杂的问题。

在第一方面的可选实施方式中,所述预先构建的损失函数f(z|θ)为:

其中,所述r和λ为预设的可调超参数;m′i表示第i个说话人的输出向量的类中心;m′j表示第j个说话人的输出向量的类中心;所述z为神经网络的输出向量;θ为神经网络的待训练参数;k为类别总数;∑i表示第i个说话人的类内协方差;表示正则项。

在第一方面的可选实施方式中,在所述将多个训练样本输入预设的神经网络模型之前,所述方法还包括:获取语音训练信息,滤除所述语音训练信息中的静音信息和噪声信息,获得多个语音训练片段,并对不同说话人的语音训练片段进行标注;通过梅尔频率倒谱系数提取每个语音训练片段中的声学特征信息,获得所述多个训练样本。

第二方面,实施例提供一种声纹识别方法,所述方法包括:获取待判断用户的实时语音信息,提取所述实时语音信息的声学特征;将所述实时语音信息的声学特征输入声纹特征提取模型,以提取所述实时语音信息的声纹特征向量,所述声纹特征提取模型采用第一方面中任一项所述的方法获得的声纹特征提取模型;根据预存用户的语音样本信息的声纹特征向量以及所述实时语音信息的声纹特征向量判断所述待判断用户是否为预存用户。

在上述设计的声纹识别方法中,通过第一方面训练完成的声纹特征提取模型,进而来对实时语音和预存语音的说话人进行判断,使得对语音对应的人员身份进行识别,达到语音声纹识别的效果,并且第一方面的声纹特征提取模型使得提取出的声纹特征向量更加精确,使得后续的声纹识别更加准确。

在第二方面的可选实施方式中,所述根据预存用户的语音样本信息中的声纹特征向量以及所述实时语音信息中的声纹特征向量判断所述待判断用户是否为预存用户,包括:将所述预存用户的语音样本信息中的声纹特征向量以及所述实时语音信息中的声纹特征向量输入声纹相似度判断模型,以判断所述待判断用户是否为预存用户;所述声纹相似度判断模型的建立方法,包括:获取声学特征训练样本组,所述声学特征训练样本组包括多个训练样本,所述多个训练样本中至少部分训练样本具有不同说话人的声学特征;将声学特征训练样本组中多个训练样本输入所述声纹特征提取模型,以提取所述声学特征训练样本组中每个训练样本的声纹特征向量;根据所述声学特征训练样本组中每个训练样本对应的声纹特征向量对声纹相似度判断模型进行训练,获得训练完成的所述声纹相似度判断模型。

在第二方面的可选实施方式中,在所述获取待判断用户的实时语音信息之前,所述方法还包括:获取语音样本信息,提取所述语音样本信息的声学特征;将所述语音样本信息的声学特征输入所述声纹特征提取模型,以提取所述语音样本信息的声纹特征向量;将所述语音样本信息的声纹特征向量存储在数据库中。

在上述设计的实施方式中,将语音样本信息中的声学特征输入声纹特征提取模型中以提取该语义样本信息中的声纹特征向量,进而存储在数据库中,为后续的声纹识别作好对比数据准备。

在第二方面的可选实施方式中,所述提取所述实时语音信息的声学特征,包括:滤除所述实时语音信息中的静音信息和噪声信息,获得多个实时语音片段;通过梅尔频率倒谱系数提取每个实时语音片段中的声学特征。

第三方面,实施例提供一种模型生成装置,所述装置包括:输入模块,用于将多个训练样本输入预设的神经网络模型,以计算每一所述训练样本经过所述预设神经网络模型的输出向量,其中,所述多个训练样本中部分训练样本为相同说话人的声学特征,部分训练样本为不同说话人的声学特征;计算模块,用于根据相同说话人的输出向量计算相同说话人的类内协方差;根据相同说话人的输出向量计算相同说话人的元素类中心;根据任意两个不同说话人的元素类中心计算所述任意两个不同说话人的输出向量之间的欧式距离;以及,根据不同说话人的输出向量之间的欧式距离、相同说话人的类内协方差以及预先构建的损失函数计算对应的训练损失;更新模块,用于根据所述训练损失对所述神经网络模型的各个参数进行迭代更新,以得到声纹特征提取模型。

在上述设计的模型生成装置中,生成的特征提取模型通过不同类型的声学特征之间的欧式距离、每种类型声学特征的类内协方差以及预先构建的损失函数计算对应的训练损失进而进行训练得到,使得生成的特征提取模型提取的声学特征向量同一类型的声学特征距离更近,不同类型的声学特征之间距离更远,使用该余弦构建的损失函数时输入的样本不用精心构建,同时预设的神经网络模型的输出层是固定的,因此,解决了现有的分类损失函数在训练时,输出节点会随着训练集中说话人数量的增加而增加,存在的输出层笨重的问题;确认损失函数在训练时需要精心构造样本对,存在着样本对构造复杂的问题。

在第三方面的可选实施方式中,获取模块,用于获取语音训练信息;滤除模块,用于滤除所述语音训练信息中的静音信息和噪声信息,获得多个语音训练片段,并对不同说话人的语音训练片段进行标注;提取模块,用于通过梅尔频率倒谱系数提取每个语音训练片段中的声学特征信息,获得所述多个训练样本。

第四方面,实施例提供一种声纹识别装置,所述装置包括:获取模块,用于获取待判断用户的实时语音信息;提取模块,用于提取所述实时语音信息的声学特征;输入模块,用于将所述实时语音信息的声学特征输入声纹特征提取模型,以提取所述实时语音信息的声纹特征向量,所述声纹特征提取模型采用第一方面中任一可选实施方式获得的声纹特征提取模型;判断模块,用于根据预存用户的语音样本信息的声纹特征向量以及所述实时语音信息的声纹特征向量判断所述待判断用户是否为预存用户。

在上述设计的声纹识别装置中,通过第一方面训练完成的声纹特征提取模型,进而来对实时语音和预存语音的说话人进行判断,使得对语音对应的人员身份进行识别,达到语音声纹识别的效果,并且第一方面的声纹特征提取模型使得提取出的声纹特征向量更加精确,使得后续的声纹识别更加准确。

在第四方面的可选实施方式中,所述判断模块,具体用于将所述预存用户的语音样本信息中的声纹特征向量以及所述实时语音信息中的声纹特征向量输入声纹相似度判断模型,以判断所述待判断用户是否为预存用户;所述声纹相似度判断模型的建立方法,包括:获取声学特征训练样本组,所述声学特征训练样本组包括多个训练样本,所述多个训练样本中至少部分训练样本具有不同说话人的声学特征;将声学特征训练样本组中多个训练样本输入所述声纹特征提取模型,以提取所述声学特征训练样本组中每个训练样本的声纹特征向量;根据所述声学特征训练样本组中每个训练样本对应的声纹特征向量对声纹相似度判断模型进行训练,获得训练完成的所述声纹相似度判断模型。

在第四方面的可选实施方式中,所述获取模块,还用于获取语音样本信息;所述提取模块,还用于提取所述语音样本信息的声学特征;所述输入模块,还用于将所述语音样本信息中的声学特征输入所述声纹特征提取模型,以提取所述语音样本信息的声纹特征向量;存储模块,用于将所述语音样本信息中的声纹特征向量存储在数据库中。

第五方面,实施例提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时执行第一方面、第一方面的任一可选的实现方式、第二方面、第二方面的任一可选的实现方式中的所述方法。

第六方面,实施例提供一种非暂态可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时执行第一方面、第一方面的任一可选的实现方式、第二方面、第二方面的任一可选的实现方式中的所述方法。

第七方面,实施例提供了一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面、第一方面的任一可选的实现方式、第二方面、第二方面的任一可选的实现方式中的所述方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请第一实施例提供的模型生成方法第一流程图;

图2为本申请第一实施例提供的模型生成方法第二流程图;

图3为本申请第二实施例提供的声纹识别方法第一流程图;

图4为本申请第二实施例提供的声纹识别方法第二流程图;

图5为本申请第三实施例提供的模型生成装置结构示意图;

图6为本申请第四实施例提供的声纹识别装置结构示意图;

图7为本申请第五实施例提供的电子设备结构示意图。

图标:300-输入模块;302-计算模块;304-更新模块;306-获取模块;308-滤除模块;310-提取模块;400-获取模块;402-提取模块;404-输入模块;406-判断模块;408-存储模块;5-电子设备;501-处理器;502-存储器;503-通信总线。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

第一实施例

如图1所示,本申请实施例提供一种模型生成方法,该方法具体包括如下步骤:

步骤s100:将多个训练样本输入预设的神经网络模型,以计算每一训练样本经过预设的神经网络模型的输出向量。

步骤s102:根据相同说话人的输出向量计算相同说话人的类内协方差。

步骤s104:根据相同说话人的输出向量计算相同说话人的元素类中心以及根据任意两个不同说话人的元素类中心计算该任意两个不同说话人的输出向量之间的欧式距离。

步骤s106:根据不同说话人的输出向量之间的欧式距离、相同说话人的类内协方差以及预先构建的损失函数计算对应的训练损失。

步骤s108:根据训练损失对神经网络模型的各个参数进行迭代更新,以得到声纹特征提取模型。

在步骤s100中,多个训练样本中部分训练样本为相同说话人的声学特征,部分训练样本为不同说话人的声学特征;多个训练样本可提前录入或获取,训练样本中包含了多个说话人的声学特征,在录入时可将不同说话人的声学特征和相同说话人的声学特征进行标注。然后将该多个训练样本输入预设的神经网络模型中,进而计算每一训练样本经过该预设的神经网络模型的输出向量。该预设的神经网络模型可采用tdnn神经网络结构,如表1所示。表1中segment6层的输出为提取的声纹特征向量,其他具体配置与现有的tdnn神经网络结构一致。

表1.用于提取深度嵌入声纹特征的tdnn网络结构.

在步骤s102中根据相同说话人的输出向量计算相同说话人的类内协方差,进而执行步骤s104根据相同说话人的输出向量计算相同说话人的元素类中心;根据任意两个不同说话人的元素类中心计算任意两个不同说话人的输出向量之间的欧式距离。在通过步骤s104计算任意两个不同说话人的输出向量之间的欧式距离之后,执行步骤s106根据不同说话人的输出向量之间的欧式距离、相同说话人的类内协方差以及预先构建的损失函数计算对应的训练损失。其中,该预先构建的损失函数为

其中,所述r和λ为预设的可调超参数;m′i表示第i个说话人的输出向量的类中心;m′j表示第j个说话人的输出向量的类中心;所述z为神经网络的输出向量;θ为神经网络的待训练参数;k为类别总数;∑i表示第i个说话人的类内协方差;表示正则项。

该预先构建的损失函数使得预设的神经网络模型的输出向量空间中,同一说话的输出向量距离更近,不同说话人的输出向量之间距离更远,进而得到计算的训练损失,执行步骤s108根据训练损失对神经网络模型的各个参数进行更新迭代,以得到特征提取模型,具体地,可以根据反向传播算法、训练损失值以及参数更新函数来对各个参数进行更新迭代,在更新迭代的参数满足预设要求或者迭代次数达到预设值时,结束训练过程,获得训练完成的声纹特征提取模型。

在上述设计的模型生成方法中,训练得到的声纹特征提取模型通过不同说话人的输出向量之间的欧式距离、相同说话人的类内协方差以及预先构建的损失函数计算对应的训练损失进而进行训练得到,使得训练得到的声纹特征提取模型提取的同一说话人的声纹特征向量之间的距离更近,不同说话人的声纹特征向量之间的距离更远,同时预设的神经网络模型的输出层是固定的,因此,解决了现有的分类损失函数在训练时,输出节点会随着训练集中说话人数量的增加而增加,存在的输出层笨重的问题;确认损失函数在训练时需要精心构造样本对,存在着样本对构造复杂的问题。

该预先构建的损失函数的推导过程具体如下:

假设神经网络的输出层为包含d个节点的线性单元,并将其定义为z∈rd×1,且将第k类样本所构成的集合记为ck。假设ck中的元素服从均值为mk,方差为σk的高斯分布,即:

在训练阶段当输出层采用上式所示的多元高斯模型进行建模时,对于一个包含k类样本的分类问题,类别k可按如下公式计算:

其中p(ck|z),p(z|ck)和p(ck)分别为ck的后验概率、似然概率及先验概率。进一步假设所有ck的先验概率p(ck)相等,且具有相同的协方差,即σ1=σ2=…=σk=σ,结合上述两式可得:

因此,在高斯假设下可通过计算z与mk的马氏距离来进行分类。

通过上述分析,为了提高分类精度,使得在输出层同类样本的马氏距离尽可能地小,不同类样本的马氏距离尽可能地大。具体而言,优化目标是类中心mk(k=1,2,l,k,假设总共有k个类)之间的马氏距离尽可能的远,且协方差σ尽可能地接近单位方差。

定义神经网络输出层特征的类内散度矩阵和类间散度矩阵分别为:

其中,其中zn∈ck表示第k类样本集ck合中的元素,为ck中元素的类中心,nk为第k类样本的数量,n为样本总量。

假设神经网络的待训练参数为θ,则神经网络训练公式一为:

其中,所述z为神经网络的输出向量。

为了求解上述,根据矩阵的迹等于所有特征值的和可得:

(∑w)-1∑bv=λv;

tr{(∑w)-1∑b}=∑λk;

其中,λk为上述(∑w)-1∑bv=λv中的特征值,(∑w)-1∑bv=λv等价于:

∑bv=λ∑wv;

由于∑w对称正定,对其进行cholesky分解可得∑w=ata,同时可以证明前述定义的类间协方差矩阵,前述的类间协方差矩阵的公式可等价于:

将上述公式带入∑bv=λ∑wv可得:

将(at)-1=(a-1)t=a-t;可得所述公式一为:

其中,所述pi和pj分别表示第i类训练样本和第j类训练样本的先验概率;mi表示第i类训练样本的类中心;mj表示第j类样本的类中心。

所述神经网络训练公式二为:

当mi′和m′j的欧氏距离大于4r时,第i类样本和第j类样本已经完全分开,此时无需对这两类样本进行优化,只需要优化那些尚未分开的类别。因此用[max(0,4r-||m′i-m′j||2)]2对上式的欧氏距离进行约束。r取决于样本的类内协方差,假设所有样本的类内协方差均相等,显然实际中这种条件很难得到满足,因此在优化目标中加入正则项来使得该条件尽可能地满足。

结合上述两点及上式,且令pi=pj,最终得到损失函数为:

在本实施例的可选实施方式中,在步骤s100将多个训练样本输入预设的神经网络模型之前,如图2所示,该方法还包括:

步骤s90:获取语音训练信息,滤除所述语音训练信息中的静音信息和噪声信息,获得多个语音训练片段,并对不同说话人的语音训练片段进行标注;

步骤s92:通过梅尔频率倒谱系数提取每个语音训练片段中的声学特征信息,获得该多个训练样本。

在步骤s90中,获取的语音训练信息可为多个说话人的语音音频信息;滤除语音训练信息中的静音信息和噪声信息可通过语音端点检测滤除每段音频的静音段和噪声段,以此来保留含有说话人语音的音频片段作为语音训练片段,并对保留的每个语音训练片段进行标注,可以标注其是否属于同一说话人。

在步骤s90获得多个标注后的语音训练片段之后,可将每个语音训练片段切割成2-4秒长度不等的小片段,按帧提取每个小片段语音的声学特征,可通过执行步骤s92通过通过梅尔频率倒谱系数(melfrequencycepstralcoefficents,mfcc)提取每个语音训练片段中的声学特征信息。具体地,可采用30维的mfcc特征,其中帧长为25毫秒、帧移为10毫秒,并对mfcc采用滑动的方式去除均值,且滑动窗长为3秒,进而获得多个训练样本。

本发明对上述实施例在voxceleb和sitw数据集上进行了实验验证。采用voxceleb数据集作为训练集(随机选取1/4的数据进行训练网络),采用sitw作为测试集,该测试集包括两个任务,即dev.core和eval.core,本实施例只汇报在eval.core上的实验结果。

本实施例采用的评价指标分别为等错误率(eer)。在不同参数配置下,本实施例的eer实验结果如表2所示。

表2不同超参数下,在dev.core任务上的部分实验结果

上述实验结果证明了,即该实施例证明了本申请方案的可行性。

第二实施例

如图3所示,本申请提供一种声纹识别方法,该方法具体包括如下步骤:

步骤s200:获取待判断用户的实时语音信息,提取实时语音信息的声学特征。

步骤s202:将实时语音信息的声学特征输入声纹特征提取模型,以提取实时语音信息的声纹特征向量,该声纹特征提取模型采用第一实施例中任一可选实施方式获得的声纹特征提取模型。

步骤s204:根据预存用户的语音样本信息的声纹特征向量以及实时语音信息的声纹特征向量判断待判断用户是否为预存用户。

在步骤s200中,获取待判断用户的实时语音信息可理解为待判断用户实时录入语音信息或者实时说一句话,然后提取该实时语音信息中的声学特征,其中,该提取的方式可与第一实施例中步骤s90~步骤s92的方式一致,在这里不再赘述,提取出该实时语音中的声学特征之后执行步骤s202。

在步骤s202中,将该提取的实时语音中的声学特征输入第一实施例训练完成的声纹特征提取模型中,以通过该训练完成的声纹特征提取模型提取实时语音信息的声纹特征向量,进而执行步骤s204。

在步骤s204中,根据预存用户的语音样本信息的声纹特征向量与步骤s202得到的实时语音信息中的声纹特征向量进而判断该待判断用户是否为预存用户,其中,该预存用户的语音样本信息的声纹特征向量可在训练完成得到第一实施例中的声纹特征提取模型之后,输入预存用户的语音样本信息的声学特征,进而通过该声纹特征提取模型提取得到,并将该提取得到的预存用户的语音样本信息的声纹特征向量存储在数据库中,为后续的声纹识别作数据准备,便于后续进行声纹识别时进行调用。

在上述设计的声纹识别方法中,通过第一实施例训练完成的声纹特征提取模型,进而来对实时语音和预存语音的说话人进行判断,使得对语音对应的人员身份进行识别,达到语音声纹识别的效果,并且第一实施例的声纹特征提取模型使得提取出的声纹特征向量更加精确,使得后续的声纹识别更加准确。

在本实施例的可选实施方式中,步骤s204根据预存用户的语音样本信息的声纹特征向量以及实时语音信息的声纹特征向量判断待判断用户是否为预存用户,具体有以下方式:

第一,根据预存用户的语音样本信息的声纹特征向量以及实时语音信息的声纹特征向量计算其相似度,进而根据相似度是否超过预设的相似度值来进行判断待判断用户是否为预存用户。

第二,可将该预存用户的语音样本信息声纹特征向量以及所述实时语音信息声纹特征向量输入语音相似度判断模型,进而根据相似度模型输出的相似度得分来判断是否为同一人。其中,该语音相似度判断模型可包含两个部分,第一部分为用于向量降维的线性判别分析,第二部分为计算相似度的概率线性判别分析。如图4所示,该相似度模型的训练过程可为:

步骤s210:获取声学特征训练样本组,声学特征训练样本组包括多个训练样本,多个训练样本中至少部分训练样本具有不同说话人的声学特征。

步骤s212:将声学特征训练样本组中多个训练样本输入该声纹特征提取模型,以提取所述声学特征训练样本组中多个训练样本的声纹特征向量。

步骤s214:根据声学特征训练样本组中多个训练样本的声纹特征向量对声纹相似度判断模型进行训练,获得训练完成的声纹相似度判断模型。

上述步骤s210~214可理解为在通过第一实施例的方式训练得到声纹特征提取模型之后,基于训练完成的声纹特征提取模型输出的声纹特征向量进而对该声纹相似度判断模型进行训练,而声纹相似度判断模型的训练过程与现有的方式一致。

第三实施例

图5出示了本申请提供的模型生成装置的示意性结构框图,应理解,该装置与上述图1至图2中的方法实施例对应,能够执行第一实施例中的方法涉及的步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operatingsystem,os)中的软件功能模块。具体地,该装置包括:输入模块300,用于将多个训练样本输入预设的神经网络模型,以计算每一训练样本经过预设神经网络模型的输出向量,其中,多个训练样本中部分训练样本为相同说话人的声学特征,部分训练样本为不同说话人的声学特征;计算模块302,用于根据相同说话人的输出向量计算相同说话人的类内协方差;根据相同说话人的输出向量计算相同说话人的元素类中心;根据任意两个不同说话人的元素类中心计算任意两个不同说话人的输出向量之间的欧式距离;以及,根据不同说话人的输出向量之间的欧式距离、相同说话人的类内协方差以及预先构建的损失函数计算对应的训练损失;更新模块304,用于根据训练损失对神经网络模型的各个参数进行迭代更新,以得到声纹特征提取模型。

在上述设计的模型生成装置中,生成的特征提取模型通过不同类型的声学特征之间的欧式距离、每种类型声学特征的类内协方差以及预先构建的损失函数计算对应的训练损失进而进行训练得到,使得生成的特征提取模型提取的声学特征向量同一类型的声学特征距离更近,不同类型的声学特征之间距离更远,使用该余弦构建的损失函数时输入的样本不用精心构建,同时预设的神经网络模型的输出层是固定的,因此,解决了现有的分类损失函数在训练时,输出节点会随着训练集中说话人数量的增加而增加,存在的输出层笨重的问题;确认损失函数在训练时需要精心构造样本对,存在着样本对构造复杂的问题。

在本实施例的可选实施方式中,获取模块306,用于获取语音训练信息;滤除模块308,用于滤除语音训练信息中的静音信息和噪声信息,获得多个语音训练片段,并对不同说话人的语音训练片段进行标注;提取模块310,用于通过梅尔频率倒谱系数提取每个语音训练片段中的声学特征,获得多个训练样本。

第四实施例

图6出示了本申请提供的声纹识别装置的示意性结构框图,应理解,该装置与上述图3至图4中的方法实施例对应,能够执行第一实施例中的方法涉及的步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operatingsystem,os)中的软件功能模块。具体地,该装置包括:获取模块400,用于获取待判断用户的实时语音信息;提取模块402,用于提取实时语音信息的声学特征;输入模块404,用于将实时语音信息的声学特征输入声纹特征提取模型,以提取实时语音信息的声纹特征向量,声纹特征提取模型采用第一方面中任一可选实施方式获得的声纹特征提取模型;判断模块406,用于根据预存用户的语音样本信息的声纹特征向量以及实时语音信息的声纹特征向量判断待判断用户是否为预存用户。

在上述设计的声纹识别装置中,通过第一方面训练完成的声纹特征提取模型,进而来对实时语音和预存语音的说话人进行判断,使得对语音对应的人员身份进行识别,达到语音声纹识别的效果,并且第一方面的声纹特征提取模型使得提取出的声纹特征向量更加精确,使得后续的声纹识别更加准确。

在本实施例的可选实施方式中,判断模块406,具体用于将预存用户的语音样本信息中的声纹特征向量以及实时语音信息中的声纹特征向量输入声纹相似度判断模型,以判断待判断用户是否为预存用户;声纹相似度判断模型的建立方法,包括:获取声学特征训练样本组,声学特征训练样本组包括多个训练样本,多个训练样本中至少部分训练样本具有不同说话人的声学特征;将声学特征训练样本组中多个训练样本输入声纹特征提取模型,以提取声学特征训练样本组中每个训练样本的声纹特征向量;根据声学特征训练样本组中每个训练样本对应的声纹特征向量对声纹相似度判断模型进行训练,获得训练完成的声纹相似度判断模型。

在本实施例的可选实施方式中,获取模块400,还用于获取语音样本信息;提取模块402,还用于提取所述语音样本信息的声学特征;输入模块404,还用于将语音样本信息中的声学特征输入声纹特征提取模型,以提取语音样本信息的声纹特征向量;存储模块408,用于将语音样本信息中的声纹特征向量存储在数据库中。

第五实施例

如图7所示,本申请提供一种电子设备5,包括:处理器501和存储器502,处理器501和存储器502通过通信总线503和/或其他形式的连接机构(未标出)互连并相互通讯,存储器502存储有处理器501可执行的计算机程序,当计算设备运行时,处理器501执行该计算机程序,以执行时执行第一实施例、第一实施例的任一可选的实现方式、第二实施例、第二实施例的任一可选的实现方式中的方法,例如步骤s100至步骤s108:将多个训练样本输入预设的神经网络模型,以计算每一训练样本经过所述预设的神经网络模型的输出向量,其中,多个训练样本中部分训练样本为相同说话人的声学特征,部分训练样本为不同说话人的声学特征;根据相同说话人的输出向量计算相同说话人的类内协方差;根据相同说话人的输出向量计算相同说话人的元素类中心;根据任意两个不同说话人的元素类中心计算任意两个不同说话人的输出向量之间的欧式距离;根据不同说话人的输出向量之间的欧式距离、相同说话人的类内协方差以及预先构建的损失函数计算对应的训练损失;根据训练损失对所述神经网络模型的各个参数进行迭代更新,以得到声纹特征提取模型。

本申请提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行第一实施例、第一实施例的任一可选的实现方式、第二实施例、第二实施例的任一可选的实现方式中的方法。

其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammablereadonlymemory,简称eprom),可编程只读存储器(programmablered-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。

本申请提供一种计算机程序产品,该计算机程序产品在计算机上运行时,使得计算机执行第一实施例、第一实施例的任一可选的实现方式、第二实施例、第二实施例的任一可选的实现方式中的所述方法。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

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

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

技术特征:

1.一种模型生成方法,其特征在于,所述方法包括:

将多个训练样本输入预设的神经网络模型,以计算每一所述训练样本经过所述预设的神经网络模型的输出向量,其中,所述多个训练样本中部分训练样本为相同说话人的声学特征,部分训练样本为不同说话人的声学特征;

根据相同说话人的输出向量计算相同说话人的类内协方差;

根据相同说话人的输出向量计算相同说话人的元素类中心;

根据任意两个不同说话人的元素类中心计算所述任意两个不同说话人的输出向量之间的欧式距离;

根据不同说话人的输出向量之间的欧式距离、相同说话人的类内协方差以及预先构建的损失函数计算对应的训练损失;

根据所述训练损失对所述神经网络模型的各个参数进行迭代更新,以得到声纹特征提取模型。

2.根据权利要求1所述方法,其特征在于,所述预先构建的损失函数f(z|θ)为:

其中,所述r和λ为预设的可调超参数;m′i表示第i个说话人的输出向量的类中心;m′j表示第j个说话人的输出向量的类中心;所述z为神经网络的输出向量;θ为神经网络的待训练参数;k为类别总数;∑i表示第i个说话人的类内协方差;表示正则项。

3.根据权利要求1所述方法,其特征在于,在所述将多个训练样本输入预设的神经网络模型之前,所述方法还包括:

获取语音训练信息,滤除所述语音训练信息中的静音信息和噪声信息,获得多个语音训练片段,并对不同说话人的语音训练片段进行标注;

通过梅尔频率倒谱系数提取每个语音训练片段中的声学特征信息,获得所述多个训练样本。

4.一种声纹识别方法,其特征在于,所述方法包括:

获取待判断用户的实时语音信息,提取所述实时语音信息的声学特征;

将所述实时语音信息的声学特征输入声纹特征提取模型,以提取所述实时语音信息的声纹特征向量,所述声纹特征提取模型采用权利要求1-3中任一项所述的方法获得的声纹特征提取模型;

根据预存用户的语音样本信息的声纹特征向量以及所述实时语音信息的声纹特征向量判断所述待判断用户是否为预存用户。

5.根据权利要求4所述的方法,其特征在于,所述根据预存用户的语音样本信息中的声纹特征向量以及所述实时语音信息中的声纹特征向量判断所述待判断用户是否为预存用户,包括:

将所述预存用户的语音样本信息中的声纹特征向量以及所述实时语音信息中的声纹特征向量输入声纹相似度判断模型,以判断所述待判断用户是否为预存用户;

所述声纹相似度判断模型的建立方法,包括:

获取声学特征训练样本组,所述声学特征训练样本组包括多个训练样本,所述多个训练样本中至少部分训练样本具有不同说话人的声学特征;

将声学特征训练样本组中多个训练样本输入所述声纹特征提取模型,以提取所述声学特征训练样本组中每个训练样本的声纹特征向量;

根据所述声学特征训练样本组中每个训练样本对应的声纹特征向量对声纹相似度判断模型进行训练,获得训练完成的所述声纹相似度判断模型。

6.根据权利要求5所述的方法,其特征在于,在所述获取待判断用户的实时语音信息之前,所述方法还包括:

获取语音样本信息,提取所述语音样本信息的声学特征;

将所述语音样本信息的声学特征输入所述声纹特征提取模型,以提取所述语音样本信息的声纹特征向量;

将所述语音样本信息的声纹特征向量存储在数据库中。

7.根据权利要求4所述的方法,其特征在于,所述提取所述实时语音信息的声学特征,包括:

滤除所述实时语音信息中的静音信息和噪声信息,获得多个实时语音片段;

通过梅尔频率倒谱系数提取每个实时语音片段中的声学特征。

8.一种模型生成装置,其特征在于,所述装置包括:

输入模块,用于将多个训练样本输入预设的神经网络模型,以计算每一所述训练样本经过所述预设的神经网络模型的输出向量,其中,所述多个训练样本中部分训练样本为相同说话人的声学特征,部分训练样本为不同说话人的声学特征;

计算模块,用于根据相同说话人的输出向量计算相同说话人的类内协方差;根据相同说话人的输出向量计算相同说话人的元素类中心;根据任意两个不同说话人的元素类中心计算所述任意两个不同说话人的输出向量之间的欧式距离;以及,根据不同说话人的输出向量之间的欧式距离、相同说话人的类内协方差以及预先构建的损失函数计算对应的训练损失;

更新模块,用于根据所述训练损失对所述神经网络模型的各个参数进行迭代更新,以得到声纹特征提取模型。

9.一种声纹识别装置,其特征在于,所述装置包括:

获取模块,用于获取待判断用户的实时语音信息;

提取模块,用于提取所述实时语音信息的声学特征;

输入模块,用于将所述实时语音信息的声学特征输入声纹特征提取模型,以提取所述实时语音信息的声纹特征向量,所述声纹特征提取模型采用权利要求1-3中任一项所述的方法获得的声纹特征提取模型;

判断模块,用于根据预存用户的语音样本信息的声纹特征向量以及所述实时语音信息的声纹特征向量判断所述待判断用户是否为预存用户。

10.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法。

11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法。

技术总结

本申请提供一种模型生成方法、声纹识别方法及对应装置,该方法包括:将多个训练样本输入预设的神经网络模型,以计算每一训练样本经过所述预设神经网络模型的输出向量,其中,多个训练样本中部分训练样本为相同说话人的声学特征,部分训练样本为不同说话人的声学特征;根据相同说话人的输出向量计算相同说话人的类内协方差;根据任意两个不同说话人的输出向量计算任意两个不同说话人的输出向量之间的欧式距离;根据不同说话人的输出向量之间的欧式距离、相同说话人的类内协方差以及预先构建的损失函数计算对应的训练损失;根据训练损失对神经网络模型的各个参数进行迭代更新,以得到声纹特征提取模型。

技术研发人员:白仲鑫;张晓雷;陈景东

受保护的技术使用者:西北工业大学

技术研发日:.11.17

技术公布日:.02.25

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。