模型训练、嘴部动作参数获取方法、装置、设备及介质与流程

文档序号:26091197发布日期:2021-07-30 17:59阅读:173来源:国知局
模型训练、嘴部动作参数获取方法、装置、设备及介质与流程

本申请涉及动作识别技术领域,特别涉及嘴部动作驱动模型训练方法、嘴部动作参数获取方法、嘴部动作驱动模型训练装置、嘴部动作参数获取装置、电子设备及计算机可读存储介质。



背景技术:

在人物影像生成、电子动画中的类人类角色动作渲染等领域,为了使得影像中的人物更加真实、自然,嘴部动作与语音的匹配是十分重要的,如何准确地完成声音到动作的映射是解决这一问题的关键。相关技术可以分为基于规则的方法与基于深度学习的方法,其中,基于规则的方法利用类似字典的结构记录音素与动作的对应关系,通过查表的方式完成声音到动作参数的映射。然而字典的方法需要得到准确且覆盖全面的字典,字典构建难度较大。

基于深度学习的方法,不需要构建字典,其利用训练数据训练得到神经网络,并将声音对应的特征序列输入到神经网络后,得到相关的嘴部动作参数。基于深度学习的方法中神经网络的识别能力直接决定了嘴部动作参数的可靠性,而相关技术中神经网络的准确率较低,且容易出现系统性错误,在出现系统性错误时会输出错误的嘴部动作参数,造成嘴部动作参数的准确率较低。



技术实现要素:

有鉴于此,本申请的目的在于提供一种嘴部动作驱动模型训练方法、嘴部动作驱动模型训练装置、嘴部动作参数获取方法、嘴部动作参数获取装置、电子设备及计算机可读存储介质,提高了得到的嘴部动作参数的准确率。

为解决上述技术问题,本申请提供了一种嘴部动作驱动模型训练方法,包括:

获取多种第一训练数据;每种所述第一训练数据对应的训练数据类型和/或训练标签类型不同;

将各个类别的所述第一训练数据分别输入初始模型中对应的输入网络,得到对应的输出值;所述初始模型包括一个主干网络、多个输入网络和多个输出网络,所述输入网络和输出网络的数量与所述第一训练数据的类别数相同;

基于梯度下降原则,利用所述输出值调节所述主干网络,得到目标网络;

获取第二训练数据,并基于所述梯度下降原则,利用所述第二训练数据训练初始驱动模型,得到嘴部动作驱动模型;其中,所述初始驱动模型包括所述目标网络。

可选地,所述获取多种第一训练数据,包括:

获取视频数据;所述视频数据包括音频文件和图像文件;

对所述音频文件进行多种方式的声学特征提取,得到多种初始训练数据;

对所述图像文件进行多种方式的动作参数提取,得到多种训练标签;

分别利用各种所述初始训练数据和各种所述训练标签进行组合,得到所述第一训练数据。

可选地,所述对所述音频文件进行多种方式的声学特征提取,得到多种初始训练数据,包括:

对所述音频文件进行振幅谱提取,得到振幅谱数据;

对所述音频文件进行梅尔频谱提取,得到梅尔频谱数据;

对所述音频文件进行梅尔倒谱系数提取,得到梅尔倒谱系数数据;

对所述音频文件进行基于自动语音识别的音素中间特征提取,得到音素数据;

将所述振幅谱数据、所述梅尔频谱数据、所述梅尔倒谱系数数据和所述音素数据确定为所述初始训练数据。

可选地,所述对所述图像文件进行多种方式的动作参数提取,得到多种训练标签,包括:

利用关键点提取算法对所述图像文件进行嘴部关键点提取,得到嘴部关键点参数;

利用三维建模算法对所述图像文件进行建模和嘴部特征数据提取处理,得到嘴部特征数据;

将所述嘴部关键点参数和所述嘴部特征数据确定为所述训练标签。

可选地,所述基于梯度下降原则,利用所述输出值调节所述主干网络,得到目标网络,包括:

利用所述输出值计算损失值;所述损失值包括各种所述第一训练数据对应的单一损失值,和/或,各个所述单一损失值对应的总损失值;

若所述损失值小于对应的损失值阈值,则将所述主干网络确定为所述目标网络;

若所述损失值不小于对应的所述损失值阈值,则利用所述输出值计算梯度值,并基于所述梯度下降原则,利用所述梯度值调节所述主干网络,并进行迭代训练。

可选地,所述主干网络包括单向循环神经网络,和/或,感受野小于预设范围的卷积神经网络。

本申请还提供了一种嘴部动作参数获取方法,包括:

获取待处理音频;

将所述待处理音频输入嘴部动作驱动模型,得到对应的嘴部动作参数;其中,所述嘴部动作驱动模型基于上述的嘴部动作驱动模型训练方法训练得到。

可选地,还包括:

