一种声纹识别方法、装置及存储介质与流程

文档序号:16047172发布日期:2018-11-24 10:58阅读:257来源:国知局

本发明主要涉及声纹识别技术处理领域,具体涉及一种声纹识别方法、装置及存储介质。

背景技术

声纹识别,又称为说话人识别,是一种生物识别的技术,是从一段语音中提取分析和提取出说话人的个性特征,自动确定说话人的过程。说话人识别包括说话人确认技术和说话人辨认技术,“说话人确认”是指判断一段话是否为某人所说,为“一对一”问题,“说话人辨认”是指在n个已知样本中选择一个与未知音频样本最像的一个音频,是“多选一”问题;而目前“说话人确认”技术中,一般使用传统方法i-vector-plda方法,将特征提取模块和打分模块等模块分别进行训练,然后组合在一起,这种方法的弊端在于分别训练得到局部最优模型,然而将两个局部最优模型组合在一起得到的却不是全局最优,从而导致识别率不佳。



技术实现要素:

本发明所要解决的技术问题是针对现有技术的不足,提供一种声纹识别方法、装置及存储介质。

本发明解决上述技术问题的技术方案如下:一种声纹识别方法,包括如下步骤:

根据多个人声语音样本基于特征提取网络进行模型训练,得到特征提取模型;

将测试语音输入所述特征提取模型中,得到测试语音特征向量;

将所述测试语音特征向量与预先建立的注册语音特征向量数据库进行匹配,根据匹配结果确定所述测试语音的注册人;

其中,所述预先建立的注册语音特征向量数据库为将注册人的多条注册语音输入所述特征提取模型中,得到多条注册语音特征向量的累加值,根据所述累加值得到所述多条注册语音的注册语音特征向量平均值。

本发明解决上述技术问题的另一技术方案如下:一种声纹识别装置,包括:

模型建立及训练模块,用于根据多个人声语音样本基于特征提取网络进行模型训练,得到特征提取模型;

特征提取模块,用于将测试语音输入所述特征提取模型中,得到测试语音特征向量;

处理模块,用于将所述测试语音特征向量与预先建立的注册语音特征向量数据库进行匹配,根据匹配结果确定所述测试语音的注册人;

其中,所述预先建立的注册语音特征向量数据库为将注册人的多条注册语音输入所述特征提取模型中,得到多条注册语音特征向量的累加值,根据所述累加值得到所述多条注册语音的注册语音特征向量平均值。

本发明解决上述技术问题的另一技术方案如下:一种声纹识别装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如所述方法的步骤。

本发明解决上述技术问题的另一技术方案如下:一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如所述方法的步骤。

本发明的有益效果是:通过语音样本对特征提取网络进行模型训练,得到能够提取语音特征的特征提取模型,特征提取模型作为一个全局模型,采用端到端的方法,克服了现有技术中只能优化局部最优模型、将两个局部最优模型组合在一起才能实现特征提取的缺陷,而利用特征提取模型处理注册语音和测试语音,快速获得两者的特征信息,利于快速、精确的识别出注册语音与测试语音是否为同一人声,从而提高了识别效率。

附图说明

图1为本发明一实施例提供的声纹识别方法的方法流程图;

图2为本发明另一实施例提供的声纹识别方法的方法流程图;

图3为本发明一实施例提供的声纹识别装置的模块框图;

图4为本发明一实施例提供的inception-v4特征提取网络的结构图。

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

图1为本发明一实施例提供的声纹识别方法的方法流程图;

如图1所示,一种声纹识别方法,包括如下步骤:

根据多个人声语音样本基于特征提取网络进行模型训练,得到特征提取模型;

将测试语音输入所述特征提取模型中,得到测试语音特征向量;

将所述测试语音特征向量与预先建立的注册语音特征向量数据库进行匹配,根据匹配结果确定所述测试语音的注册人;

