星空体育·(StarSky Sports)官方网站-星空官方认证

一种基于ArcFace的语音识别方法及装置与流程-星空体育官方网站

新闻资讯
质量为本、客户为根、勇于拼搏、务实创新

一种基于ArcFace的语音识别方法及装置与流程

日期:2025-06-21 浏览: 

  :随着数字音频数据的爆炸式增长,通过语音识别技术,从而识别出说话人也逐渐受到越来越多的关注。目前在说话人识别中应用最为广泛的i-vector系统,其基于的gmm-ubm(混合高斯模型-背景模型模型)和gsv-svm(高斯均值超向量-支持向量机模型)都是建立在统计模型理论上的,因此要求训练和测试语音必须达到一定的长度,否则识别准确性将大幅度下降。另一方面,虽然arcface在人脸识别领域得到了广泛的应用,但是,目前尚没有将arcface应用在语音识别领域的方法。因此,如何避免上述缺陷,基于arcface准确地对各种类型的语音(包括长语音和短语音)进行识别,成为亟须解决的问题。技术实现要素:针对现有技术存在的问题,本发明实施例提供一种基于arcface的语音识别方法及装置。第一方面,本发明实施例提供一种基于arcface的语音识别方法,所述方法包括:获取待识别语音,并提取所述待识别语音的低层帧级特征;根据所述低层帧级特征,提取身份特征向量;从预设语音库中获取与所述身份特征向量相似的目标身份特征向量,所述预设语音库预先存储有预设身份特征向量与预设身份信息之间的对应关系;其中,所述对应关系是根据预先训练过的预设模型得到的;所述预设模型是通过基于arcface的算法表达式获取的预设损失函数进行训练的;根据所述对应关系,确定与所述目标身份特征向量对应的目标身份信息,并将所述目标身份信息作为所述待识别语音的识别结果。第二方面,本发明实施例提供一种基于arcface的语音识别装置,所述装置包括:第一获取单元,用于获取待识别语音,并提取所述待识别语音的低层帧级特征;提取单元,用于根据所述低层帧级特征,提取身份特征向量;第二获取单元,用于从预设语音库中获取与所述身份特征向量相似的目标身份特征向量,所述预设语音库预先存储有预设身份特征向量与预设身份信息之间的对应关系;其中,所述对应关系是根据预先训练过的预设模型得到的;所述预设模型是通过基于arcface的算法表达式获取的预设损失函数进行训练的;识别单元,用于根据所述对应关系,确定与所述目标身份特征向量对应的目标身份信息,并将所述目标身份信息作为所述待识别语音的识别结果。第三方面,本发明实施例提供一种电子设备,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指星空体育官方入口 星空体育官网令能够执行如下方法:获取待识别语音,并提取所述待识别语音的低层帧级特征;根据所述低层帧级特征,提取身份特征向量;从预设语音库中获取与所述身份特征向量相似的目标身份特征向量,所述预设语音库预先存储有预设身份特征向量与预设身份信息之间的对应关系;其中,所述对应关系是根据预先训练过的预设模型得到的;所述预设模型是通过基于arcface的算法表达式获取的预设损失函数进行训练的;根据所述对应关系,确定与所述目标身份特征向量对应的目标身份信息,并将所述目标身份信息作为所述待识别语音的识别结果。第四方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如下方法:获取待识别语音,并提取所述待识别语音的低层帧级特征;根据所述低层帧级特征,提取身份特征向量;从预设语音库中获取与所述身份特征向量相似的目标身份特征向量,所述预设语音库预先存储有预设身份特征向量与预设身份信息之间的对应关系;其中,所述对应关系是根据预先训练过的预设模型得到的;所述预设模型是通过基于arcface的算法表达式获取的预设损失函数进行训练的;根据所述对应关系,确定与所述目标身份特征向量对应的目标身份信息,并将所述目标身份信息作为所述待识别语音的识别结果。本发明实施例提供的基于arcface的语音识别方法及装置,从预设语音库中获取与待识别语音对应的身份特征向量相似的目标身份特征向量,并根据预先基于arcface的算法表达式获取的预设损失函数进行训练的预设模型得出对应关系,进而获取目标身份信息,再将目标身份信息作为待识别语音的识别结果,能够准确地对各种类型的语音进行识别。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例基于arcface的语音识别方法流程示意图;图2为本发明实施例基于arcface的语音识别装置结构示意图;图3为本发明实施例提供的电子设备实体结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明实施例基于arcface的语音识别方法流程示意图,如图1所示,本发明实施例提供的一种基于arcface的语音识别方法,包括以下步骤:s101:获取待识别语音,并提取所述待识别语音的低层帧级特征。具体的,装置获取待识别语音,并提取所述待识别语音的低层帧级特征。装置可以是执行本方法的服务器等,可以通过动圈式麦克风、电容式麦克风和微机电麦克风等设备采集同一说话人不同信道的语音,模拟实际语音环境。可以根据25ms的帧长和10ms的帧移,提取待识别语音的帧级特征,并采用vad(语音活动检测)对上述帧级特征进行静音操作,获得低层帧级特征。低层帧级特征可以为fbank特征,不作具体限定。s102:根据所述低层帧级特征,提取身份特征向量。具体的,装置根据所述低层帧级特征,提取身份特征向量。身份特征向量可以理解为标识说话人的特征向量,可以输入所述低层帧级特征至优化过的gru模型,将所述优化过的gru模型的输出结果作为所述身份特征向量。gru(gatedrecurrentunit)是lstm变体,作为学习时序特征的模型,它在保持lstm能很好地处理远距离依赖优点的同时,结构更加简单,计算更加高效。可以在gru层前引入一个卷积层,以优化gru模型,对光谱相关性建模的同时,降低特征在时域和频域的维度,加速模型计算。s103:从预设语音库中获取与所述身份特征向量相似的目标身份特征向量,所述预设语音库预先存储有预设身份特征向量与预设身份信息之间的对应关系;其中,所述对应关系是根据预先训练过的预设模型得到的;所述预设模型是通过基于arcface的算法表达式获取的预设损失函数进行训练的。具体的,装置从预设语音库中获取与所述身份特征向量相似的目标身份特征向量,所述预设语音库预先存储有预设身份特征向量与预设身份信息之间的对应关系;其中,所述对应关系是根据预先训练过的预设模型得到的;所述预设模型是通过基于arcface的算法表达式获取的预设损失函数进行训练的。可以采用最近邻分类器,计算身份特征向量与预设语音库中的预设身份特征向量之间的欧氏距离,将欧氏距离最小的预设身份特征向量确定为目标身份特征向量。预设身份信息可以理解为预设身份特征向量对应的说话人,即通过识别预设身份特征向量,预设模型识别出该预设身份特征向量对应哪一个说话人。本发明实施例不对预设模型作具体限定。基于arcface的算法表达式l3可以根据如下步骤获得:对于输入的样本向量xi和其对应的标签yi(即对应哪个说线的定义如下:其中,n为分批训练的样本子集(即分批输入装置的训练的样本总数的一部分),c为样本类别总数(即说话人的总数)、为表示样本向量xi所归属类的后验概率、fj表示样本向量xi所归属所有类的后验概率,可以表示如下:其中,和是全连接层的权重向量和偏置,是二者之间的夹角。简化表达式,将设为0,通过l2归一化将设为1,则仅由样本向量xi和夹角决定:对特征进行l2正则化可去除特征在超球面空间上的径向变异。将xi设为常数s,损失函数l2表示为:由于软边界损失函数关注于正确分类,对分类错误情况缺少考虑。为解决这个问题,添加角边缘损失因子m,即在内引入m来在分类边界上增加边界约束,从而得到arcface的算法表达式l3:其中,属于范围[0,π-m]。语音识别的目标是判断未知语音属于哪个说话人,假设语音所归属类的后验概率大于预设阈值t,而其所在其他类的后验概率fj均小于t。可表示如下:在分类过程中,小于等于t,或者fj大于等于t,均为错分类情况,将损失定义为二者的差值。对于前者情况,设损失为l+,表示为:同理,后者损失为l-,表示为:为整体表示错分类损失函数,将l+和l-融合起来,引入最大边界项惩罚函数δy:对于所有样本,最大边缘约束损失因子为:总体来看,基于arcface得到预设损失函数l,即最大边缘余弦距离损失函数(maximummarginalcosinedistancelossfunction,以下简称“mmcl”),定义如下:其中,l是l3和cmax_mar的加权和,表示如下:l=l3+λcmax_marλ为权重系数,数值可选为0.1~10。需要说明的是:由于本发明实施例引入的最大边缘约束损失因子cmax_mar中包含有最大边界项惩罚函数δy,对于预测结果正确的情况(对应δy的表达式中的情况),使得δy=1;对于预测结果错误的情况(对应δy的表达式中的情况),使得δy=-1;即使得预设损失函数对预测结果的分辨能力更强,从而使得识别结果更加准确。s104:根据所述对应关系,确定与所述目标身份特征向量对应的目标身份信息,并将所述目标身份信息作为所述待识别语音的识别结果。具体的,装置根据所述对应关系,确定与所述目标身份特征向量对应的目标身份信息,并将所述目标身份信息作为所述待识别语音的识别结果。举例说明如下:预设身份特征向量a与预设身份信息a之间存在对应关系,与待识别语音对应的身份特征向量为x,经过向量相似性比较方法,得出预设身份特征向量a是与身份特征向量为x相似的目标身份特征向量,从而确定预设身份信息a为目标身份信息,将该目标身份信息作为待识别语音的识别结果。在2s,3s,5s,8s四种语音长度条件下,本发明实施例mmcl分别与softmax和arcface的eer指标的对比结果如表1所示:表1短语音说话人识别方法在不同时长下的识别性能2s3s5s8ssoftmax0.06430.04370.03630.0301arcface0.06020.04100.03070.0254mmcl0.05380.03850.02720.0215由此可见,本发明实施例mmcl具有较小的eer误差,即能够对语音进行较准确地识别。本发明实施例提供的基于arcface的语音识别方法,从预设语音库中获取与待识别语音对应的身份特征向量相似的目标身份特征向量,并根据预先基于arcface的算法表达式获取的预设损失函数进行训练的预设模型得出对应关系,进而获取目标身份信息,再将目标身份信息作为待识别语音的识别结果,能够准确地对各种类型的语音进行识别。在上述实施例的基础上,所述预设损失函数包括最大边缘约束损失因子,所述最大边缘约束损失因子的表达式为:其中,cmax_mar为所述最大边缘约束损失因子、n为分批训练的样本子集、y为样本类别、c为样本类别总数、t为预设阈值、为大于所述预设阈值的表示样本向量所归属类的后验概率、δy为最大边界项惩罚函数。具体的,装置中的所述最大边缘约束损失因子的表达式为:其中,cmax_mar为所述最大边缘约束损失因子、n为分批训练的样本子集、y为样本类别、c为样本类别总数、t为预设阈值、为大于所述预设阈值的表示样本向量所归属类的后验概率、δy为最大边界项惩罚函数。可参照上述实施例,不再赘述。本发明实施例提供的基于arcface的语音识别方法,通过采用包括有最大边缘约束损失因子的预设损失函数对预设函数进行训练,进一步能够准确地对各种类型的语音进行识别。在上述实施例的基础上,所述δy的表达式为:其中,当j≠y星空体育官方入口 星空体育官网i时,fj表示小于所述预设阈值的表示所述样本向量所归属其他类的后验概率。具体的,装置中的所述δy的表达式为:其中,当j≠yi时,fj表示小于所述预设阈值的表示所述样本向量所归属其他类的后验概率。可参照上述实施例,不再赘述。本发明实施例提供的基于arcface的语音识别方法,通过具体的表达式计算最大边界项惩罚函数,进一步能够准确地对各种类型的语音进行识别。在上述实施例的基础上,所述预设损失函数的表达式为:l=l3+λcmax_mar其中,l为所述预设损失函数、l3为基于arcface的算法表达式、λ为权重系数,数值为0.1~10。具体的,装置中的所述预设损失函数的表达式为:l=l3+λcmax_mar其中,l为所述预设损失函数、l3为基于arcface的算法表达式、λ为权重系数,数值为0.1~10。可参照上述实施例,不再赘述。本发明实施例提供的基于arcface的语音识别方法,通过具体的表达式计算预设损失函数,进一步能够准确地对各种类型的语音进行识别。在上述实施例的基础上,所述根据所述低层帧级特征,提取身份特征向量,包括:输入所述低层帧级特征至优化过的gru模型,将所述优化过的gru模型的输出结果作为所述身份特征向量。具体的,装置输入所述低层帧级特征至优化过的gru模型,将所述优化过的gru模型的输出结果作为所述身份特征向量。可参照上述实施例,不再赘述。本发明实施例提供的基于arcface的语音识别方法,通过将优化过的gru模型的输出结果作为身份特征向量,能够保证该方法正常进行。在上述实施例的基础上,所述优化过的gru模型为设有卷积层的gru模型。具体的,装置中的所述优化过的gru模型为设有卷积层的gru模型。可参照上述实施例,不再赘述。本发明实施例提供的基于arcface的语音识别方法,通过将优化过的gru模型选为设有卷积层的gru模型,能够提高gru模型的运算效率,更快速地对各种类型的语音进行识别。在上述实施例的基础上,所述低层帧级特征为fbank特征。具体的,装置中的所述低层帧级特征为fbank特征。可参照上述实施例,不再赘述。本发明实施例提供的基于arcface的语音识别方法,通过将低层帧级特征选为fbank特征,能够保证该方法正常进行。图2为本发明实施例基于arcface的语音识别装置结构示意图,如图2所示,本发明实施例提供了一种基于arcface的语音识别装置,包括第一获取单元201、提取单元202、第二获取单元203和识别单元204,其中:第一获取单元201用于获取待识别语音,并提取所述待识别语音的低层帧级特征;提取单元202用于根据所述低层帧级特征,提取身份特征向量;第二获取单元203用于从预设语音库中获取与所述身份特征向量相似的目标身份特征向量,所述预设语音库预先存储有预设身份特征向量与预设身份信息之间的对应关系;其中,所述对应关系是根据预先训练过的预设模型得到的;所述预设模型是通过基于arcface的算法表达式获取的预设损失函数进行训练的;识别单元204用于根据所述对应关系,确定与所述目标身份特征向量对应的目标身份信息,并将所述目标身份信息作为所述待识别语音的识别结果。具体的,第一获取单元201用于获取待识别语音,并提取所述待识别语音的低层帧级特征;提取单元202用于根据所述低层帧级特征,提取身份特征向量;第二获取单元203用于从预设语音库中获取与所述身份特征向量相似的目标身份特征向量,所述预设语音库预先存储有预设身份特征向量与预设身份信息之间的对应关系;其中,所述对应关系是根据预先训练过的预设模型得到的;所述预设模型是通过基于arcface的算法表达式获取的预设损失函数进行训练的;识别单元204用于根据所述对应关系,确定与所述目标身份特征向量对应的目标身份信息,并将所述目标身份信息作为所述待识别语音的识别结果。本发明实施例提供的基于arcface的语音识别装置,从预设语音库中获取与待识别语音对应的身份特征向量相似的目标身份特征向量,并根据预先基于arcface的算法表达式获取的预设损失函数进行训练的预设模型得出对应关系,进而获取目标身份信息,再将目标身份信息作为待识别语音的识别结果,能够准确地对各种类型的语音进行识别。本发明实施例提供的基于arcface的语音识别装置具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。图3为本发明实施例提供的电子设备实体结构示意图,如图3所示,所述电子设备包括:处理器(processor)301、存储器(memory)302和总线通过总线完成相互间的通信;所述处理器301用于调用所述存储器302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:获取待识别语音,并提取所述待识别语音的低层帧级特征;根据所述低层帧级特征,提取身份特征向量;从预设语音库中获取与所述身份特征向量相似的目标身份特征向量,所述预设语音库预先存储有预设身份特征向量与预设身份信息之间的对应关系;其中,所述对应关系是根据预先训练过的预设模型得到的;所述预设模型是通过基于arcface的算法表达式获取的预设损失函数进行训练的;根据所述对应关系,确定与所述目标身份特征向量对应的目标身份信息,并将所述目标身份信息作为所述待识别语音的识别结果。本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:获取待识别语音,并提取所述待识别语音的低层帧级特征;根据所述低层帧级特征,提取身份特征向量;从预设语音库中获取与所述身份特征向量相似的目标身份特征向量,所述预设语音库预先存储有预设身份特征向量与预设身份信息之间的对应关系;其中,所述对应关系是根据预先训练过的预设模型得到的;所述预设模型是通过基于arcface的算法表达式获取的预设损失函数进行训练的;根据所述对应关系,确定与所述目标身份特征向量对应的目标身份信息,并将所述目标身份信息作为所述待识别语音的识别结果。本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:获取待识别语音,并提取所述待识别语音的低层帧级特征;根据所述低层帧级特征,提取身份特征向量;从预设语音库中获取与所述身份特征向量相似的目标身份特征向量,所述预设语音库预先存储有预设身份特征向量与预设身份信息之间的对应关系;其中,所述对应关系是根据预先训练过的预设模型得到的;所述预设模型是通过基于arcface的算法表达式获取的预设损失函数进行训练的;根据所述对应关系,确定与所述目标身份特征向量对应的目标身份信息,并将所述目标身份信息作为所述待识别语音的识别结果。本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的各实施例技术方案的范围。当前第1页12