获取追加训练数据;所述追加训练数据包括所述嘴部动作驱动模型处理错误的错误音频;

利用所述追加训练数据对所述嘴部动作驱动模型进行追加训练。

本申请还提供了一种嘴部动作驱动模型训练装置,包括:

获取模块,用于获取多种第一训练数据;每种所述第一训练数据对应的训练数据类型和/或训练标签类型不同;

输入模块,用于将各个类别的所述第一训练数据分别输入初始模型中对应的输入网络,得到对应的输出值;所述初始模型包括一个主干网络、多个输入网络和多个输出网络,所述输入网络和输出网络的数量与所述第一训练数据的类别数相同;

调节模块,用于基于梯度下降原则,利用所述输出值调节所述主干网络,得到目标网络;

训练模块,用于获取第二训练数据,并基于所述梯度下降原则,利用所述第二训练数据训练初始驱动模型,得到嘴部动作驱动模型;其中,所述初始驱动模型包括所述目标网络。

可选地,获取模块,包括:

视频数据获取单元,用于获取视频数据;视频数据包括音频文件和图像文件;

声学特征提取单元,用于对音频文件进行多种方式的声学特征提取,得到多种初始训练数据;

动作参数提取单元,用于对图像文件进行多种方式的动作参数提取,得到多种训练标签;

组合单元,用于分别利用各种初始训练数据和各种训练标签进行组合,得到第一训练数据。

可选地,声学特征提取单元,包括:

振幅谱提取子单元,用于对音频文件进行振幅谱提取,得到振幅谱数据;

梅尔频谱提取子单元,用于对音频文件进行梅尔频谱提取,得到梅尔频谱数据;

梅尔倒谱系数提取子单元,用于对音频文件进行梅尔倒谱系数提取,得到梅尔倒谱系数数据;

音素中间特征提取子单元,用于对音频文件进行基于自动语音识别的音素中间特征提取,得到音素数据;

第一确定子单元,用于将振幅谱数据、梅尔频谱数据、梅尔倒谱系数数据和音素数据确定为初始训练数据。

可选地,动作参数提取单元,包括:

关键点提取子单元,用于利用关键点提取算法对图像文件进行嘴部关键点提取,得到嘴部关键点参数;

建模特征提取子单元,用于利用三维建模算法对图像文件进行建模和嘴部特征数据提取处理,得到嘴部特征数据;

第二确定子单元,用于将嘴部关键点参数和嘴部特征数据确定为训练标签。

可选地,调节模块,包括:

损失计算单元,用于利用输出值计算损失值;损失值包括各种第一训练数据对应的单一损失值,和/或,各个单一损失值对应的总损失值;

目标模型确定模块,用于若损失值小于对应的损失值阈值,则将主干网络确定为目标网络;

更新模块,用于若损失值不小于对应的损失值阈值,则利用输出值计算梯度值,并基于梯度下降原则,利用梯度值调节主干网络,并进行迭代训练。

本申请还提供了一种嘴部动作参数获取装置,包括:

待处理音频获取模块,用于获取待处理音频;

处理模块,用于将所述待处理音频输入嘴部动作驱动模型,得到对应的嘴部动作参数;其中,所述嘴部动作驱动模型基于上述的嘴部动作驱动模型训练方法训练得到。

可选地,还包括:

追加数据获取模块,用于获取追加训练数据;追加训练数据包括嘴部动作驱动模型处理错误的错误音频;

追加训练模块,用于利用追加训练数据对嘴部动作驱动模型进行追加训练。

本申请还提供了一种电子设备,包括存储器和处理器,其中:

所述存储器,用于保存计算机程序;

所述处理器,用于执行所述计算机程序,以实现上述的嘴部动作驱动模型训练方法,和/或,上述的嘴部动作参数获取方法。

本申请还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的嘴部动作驱动模型训练方法,和/或,上述的嘴部动作参数获取方法。

本申请提供的嘴部动作驱动模型训练方法,获取多种第一训练数据;每种第一训练数据对应的训练数据类型和/或训练标签类型不同;将各个类别的第一训练数据分别输入初始模型中对应的输入网络,得到对应的输出值;初始模型包括一个主干网络、多个输入网络和多个输出网络,输入网络和输出网络的数量与第一训练数据的类别数相同;基于梯度下降原则,利用输出值调节主干网络,得到目标网络;获取第二训练数据,并基于梯度下降原则,利用第二训练数据训练初始驱动模型,得到嘴部动作驱动模型;其中,初始驱动模型包括目标网络。

相应的,本申请提供的嘴部动作参数获取方法,获取待处理音频;将待处理音频输入嘴部动作驱动模型,得到对应的嘴部动作参数;其中,嘴部动作驱动模型基于上述的嘴部动作驱动模型训练方法训练得到。