其中,所述预先建立的注册语音特征向量数据库为将注册人的多条注册语音输入所述特征提取模型中,得到多条注册语音特征向量的累加值,根据所述累加值得到所述多条注册语音的注册语音特征向量平均值。

例如,多条注册语音的注册语音特征向量为s1、s2...sn,带入下式中得到注册语音特征向量平均值v,v=(s1+s2+...sn)/n,n为注册语音特征向量的个数。

具体的,多条注册语音可选择一个说话人的n(n可取5-10)条语音(每条语音5-20s),输入训练好的特征提取网络中,得到n个注册语音特征向量嵌入(embedding)。

具体的,上述实施例中,构建语音样本库包含的人声语音样本均为低于10s的短语音,优选的,以4-5s为主;语音样本库中的说话人数量应不少于1000人,每个人说的句子数量应均衡,男女比例应均衡。

图2为本发明另一实施例提供的声纹识别方法的方法流程图;

可选的,作为本发明的一个实施例,如图2中示出的训练阶段,所述根据多个人声语音样本基于特征提取网络进行模型训练,得到特征提取模型包括:

构建语音样本库,所述语音样本库包括多个人声语音样本;

将所述多个人声语音样本进行预处理;

将预处理得到的多个人声语音样本由一维语音信息转化为二维语音信息;

构建特征提取网络,将所述二维语音信息输入所述特征提取网络中,得到含有二维语音信息的特征提取网络;

利用三重损失函数对所述含有二维语音信息的特征提取网络进行特征训练,得到特征提取模型。

可选的,作为本发明的一个实施例,所述利用三重损失函数对所述含有二维语音信息的特征提取网络进行特征训练,包括:

构建三元组,从所述多个人声语音样本的二维语音信息中选择第一指定人的第一人声语音样本和第二人声语音样本的二维语音信息以及第二指定人的人声语音样本的二维语音信息,作为所述三元组的三个元素;

通过所述特征提取网络提取所述三个元素的语音特征向量,得到第一指定人的第一语音特征向量和第二语音特征向量以及第二指定人的语音特征向量

利用三重损失函数缩小所述第一语音特征向量和第二语音特征向量之间的距离disap,以及扩大所述第一语音特征向量和语音特征向量之间的距离disan,且满足距离disan>距离disap,从而完成特征训练。

具体的,所述特征提取网络可为inception-v4特征提取网络,使用三重损失函数对所述inception-v4特征提取网络进行训练,具体为:

假定语音样本库中第一指定人的语音为(anchor),选择第一指定人的另一句语音为(positive),选择第二指定人的一句语音为(negative),由构成了一个三元组,即针对三元组中的每个元素,通过所述inception-v4网络,得到三个元素的特征嵌入,分别记为:

三重损失函数的目的就是通过训练和学习,使得的之间的距离(记为disap)尽可能小,而之间的距离(记为disan)尽可能大,并且在disap与disan之间要保持一个最小间隔,如式(1)所示:

对应的目标函数如式(6)所示:

以上通过三重损失函数对inception-v4特征提取网络进行训练,当网络收敛后,得到训练后的inception-v4特征提取网络,每一次训练即对网络参数进行一次更新;每次训练之前需要在语音样本库中选择一定数量的三元组进行训练,具体的,本发明采用随机选择的方法,每次随机选取40个三元组送入网络进行训练,每个训练100万个三元组。

所述特征提取网络优选为inception-v4特征提取网络,由于传统的卷积神经网络存在以下问题:(1)由于信息位置的巨大差异,为卷积操作选择合适的卷积核大小就比较困难,信息分布更全局性的图像偏好较大的卷积核,信息分布比较局部的图像偏好较小的卷积核;(2)非常深的网络容易过拟合的问题,而且将梯度更新传输到整个网络是非常复杂的;(3)简单地堆叠较大的卷积层非常消耗计算资源。