可见,该方法采用了元学习的训练方式,在训练初始驱动模型时,获取的第一训练数据为多类,各类第一训练数据之间的训练数据类型和/或训练标签类型不同。初始模型中具有一个主干网络和多组输入输出网络,每一组输入输出网络与一种第一训练数据相对应。利用一种的第一训练数据进行训练可以视为一个任务,因此对初始模型中主干网络的训练相当于综合了多个任务的训练。通过在训练时综合多个任务,可以使得主干网络能够学会如何学习,能够学习各个任务之间的联系,适应各个任务对应的第一训练数据的情况,进而避免主干网络出现系统性错误。在得到主干网络后,再利用第二训练数据对具有主干网络的初始驱动模型进行训练,完成对模型的微调,最终得到准确的嘴部动作驱动模型。同时,元学习的过程扩充了训练数据的类型,提高了未出现系统性错误时嘴部动作驱动模型输出的嘴部动作参数的准确率,解决了相关技术存在的嘴部动作参数的准确率较低的问题。

此外,本申请还提供了嘴部动作驱动模型训练装置、嘴部动作参数获取装置、电子设备及计算机可读存储介质,同样具有上述有益效果。

附图说明

为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的一种嘴部动作驱动模型训练方法流程图;

图2为本申请实施例提供的一种应用场景示意图;

图3为本申请实施例提供的一种嘴部动作参数获取方法流程图;

图4为本申请实施例提供的一种具体的嘴部动作驱动模型训练流程图;

图5为本申请实施例提供的一种嘴部动作驱动模型训练装置的结构示意图;

图6为本申请实施例提供的一种嘴部动作参数获取装置的结构示意图;

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

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参考图1,图1为本申请实施例提供的一种嘴部动作驱动模型训练方法流程图。该方法包括:

s101:获取多种第一训练数据。

第一训练数据是指用于生成嘴部动作驱动模型的训练数据,其具体内容不做限定。可以理解的是,第一训练数据包括数据和标签两个部分,数据部分为具体的声学特征数据,其具体为对音频文件或音频信号进行处理得到的声学特征;标签部分为该声学特征对应的动作参数数据,其具体为能够表征上述音频文件或音频信号对应的人脸嘴部动作状态的参数数据。

需要说明的是,本实施例中存在多种第一训练数据,每种第一训练数据对应的训练数据类型和/或训练标签类型不同。训练数据类型是指训练数据中数据部分的格式类型,该格式类型与数据部分的获取方式相关,例如为振幅谱格式,或者为梅尔频谱格式。与其类似的,训练标签类型为标签部分的格式类型,其具体内容不做限定,例如可以为关键点格式。每一种第一训练数据的数量为多个,各个第一训练数据中数据部分对应的音频文件、音频信号,以及标签部分对应的人脸嘴部动作状态不同。

对于第一训练数据的获取方式本实施例不做限定。在一种实施方式中,可以从预设路径下获取第一训练数据,该预设路径可以为本地路径,即电子设备内的存储介质对应的存储路径,或者可以为外部路径,即云端、可移动存储介质等对应的存储路径。在第二种实施方式中,可以将某个或某些指定的电子设备发送的数据确定为第一训练数据,或者将从某个端口获取到的数据确定为第一训练数据。在第三种实施方式中,第一训练数据可以在本地生成,例如可以获取训练声学信号和对应的训练图像,分别对其进行特征提取,即可得到第一训练数据包括的数据部分和标签部分。

本实施例也不限定第一训练数据的获取频率,即并不限定s101步骤的执行频率和执行时机。在一种实施方式中,s101步骤可以实时执行,即可以实时获取第一训练数据并在本地存储;在第二种实施方式中,s101步骤可以在检测到预设条件被触发后执行,例如可以在检测到训练开始信号时获取第一训练数据。

s102:将各个类别的第一训练数据分别输入初始模型中对应的输入网络,得到对应的输出值。

初始模型是指没有训练完毕的嘴部动作驱动模型,其经过训练达到收敛后或满足训练完成条件后,即可转换为嘴部动作驱动模型。在本实施例中,初始模型包括一个主干网络、多个输入网络和多个输出网络,输入网络和输出网络的数量与第一训练数据的类别数相同。本实施例并不限定主干网络、输入网络和输出网络的具体结构和类型,例如输入网络可以为全连接网络,或者为卷积神经网络。输出网络可以为全连接网络。每一组输入网络和输出网络的组合与主干网络相配合,对应于一种第一训练数据。具体的,利用一种第一训练数据进行训练的过程可以被视为一个训练任务,则初始模型利用主干网络与多组输入网络和输出网络的组合相配合,同时进行多个训练任务。

在将第一训练数据输入初始模型时,需要注意的是,各种第一训练数据均输入对应的输入网络中。同时,与该输入网络对应的输出网络用于输出与第一训练数据的标签部分格式相同的输出值,整个过程的数据流向为输入网络—主干网络—输出网络。可以理解的是,各个输出值的形式与第一训练数据的训练标签类型相关,例如为长度不同的向量数据,输出值的具体内容不做限定。