因此inception-v4特征提取网络是为了解决这三个问题,在同一层级运行具备多个尺寸的滤波器,网络尺寸变得更宽而不是更深,因此能使得训练效率更高。

图4为本发明一实施例提供的inception-v4特征提取网络的结构图;

如图4所示,inception-v4特征提取网络包括input输入层、stem预处理层、4xinception-a卷积层、reduction-a池化层、7xinception-b卷积层、reduction-b池化层、3xinception-c卷积层、averagepooling平均池化层、dropout损失层和fc全连接层;

input输入层用于输入二维语音信息,stem预处理层主要是用于对进入inception-a模块前的二维语音信息进行预处理,4xinception-a卷积层应理解为4个inception-a卷积层依次并行结构,其用于多次卷积,来防止特征表征性瓶颈问题,网络越深识别效果越好;同理,7xinception-b也应理解为7个inception-b卷积层依次并行结构,3xinception-c卷积层也理解为3个inception-c卷积层依次并行结构;

而4xinception-a卷积层与7xinception-b卷积层之间以及7xinception-b卷积层与3xinception-c卷积层之间,分别引入reduction池化层起到池化作用,同样使用并行结构防止特征表征性瓶颈问题;

而averagepooling平均池化层用于对二维语音信息进行平均池化;dropout损失模块是随机丢弃层,防止过拟合;最后,由fc全连接层输出最终的二维语音信息的特征向量。

可选的,作为本发明的一个实施例,如图2中示出的测试阶段,所述将多个人声语音样本进行预处理,具体包括:

将所述多个人声语音样本分别裁剪成小于预设时长的短语音;

根据vad语音活动检测方法去除多个所述短语音中的静音段。

上述实施例中,能够使进入特征提取网络的数据更精确,提取出的特征向量也更精确。

需说明的是,测试语音在输入所述特征提取模型前也需要进行预处理,预处理的方式如上述实施例所述,不再赘述。

可选的,作为本发明的一个实施例,所述将预处理得到的多个人声语音样本由一维语音信息转化为二维语音信息,具体包括:

将预处理得到的短语音分别根据预设分帧参数进行分帧处理,得到各个短语音对应的多个语句,若所述短语音中的帧数小于所述预设分帧参数,则进行补零处理直至所述短语音中的帧数等于所述预设分帧参数;

根据预设二维参数和fbank特征提取算法对所述多个语句进行转化,得到二维语音信息。

具体为,预设分帧参数为200帧,选择人声语音样本的前200帧,根据fbank特征提取算法进行64维特征提取,从而得到200x64的二维语音信息。若人声语音样本不足200帧,则补零处理。

上述实施例中,从一维语音信息转化为二维语音信息使数据更适应于特征提取网络,利于快速的提取特征向量,并且将数据处理为短语音的形式,能够解决传统i-vector-plda方法不能处理非常短的语音的问题,本发明让短语音场景下的说话人确认性能得到提升。

需说明的是,测试语音在输入所述特征提取模型前还需要将测试语音由一维语音信息转化为二维语音信息,转化方式如上述实施例所述,不再赘述;将二维语音信息输入所述特征提取模型中,得到测试语音特征向量。

可选的,作为本发明的一个实施例,所述根据匹配结果确定所述测试语音的注册人包括:

计算所述测试语音特征向量与所述注册语音特征向量平均值的欧氏距离值,如果计算得到的欧氏距离值小于或等于预设值,则得到所述测试语音属于注册人的结果。

具体的,计算欧氏距离是公式为其中分别为测试语音特征向量和注册语音特征向量平均值。

上述实施例中,将测试语音特征向量与注册语音特征向量平均值进行欧氏距离值的计算,再将计算得到的欧氏距离值与预设值比较,能够更准确的判断出是否为同一人声。

图3为本发明一实施例提供的声纹识别装置的模块框图;

可选的,作为本发明的另一个实施例,如图3所示,一种声纹识别装置,包括:

样本库构建模块,用于构建语音样本库,所述语音样本库包括多个人声语音样本;

模型建立及训练模块,用于根据多个人声语音样本基于特征提取网络进行模型训练,得到特征提取模型;

特征提取模块,用于将测试语音输入所述特征提取模型中,得到测试语音特征向量;

处理模块,用于将所述测试语音特征向量与预先建立的注册语音特征向量数据库进行匹配,根据匹配结果确定所述测试语音的注册人;

其中,所述预先建立的注册语音特征向量数据库为将注册人的多条注册语音输入所述特征提取模型中,得到多条注册语音特征向量的累加值,根据所述累加值得到所述多条注册语音的注册语音特征向量平均值。

可选的,作为本发明的一个实施例,所述模型建立及训练模块包括:

语音样本库构建单元,用于构建语音样本库,所述语音样本库包括多个人声语音样本;

预处理单元,用于将所述多个人声语音样本进行预处理;

转化单元,用于将预处理得到的多个人声语音样本由一维语音信息转化为二维语音信息;

网络构建单元,用于构建特征提取网络,将所述二维语音信息输入所述特征提取网络中,得到含有二维语音信息的特征提取网络;

训练单元,用于利用三重损失函数对所述含有二维语音信息的特征提取网络进行特征训练,得到特征提取模型。

可选的,作为本发明的一个实施例,所述训练单元具体用于:

构建三元组,从所述多个人声语音样本的二维语音信息中选择第一指定人的第一人声语音样本和第二人声语音样本的二维语音信息以及第二指定人的人声语音样本的二维语音信息,作为所述三元组的三个元素;

通过所述特征提取网络提取所述三个元素的语音特征向量,得到第一指定人的第一语音特征向量和第二语音特征向量以及第二指定人的语音特征向量

利用三重损失函数缩小所述第一语音特征向量和第二语音特征向量之间的距离disap,以及扩大所述第一语音特征向量和语音特征向量之间的距离disan,且满足距离disan>距离disap,从而完成特征训练。

可选的,作为本发明的一个实施例,所述预处理单元具体用于:

将所述多个人声语音样本分别裁剪成小于预设时长的短语音;

根据vad语音活动检测方法去除多个所述短语音中的静音段。

可选的,作为本发明的一个实施例,所述转化单元具体用于:

将预处理得到的短语音分别根据预设分帧参数进行分帧处理,得到各个短语音对应的多个语句,若所述短语音中的帧数小于所述预设分帧参数,则进行补零处理直至所述短语音中的帧数等于所述预设分帧参数;

根据预设二维参数和fbank特征提取算法对所述多个语句进行转化,得到二维语音信息。

可选的,作为本发明的一个实施例,所述处理模块具体用于:

计算所述测试语音特征向量与所述注册语音特征向量平均值的欧氏距离值,如果计算得到的欧氏距离值小于或等于预设值,则得到所述测试语音属于注册人的结果。

可选的,作为本发明的另一个实施例,一种声纹识别装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如所述方法的步骤。

可选的,作为本发明的另一个实施例,一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如所述方法的步骤。

本发明通过语音样本对特征提取网络进行模型训练,得到能够提取语音特征的特征提取模型,特征提取模型作为一个全局模型,采用端到端的方法,克服了现有技术中只能优化局部最优模型、将两个局部最优模型组合在一起才能实现特征提取的缺陷,而利用特征提取模型处理注册语音和测试语音,快速获得两者的特征信息,利于快速、精确的识别出注册语音与测试语音是否为同一人声,从而提高了识别效率;

从一维语音信息转化为二维语音信息使数据更适应于特征提取网络,利于快速的提取特征向量,并且将数据处理为短语音的形式,能够解决传统i-vector-plda方法不能处理非常短的语音的问题,本发明让短语音场景下的说话人确认性能得到提升。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

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

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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