本实施例并不限定第一训练数据输入初始模型的具体方式,例如可以同时将各种第一训练数据输入对应的输入网络,经过主干网络处理并经过输出网络输出后得到与第一训练数据相对应的输出值。在另一种实施方式中,可以依次分别输入各类第一训练数据。

s103:基于梯度下降原则,利用输出值调节主干网络,得到目标网络。

在得到输出值后,由于输入输出网络并不能影响输出值的具体内容,因此在更新时仅对主干网络进行参数调节。梯度下降原则也可以称为梯度下降法(gradientdescent),其具体为一种最优化算法,常用于机器学习和人工智能当中用来递归性地逼近最小偏差模型。梯度下降是迭代法的一种,可以用于求解最小二乘问题。在求解机器学习算法的模型参数(即无约束优化问题)时,梯度下降是最常采用的方法之一,通过梯度下降法进行一步步的迭代求解,可以得到最小化的损失值和模型参数值。因此可以确定,利用输出值调节主干网络是一个迭代的过程,经过多次迭代调节,当主干网络满足更新完成条件后,主干网络即变化为目标网络。本实施例并不限定利用输出值调节主干网络的具体过程,例如可以利用输出值和第一训练数据的标签部分作为调节的基础对主干网络进行调节。

需要说明的是,本实施例中s102和s103步骤应当串行循环执行,直至得到目标网络。具体的,当利用一部分第一训练数据得到对应的输出值后,利用输出值对主干网络进行调节,具体为对主干网络的参数进行更新。在更新结束后,判断主干网络是否为目标网络。若不是目标网络,则重新利用一部分第一训练数据得到新的输出值,并利用新的输出值再次对主干网络进行调节,直至主干网络变化为目标网络。本实施例并不限定判断主干网络是否为目标网络的判断方式,例如可以判断本轮得到的输出值的平均准确率是否达到阈值。由于输出值基于不同类型的第一训练数据得到,因此利用其对主干网络进行训练时,可以使得主干网络学习各个训练任务之间的联系,适应各个训练任务的情况,进而使得避免出现系统性错误。具体的,系统性错误是指模型结构、参数等本身不完善造成的模型能行缺陷,其并不能够通过增加训练数据的方式得到解决。而本申请采用元学习的训练方式,利用多种不同类型的第一训练数据对主干模型进行训练,通过多任务的学习,使得主干模型在训练过程中学会如何学习(即learntolearn),避免主干模型出现系统性错误,进而避免后续得到的嘴部动作驱动模型出现系统性错误。

s104:获取第二训练数据,并基于梯度下降原则,利用第二训练数据训练初始驱动模型,得到嘴部动作驱动模型。

其中,初始驱动模型包括目标网络,且初始驱动模型的输入网络和输出网络与第二训练数据相匹配。第二训练数据是指训练数据类型与嘴部动作驱动模型的输入数据格式相同,且训练标签类型与嘴部动作驱动模型的输出数据格式相同的训练数据,其可以为第一训练数据的一部分,或者可以为全新的训练数据,具体数量不做限定。第二训练数据的训练数据类型和训练标签类型可以根据实际需要进行确定,具体不做限定。

在得到目标模型后,可以在其基础上增加与第二训练数据相匹配的输入网路和输出网络,构成初始驱动模型。主干模型利用多种第一训练数据训练得到,其参数可能与第二训练数据并不完全匹配。因此在得到目标网络后,可以利用第二训练数据对基于目标网络构建的初始驱动模型进行微调,得到嘴部动作驱动模型。微调的过程与主干网络的训练过程相类似,即基于梯度下降原则对初始驱动模型进行训练,直至得到嘴部动作驱动模型。经过微调后的嘴部动作驱动模型不会出现系统性错误,且输出的输入格式和输出格式符合需求。

应用本申请实施例提供的嘴部动作驱动模型训练方法,采用了元学习的训练方式,在训练初始驱动模型时,获取的第一训练数据为多类,各类第一训练数据之间的训练数据类型和/或训练标签类型不同。初始模型中具有一个主干网络和多组输入输出网络,每一组输入输出网络与一种第一训练数据相对应。利用一种的第一训练数据进行训练可以视为一个任务,因此对初始模型中主干网络的训练相当于综合了多个任务的训练。通过在训练时综合多个任务,可以使得主干网络能够学会如何学习,能够学习各个任务之间的联系,适应各个任务对应的第一训练数据的情况,进而避免主干网络出现系统性错误。在得到主干网络后,再利用第二训练数据对具有主干网络的初始驱动模型进行训练,完成对模型的微调,最终得到准确的嘴部动作驱动模型。同时,元学习的过程扩充了训练数据的类型,提高了未出现系统性错误时嘴部动作驱动模型输出的嘴部动作参数的准确率,解决了相关技术存在的嘴部动作参数的准确率较低的问题。

基于上述实施例,本实施例将对上述实施例中的若干步骤进行具体的阐述。其中,由于第一训练数据中数据部分与标签部分相对应,这就要求得到数据部分的声学信号与得到标签部分的图像信号严格匹配。为了保证第一训练数据的准确性,获取第一训练数据的过程具体可以包括如下步骤:

步骤11:获取视频数据。

在本实施例中,视频数据包括音频文件和图像文件。

步骤12:对音频文件进行多种方式的声学特征提取,得到多种初始训练数据。

通过对音频文件进行多种方式的声学特征提取,得到多种不同类型的初始训练数据,其具体为没有标签部分的第一训练数据。本实施例并不限定各种声学特征提取的具体类型,根据初始第一训练数据的类型的不同,声学特征提取的方式可以不同。初始训练数据具体可以为振幅谱、梅尔频谱、梅尔倒谱系数,或者可以为音素特征,即asr(automaticspeechrecognition,自动语音识别)处理的中间特征。asr处理的具体过程为将语音转换为音素特征,再将音素特征转换为文本特征。

步骤13:对图像文件进行多种方式的动作参数提取,得到多种训练标签。

通过对图像文件进行动作参数提取,具体为对图像文件进行多种不同类型的嘴部动作参数提取,可以得到多种的训练动作参数,即训练标签。动作参数提取的具体方式不做限定,例如可以利用关键点检测当时得到landmarks(即地标)数据,并将其确定为训练标签,其可以表征嘴部的状态。在另一种实施方式中,可以利用三维建模的方式得到类blendshape(即混合形状)参数,具体生成过程可以参考相关技术,在此不做赘述。

步骤14:分别利用各种初始训练数据和各种训练标签进行组合,得到第一训练数据。

本实施例并不限定训练标签和初始训练数据的生成先后顺序,例如可以串行生成,或者可以并行同时生成。在得到训练标签和初始训练数据之后,将各种类型的初始训练数据和各种类型的训练标签进行组合,即对不同类型的初始训练数据进行不同类型地标记,得到多种第一训练数据。通过利用视频数据在本地生成第一训练数据,可以保证第一训练数据的可靠性和质量,保证模型训练的效果。

进一步的,在一种可行的实施方式中,为了得到尽可能多的不同类别的第一训练数据,可以对所述音频文件进行多种方式的声学特征提取,得到多种初始训练数据的过程具体可以包括如下步骤:

步骤21:对音频文件进行振幅谱提取,得到振幅谱数据。

振幅谱即为amplitudespectrum,是一个波或波列的振幅随频率的变化关系,其具体提取方式不做限定。

步骤22:对音频文件进行梅尔频谱提取,得到梅尔频谱数据。

梅尔频谱是指利用梅尔滤波函数对普通的频谱图进行处理后得到的频谱数据。具体的梅尔频谱提取过程不做限定,例如可以对音频文件进行分帧和加窗处理,处理完毕后进行傅立叶变换处理,得到频谱图,然后利用基于梅尔滤波函数的滤波器对频谱图进行处理,得到梅尔倒谱数据。

步骤23:对音频文件进行梅尔倒谱系数提取,得到梅尔倒谱系数数据。

梅尔倒谱系数是一组用来建立梅尔倒频谱的关键系数,其提取过程是在梅尔倒谱数据的基础上进行对数处理和离散预先变换(discretecosinetransform,dct)处理。

步骤24:对音频文件进行基于自动语音识别的音素中间特征提取,得到音素数据。

音素特征是指asr(automaticspeechrecognition,自动语音识别)处理的中间特征,自动语音识别的具体过程为将语音转换为音素特征,再将音素特征转换为文本特征,因此音素特征也可以称为中间特征。具体的提取过程可以参考相关技术,本实施例在此不做赘述。

需要说明的是,上述步骤21至步骤24的执行顺序本实施例不做限定,在一种实施方式中,各个步骤可以同时并行执行,对于步骤22和步骤23来说,其又可以串行执行,即先利用音频文件进行梅尔频谱提取,得到梅尔频谱数据,再利用梅尔倒谱数据得到梅尔倒谱系数数据。在另一种实施方式中,上述各个步骤可以串行执行。

步骤25:将振幅谱数据、梅尔频谱数据、梅尔倒谱系数数据和音素数据确定为初始训练数据。

在得到上述四个数据后,可以将其确定为初始训练数据,以便与训练标签相配合组成不同种类的训练数据。

与初始训练数据相类似的,为了得到尽可能多的不同类别的第一训练数据,可以对音频文件进行多种方式的动作参数提取。因此得到多种训练标签的过程具体可以包括如下步骤:

步骤31:利用关键点提取算法对图像文件进行嘴部关键点提取,得到嘴部关键点参数。

其中,关键点提取算法的具体内容和形式不做限定,其用于对图像文件中能够表征人脸嘴部特征的关键参数进行提取,得到嘴部关键点参数,具体可以称为landmarks(即地标)数据。根据关键点提取算法的不同,嘴部关键点提取的具体过程也可以不同,具体过程不做限定,可以参考相关技术。

步骤32:利用三维建模算法对图像文件进行建模和嘴部特征数据提取处理,得到嘴部特征数据。

三维建模算法能够根据图像文件对人脸嘴部进行建模,并将该模型对应的模型数据进行提取,模型数据即为嘴部特征数据,具体可以称为类blendshape(即混合形状)参数。本实施例并不限定具体哪些参数为嘴部特征数据,可以根据需要进行设置。

需要说明的是,步骤31和步骤32同样可以并行执行或串行执行,对与其执行顺序本实施例不做限定。

步骤33:将嘴部关键点参数和嘴部特征数据确定为训练标签。

在得到嘴部关键点参数和嘴部特征数据后,可以将其确定为训练标签,以便与初始训练数据相配合组成不同种类的训练数据。

基于上述实施例,在一种可行的实施方式中,为了灵活地训练主干网络,基于梯度下降原则,利用输出值调节主干网络,得到目标网络的过程具体可以包括如下步骤:

步骤41:利用输出值计算损失值。

在每轮训练是,主干网络都会进行多任务的训练,因此在更新主干网络时,同样需要根据各个任务的情况进行更新。需要说明的是,损失值包括各种第一训练数据对应的单一损失值,和/或,各个单一损失值对应的总损失值。即损失值的数量可以为一个或多个,当损失值为一个时,其具体为各个单一损失值对应的总损失值,利用总损失值来表征各个任务的总体训练情况。当损失值为多个时,其至少包括各个任务对应的单一损失值,利用各个单一损失值对各个任务的训练情况进行表征,在此基础上,还可以包括各个单一损失值相加得到的总损失值。通过设置不同数量、不同内容的损失值,可以灵活地限定主干网络达到收敛的要求,进而灵活地训练主干网络。本实施例并不限定各个损失值的具体计算方式,可以参考相关技术。

步骤42:若损失值小于对应的损失值阈值,则将主干网络确定为目标网络。

在得到损失值后,可以将其与对应的损失值阈值进行比对,根据损失值数量的不同,损失值阈值的数量也可以不同,二者数量相同。当损失值阈值的数量为多个时,每个损失值阈值可以相同也可以不同。当各个损失值均小于对应的损失值阈值时,可以确定主干网络已经达到收敛,因此可以将期确定为目标网络。

步骤43:若损失值不小于对应的损失值阈值,则利用输出值计算梯度值,并基于梯度下降原则,利用梯度值调节主干网络,并进行迭代训练。

若存在某一个损失值不小于对应的损失值阈值,则可以利用输出值计算梯度值,并基于梯度下降原则,利用梯度值对主干网络进行更新,在更新完毕后,利用新的训练数据再次对主干网络进行训练,即进行迭代训练,以便在训练完毕后再次计算损失值。

基于上述实施例,在一种实施方式中,对于主干模型的具体结构和类型,本实施例不做限定。在另一种实施方式中,为了提高模型对音频信号的识别速度,以便在后续应用过程中满足流式需求,即能在检测到语音信号后快速输出对应的嘴部动作参数,实现实时交互的功能,可以对主干模型的结构进行限制具体的:

主干模型采用单向循环神经网络,和/或,感受野小于预设范围的卷积神经网络。

其中,单向循环神经网络与双向循环神经网络相比,其在工作时采用的时间维度的信息较少,时间维度的信息也就是当前信息的上下文信息。若采用的时间维度的信息较多,则对当前信息进行处理时,需要较长时间等待获取该当前信息的后续信息,以便对其进行处理,而这样就导致无法及时对当前信息进行处理,无法实现实时交互的功能。而采用单向循环神经网络可以减少所需的时间维度的信息,在对当前信息进行处理时无需等待较长时间来获取后续的信息,实现实时交互的效果。

类似的,当卷积神经网络的感受野较大时,其需同样需要较多的时间维度的信息,因此为了实现实时交互的效果,可以将卷积神经网路的感受野限制在预设范围内,以便提高信息处理速度,进而实现实时交互。

本申请还提供了一种嘴部动作参数获取方法。请参考图2,图2为本申请实施例提供的一种应用场景示意图。本申请实施例提供的嘴部动作参数获取方法可以应该用于如图2所示的交互系统100。交互系统100包括终端设备101以及服务器102,服务器102与终端设备101通信连接。其中,服务器102可以是传统服务器,也可以是云端服务器,在此不做具体限定。

其中,终端设备101可以是具有显示屏、具有数据处理模块、具有拍摄相机、具有音频输入/输出等功能,且支持数据输入的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、自助服务终端和可穿戴式电子设备等。具体的,数据输入可以是基于电子设备上具有的语音模块输入语音、字符输入模块输入字符等。

其中,终端设备101上可以安装有客户端应用程序,用户可以基于客户端应用程序(例如app,微信小程序等)传输数据,其中,本实施例中,可以在终端设备101配置一个客户端应用程序用于获取待处理音频。用户可以基于客户端应用程序在服务器102注册一个用户账号,并基于该用户账号与服务器102进行通信,例如用户在客户端应用程序登录用户账号,并基于该用户账号通过客户端应用程序进行输入,可以输入文字信息用于选择待处理音频,或者可以直接输入待处理音频。客户端应用程序接收到用户输入的信息后,可以将该信息发送至服务器102,使得服务器102可以接收该信息并进行后续处理及存储,服务器102还可以接收该信息并根据该信息返回一个对应的输出信息至终端设备101。

在一些实施方式中,对待处理音频进行处理的装置也可以设置于终端设备101上,使得终端设备101无需依赖于服务器102建立通信即可实现与用户的交互,此时交互系统100可以只包括终端设备101。

请参考图3,图3为本申请实施例提供的一种嘴部动作驱动模型训练方法流程图。该方法包括:

s201:获取待处理音频。

本实施例并不限定待处理音频的具体获取方式,在一种可行的实施方式中,可以直接获取音频信号,并将获取到的音频信号确定为待处理音频。在另一种实施方式中,可以预存或临时获取多个候选音频,并根据接收到的选择指令从中选择一个作为待处理音频。

s202:将待处理音频输入嘴部动作驱动模型,得到对应的嘴部动作参数。

需要说明的是,嘴部动作驱动模型基于上述的嘴部动作驱动模型训练方法训练得到。由于采用了元学习的训练方式,在训练初始驱动模型时,获取的第一训练数据为多类,各类第一训练数据之间的训练数据类型和/或训练标签类型不同。初始模型中具有一个主干网络和多组输入输出网络,每一组输入输出网络与一种第一训练数据相对应。利用一种的第一训练数据进行训练可以视为一个任务,因此对初始模型中主干网络的训练相当于综合了多个任务的训练。通过在训练时综合多个任务,可以使得主干网络能够学会如何学习,能够学习各个任务之间的联系,适应各个任务对应的第一训练数据的情况,进而避免主干网络出现系统性错误。在得到主干网络后,再利用第二训练数据对具有主干网络的初始驱动模型进行训练,完成对模型的微调,最终得到准确的嘴部动作驱动模型。同时,元学习的过程扩充了训练数据的类型,提高了未出现系统性错误时嘴部动作驱动模型输出的嘴部动作参数的准确率,解决了相关技术存在的嘴部动作参数的准确率较低的问题。

基于上述实施例,在一种可行的实施方式中,为了实现对嘴部动作驱动模型对某些特定语句识别能力欠缺问题的快速修正,可以采用线上更新的方式对嘴部动作驱动模型进行更新。具体的,还可以包括如下步骤:

步骤51:获取追加训练数据。

需要说明的是,本实施例中的追加训练数据包括嘴部动作驱动模型处理错误的错误音频,即利用嘴部动作驱动模型无法处理的错误音频作为训练数据对其进行训练,使其具有对该类音频的识别能力,快速弥补其存在的识别能力欠缺。可以理解的是,追加训练数据同样包括错误音频对应的标签,该标签的生成方式不做限定,例如可以为人工打标。本实施例也不限定错误音频的具体确定方式,例如可以由人工确定。

步骤52:利用追加训练数据对嘴部动作驱动模型进行追加训练。

在得到追加训练数据后,可以利用其对嘴部动作驱动模型进行追加训练,本实施例并不限定追加训练的具体方式,例如可以直接利用其对嘴部动作驱动模型进行训练。在另一种实施方式中,可以将嘴部动作驱动模型中的目标网络提取出来,将其作为新的主干网络,并对追加训练数据进行类型扩充,得到新的第一训练数据,利用新的第一训练数据和新的主干网络进行网络训练,直至得到新的嘴部动作驱动模型。

请参考图4,图4为本申请实施例提供的一种具体的嘴部动作驱动模型训练流程图。其中,数据录制的过程即为录制视频数据的过程,得到视频数据后利用其进行数据处理,其中包括多种语音特征的提取(即声学特征提取)和多种嘴部动作参数的提取(即动作参数提取),得到训练声学特征。利用训练声学特征进行主干模型的训练,并在主干模型训练完毕后利用其构建初始驱动模型,并进行嘴部动作驱动模型的训练,得到嘴部动作驱动模型。

下面对本申请实施例提供的嘴部动作驱动模型训练装置进行介绍,下文描述的嘴部动作驱动模型训练装置与上文描述的嘴部动作驱动模型训练方法可相互对应参照。

请参考图5,图5为本申请实施例提供的一种嘴部动作驱动模型训练装置的结构示意图,包括:

获取模块110,用于获取多种第一训练数据;每种第一训练数据对应的训练数据类型和/或训练标签类型不同;

输入模块120,用于将各个类别的第一训练数据分别输入初始模型中对应的输入网络,得到对应的输出值;初始模型包括一个主干网络、多个输入网络和多个输出网络,输入网络和输出网络的数量与第一训练数据的类别数相同;

调节模块130,用于基于梯度下降原则,利用输出值调节主干网络,得到目标网络;

训练模块140,用于获取第二训练数据,并基于梯度下降原则,利用第二训练数据训练初始驱动模型,得到嘴部动作驱动模型;其中,初始驱动模型包括目标网络。

可选地,获取模块110,包括:

视频数据获取单元,用于获取视频数据;视频数据包括音频文件和图像文件;

声学特征提取单元,用于对音频文件进行多种方式的声学特征提取,得到多种初始训练数据;

动作参数提取单元,用于对图像文件进行多种方式的动作参数提取,得到多种训练标签;

组合单元,用于分别利用各种初始训练数据和各种训练标签进行组合,得到第一训练数据。

可选地,声学特征提取单元,包括:

振幅谱提取子单元,用于对音频文件进行振幅谱提取,得到振幅谱数据;

梅尔频谱提取子单元,用于对音频文件进行梅尔频谱提取,得到梅尔频谱数据;

梅尔倒谱系数提取子单元,用于对音频文件进行梅尔倒谱系数提取,得到梅尔倒谱系数数据;

音素中间特征提取子单元,用于对音频文件进行基于自动语音识别的音素中间特征提取,得到音素数据;

第一确定子单元,用于将振幅谱数据、梅尔频谱数据、梅尔倒谱系数数据和音素数据确定为初始训练数据。

可选地,动作参数提取单元,包括:

关键点提取子单元,用于利用关键点提取算法对图像文件进行嘴部关键点提取,得到嘴部关键点参数;

建模特征提取子单元,用于利用三维建模算法对图像文件进行建模和嘴部特征数据提取处理,得到嘴部特征数据;

第二确定子单元,用于将嘴部关键点参数和嘴部特征数据确定为训练标签。

可选地,调节模块130,包括:

损失计算单元,用于利用输出值计算损失值;损失值包括各种第一训练数据对应的单一损失值,和/或,各个单一损失值对应的总损失值;

目标模型确定模块,用于若损失值小于对应的损失值阈值,则将主干网络确定为目标网络;

更新模块,用于若损失值不小于对应的损失值阈值,则利用输出值计算梯度值,并基于梯度下降原则,利用梯度值调节主干网络,并进行迭代训练。

下面对本申请实施例提供的嘴部动作参数获取装置进行介绍,下文描述的嘴部动作参数获取装置与上文描述的嘴部动作参数获取方法可相互对应参照。

请参考图6,图6为本申请实施例提供的一种嘴部动作参数获取装置的结构示意图,包括:

待处理音频获取模块210,用于获取待处理音频;

处理模块220,用于将待处理音频输入嘴部动作驱动模型,得到对应的嘴部动作参数;其中,嘴部动作驱动模型基于上述的嘴部动作驱动模型训练方法训练得到。

可选地,还包括:

追加数据获取模块,用于获取追加训练数据;追加训练数据包括嘴部动作驱动模型处理错误的错误音频;

追加训练模块,用于利用追加训练数据对嘴部动作驱动模型进行追加训练。

下面对本申请实施例提供的电子设备进行介绍,下文描述的电子设备与上文描述的嘴部动作驱动模型训练方法可相互对应参照。

请参考图7,图7为本申请实施例提供的一种电子设备的结构示意图。其中电子设备700可以包括处理器701和存储器702,还可以进一步包括多媒体组件703、信息输入/信息输出(i/o)接口704以及通信组件705中的一种或多种。

其中,处理器701用于控制电子设备700的整体操作,以完成上述的嘴部动作驱动模型训练方法中的全部或部分步骤;存储器702用于存储各种类型的数据以支持在电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,sram)、电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,eeprom)、可擦除可编程只读存储器(erasableprogrammableread-onlymemory,eprom)、可编程只读存储器(programmableread-onlymemory,prom)、只读存储器(read-onlymemory,rom)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。

多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于电子设备700与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件705可以包括:wi-fi部件,蓝牙部件,nfc部件。

电子设备700可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的嘴部动作驱动模型训练方法。

下面对本申请实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的嘴部动作驱动模型训练方法可相互对应参照。

本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的嘴部动作驱动模型训练方法的步骤。

该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

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