表情生成模型的训练方法、表情生成的方法及装置转让专利

申请号 : CN202310723506.4

文献号 : CN116468826B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杜宗财范锡睿赵亚飞郭紫垣王志强陈毅

申请人 : 北京百度网讯科技有限公司

摘要 :

本公开提供了表情生成模型的训练方法、表情生成的方法及装置,涉及计算机技术领域,尤其涉及虚拟数字人、人工智能增强现实、虚拟现实、混合现实、扩展现实、元宇宙、深度学习等技术领域。具体实现方案为:根据训练样本生成第一口型控制特征和第一表情驱动参数;将训练样本的音频特征和第一口型控制特征输入第一表情生成模型,预测得到第二表情驱动参数;根据训练样本的真实表情驱动参数、第一表情驱动参数和第二表情驱动参数,得到损失函数;以及根据损失函数,对第一表情生成模型进行更新,以得到训练后的第二表情生成模型。本公开可以提升通过音频驱动数字人说话时口型的多样性,得到更加个性化的口型风格。

权利要求 :

1.一种表情生成模型的训练方法,包括:

对多个训练样本的原始口型控制特征和真实表情驱动参数重新排序,以得到所述多个训练样本中的每个训练样本的重排口型控制特征和第一表情驱动参数;其中,同一训练样本的重排口型控制特征和重排表情驱动参数的排序结果相同;所述原始口型控制特征根据训练样本的年龄参数、性别参数、情绪参数、语种参数中的至少一种口型控制参数得到;

根据重新排序后的多个训练样本的分布情况,得到所述每个训练样本的融合权重;

针对所述每个训练样本,根据所述融合权重、所述原始口型控制特征和所述重排口型控制特征,得到第一口型控制特征;

将训练样本的音频特征和所述第一口型控制特征输入第一表情生成模型,预测得到第二表情驱动参数;

根据所述训练样本的真实表情驱动参数、所述第一表情驱动参数和所述第二表情驱动参数,得到损失函数;以及根据所述损失函数,对所述第一表情生成模型进行更新,以得到训练后的第二表情生成模型。

2.根据权利要求1所述的方法,其中,根据所述训练样本的真实表情驱动参数、所述第一表情驱动参数和所述第二表情驱动参数,得到损失函数,包括:根据所述多个训练样本的真实表情驱动参数和所述第二表情驱动参数,得到第一损失值;

根据所述多个训练样本的第一表情驱动参数和所述第二表情驱动参数,得到第二损失值;

根据所述多个训练样本的所述第一损失值、所述第二损失值和损失函数权重,得到损失函数。

3.根据权利要求2所述的方法,还包括:

从以所述融合权重为期望的高斯分布中,确定所述损失函数权重。

4.根据权利要求1至3中任一项所述的方法,其中,将训练样本的音频特征和所述第一口型控制特征输入第一表情生成模型,预测得到第二表情驱动参数,包括:利用第一表情生成模型,将训练样本的音频特征与所述第一口型控制特征所包含的多种子特征进行渐进式融合,以得到融合特征;

根据所述融合特征,预测得到第二表情驱动参数。

5.根据权利要求4所述的方法,其中,利用第一表情生成模型,将训练样本的音频特征与所述第一口型控制特征所包含的多种子特征进行渐进式融合,以得到融合特征,包括:将训练样本的音频特征输入至第一表情生成模型的多个融合卷积层中的首层;

将所述第一口型控制特征所包含的多种子特征,按预设顺序逐个输入至所述多个融合卷积层中;其中,所述多种子特征包括年龄特征、性别特征、情绪特征、语种特征中的至少一种;

根据所述第一表情生成模型的最后一层融合卷积层的输出结果,得到融合特征。

6.根据权利要求5所述的方法,其中,在两个相邻的融合卷积层之间设有至少一层非融合卷积层。

7.一种表情生成的方法,包括:

根据目标音频数据,提取音频特征;

根据预设风格属性参数,得到目标口型控制特征;

利用第二表情生成模型,根据所述音频特征和所述目标口型控制特征,确定表情驱动参数;其中,所述第二表情生成模型根据权利要求1至6中任一项所述的方法训练得到;以及根据所述表情驱动参数,生成与所述目标音频数据对应的表情图像。

8.根据权利要求7所述的方法,其中,所述预设风格属性参数包括年龄参数、性别参数、情绪参数、语种参数中的至少一种。

9.一种表情生成模型的训练装置,包括:

生成模块,包括重排子模块和特征确定子模块,所述重排子模块用于对多个训练样本的原始口型控制特征和真实表情驱动参数重新排序,以得到所述多个训练样本中的每个训练样本的重排口型控制特征和第一表情驱动参数;其中,同一训练样本的重排口型控制特征和重排表情驱动参数的排序结果相同;所述原始口型控制特征根据训练样本的年龄参数、性别参数、情绪参数、语种参数中的至少一种口型控制参数得到;

所述特征确定子模块用于根据重新排序后的多个训练样本的分布情况,得到所述每个训练样本的融合权重;

针对所述每个训练样本,根据所述融合权重、所述原始口型控制特征和所述重排口型控制特征,得到第一口型控制特征;

预测模块,用于将训练样本的音频特征和所述第一口型控制特征输入第一表情生成模型,预测得到第二表情驱动参数;

损失确定模块,用于根据所述训练样本的真实表情驱动参数、所述第一表情驱动参数和所述第二表情驱动参数,得到损失函数;以及更新模型,用于根据所述损失函数,对所述第一表情生成模型进行更新,以得到训练后的第二表情生成模型。

10.根据权利要求9所述的装置,其中,所述损失确定模块用于:根据所述多个训练样本的真实表情驱动参数和所述第二表情驱动参数,得到第一损失值;

根据所述多个训练样本的第一表情驱动参数和所述第二表情驱动参数,得到第二损失值;

根据所述多个训练样本的所述第一损失值、所述第二损失值和损失函数权重,得到损失函数。

11.根据权利要求10所述的装置,还包括:

损失函数权重确定模块,用于从以所述融合权重为期望的高斯分布中,确定所述损失函数权重。

12.根据权利要求9至11中任一项所述的装置,其中,所述预测模块包括:融合子模块,用于利用第一表情生成模型,将训练样本的音频特征与所述第一口型控制特征所包含的多种子特征进行渐进式融合,以得到融合特征;

预测子模块,用于根据所述融合特征,预测得到第二表情驱动参数。

13.根据权利要求12所述的装置,其中,所述融合子模块用于:将训练样本的音频特征输入至第一表情生成模型的多个融合卷积层中的首层;

将所述第一口型控制特征所包含的多种子特征,按预设顺序逐个输入至所述多个融合卷积层中;其中,所述多种子特征包括年龄特征、性别特征、情绪特征、语种特征中的至少一种;

根据所述第一表情生成模型的最后一层融合卷积层的输出结果,得到融合特征。

14.根据权利要求13所述的装置,其中,在两个相邻的融合卷积层之间设有至少一层非融合卷积层。

15.一种表情生成装置,包括:

提取模块,用于根据目标音频数据,提取音频特征;

特征确定模块,用于根据预设风格属性参数,得到目标口型控制特征;

参数确定模块,用于利用第二表情生成模型,根据所述音频特征和所述目标口型控制特征,确定表情驱动参数;其中,所述第二表情生成模型根据权利要求9至14中任一项所述的装置训练得到;以及图像生成模块,用于根据所述表情驱动参数,生成与所述目标音频数据对应的表情图像。

16.根据权利要求15所述的装置,其中,所述预设风格属性参数包括年龄参数、性别参数、情绪参数、语种参数中的至少一种。

17.一种电子设备,包括:

至少一个处理器;以及

与所述至少一个处理器通信连接的存储器;其中,

所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑8中任一项所述的方法。

18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1‑8中任一项所述的方法。

说明书 :

表情生成模型的训练方法、表情生成的方法及装置

技术领域

[0001] 本公开涉及计算机技术领域,尤其涉及虚拟数字人、人工智能增强现实、虚拟现实、混合现实、扩展现实、元宇宙、深度学习等技术领域。

背景技术

[0002] 音频驱动数字人说话是元宇宙/数字人等场景中的一项重要技术,旨在生成与输入音频同步的数字人表情和口型。通常,受各种可能改变口型的因素影响,在不同的状态下说同一个字也可能产生不同的口型,因此,实现个性化的口型风格生成是让数字人更加逼真拟人的重要环节。

发明内容

[0003] 本公开提供了一种表情生成模型的训练方法、表情生成方法、装置、设备以及存储介质。
[0004] 根据本公开的一方面,提供了一种表情生成模型的训练方法,包括:
[0005] 根据训练样本生成第一口型控制特征和第一表情驱动参数;
[0006] 将训练样本的音频特征和第一口型控制特征输入第一表情生成模型,预测得到第二表情驱动参数;
[0007] 根据训练样本的真实表情驱动参数、第一表情驱动参数和第二表情驱动参数,得到损失函数;以及
[0008] 根据损失函数,对第一表情生成模型进行更新,以得到训练后的第二表情生成模型。
[0009] 根据本公开的另一方面,提供了一种表情生成的方法,包括:
[0010] 根据目标音频数据,提取音频特征;
[0011] 根据预设风格属性参数,得到目标口型控制特征;
[0012] 利用第二表情生成模型,根据音频特征和目标口型控制特征,确定表情驱动参数;其中,第二表情生成模型根据本公开实施例中任一项的表情生成模型的训练方法训练得到;以及
[0013] 根据表情驱动参数,生成与目标音频数据对应的表情图像。
[0014] 根据本公开的另一方面,提供了一种表情生成模型的训练装置,包括:
[0015] 生成模块,用于根据训练样本生成第一口型控制特征和第一表情驱动参数;
[0016] 预测模块,用于将训练样本的音频特征和第一口型控制特征输入第一表情生成模型,预测得到第二表情驱动参数;
[0017] 损失确定模块,用于根据训练样本的真实表情驱动参数、第一表情驱动参数和第二表情驱动参数,得到损失函数;以及
[0018] 更新模型,用于根据损失函数,对第一表情生成模型进行更新,以得到训练后的第二表情生成模型。
[0019] 根据本公开的另一方面,提供了一种表情生成装置,包括:
[0020] 提取模块,用于根据目标音频数据,提取音频特征;
[0021] 特征确定模块,用于根据预设风格属性参数,得到目标口型控制特征;
[0022] 参数确定模块,用于利用第二表情生成模型,根据音频特征和目标口型控制特征,确定表情驱动参数;其中,第二表情生成模型根据本公开实施例中任一项的装置训练得到;以及
[0023] 图像生成模块,用于根据表情驱动参数,生成与目标音频数据对应的表情图像。
[0024] 根据本公开的另一方面,提供了一种电子设备,包括:
[0025] 至少一个处理器;以及
[0026] 与该至少一个处理器通信连接的存储器;其中,
[0027] 该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开实施例中任一的方法。
[0028] 根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行根据本公开实施例中任一的方法。
[0029] 根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本公开实施例中任一的方法。
[0030] 本公开可以提升通过音频驱动数字人说话时口型的多样性,得到更加个性化的口型风格。
[0031] 应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

[0032] 附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0033] 图1是根据本公开一实施例的表情生成模型的训练方法的流程示意图;
[0034] 图2是根据本公开一实施例的另一实施例的表情生成模型的训练方法的流程示意图;
[0035] 图3是根据本公开一实施例的属性控制的深度学习网络的结构示意图;
[0036] 图4是根据本公开一实施例提供的表情生成的方法的流程示意图;
[0037] 图5是根据本公开一实施例的表情生成模型的训练装置的结构示意图;
[0038] 图6是根据本公开一实施例提供的表情生成装置的结构示意图;
[0039] 图7是用来实现本公开实施例的电子设备的框图。

具体实施方式

[0040] 以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0041] 相关技术中,数字人说同一个字的口型是相同的。但在实际上,人们在不同状态下说话口型通常是不一样的,开心地说话嘴张幅较大,伤心地说话嘴张幅较小。另一方面,不同年龄、不同性别的人说话口型也往往是不一样的。男性说话时口型往往比女性口型更大。因此,实现数字人个性化的口型风格生成是让数字人更加逼真拟人的重要环节。
[0042] 图1为本公开一实施例提供的表情生成模型的训练方法的流程示意图。如图1所示,该方法至少包括步骤:
[0043] S101、根据训练样本生成第一口型控制特征和第一表情驱动参数。
[0044] 本公开实施例中,训练样本根据被采集对象发声时对其面部表情进行录制的视频得到。训练样本中至少包括被采集对象发声(如说话或朗读)形成的音频数据,以及录制其发声时的面部区域的表情变化得到的视频数据。
[0045] 第一口型控制特征,可以理解为说话时会影响口型变化的特征。口型控制特征可以根据对应的口型控制参数得到。口型控制参数包括身份属性和情绪风格两方面,也称为语义参数。身份属性可以包括说话者的年龄、性别、体型等参数。情绪风格可以包括说话时的情绪、使用的语种(可以包括中文、日语、英语及各语种的方言)等参数。通过对上述参数进行编码,可以得到对应的口型控制特征。
[0046] 第一表情驱动参数,可以理解为用于控制和驱动二维或三维模型表情变化的参数。通常用于面部动画和表情合成,以实现模型的面部表情的逼真和自然变化。
[0047] 表情驱动参数可以看作是一组控制参数,用于描述模型在不同面部表情下的形状变化。每个参数对应于一个特定的面部表情,如微笑、愤怒、惊讶等。通过调整这些参数的数值,可以改变模型的面部形状,从而实现不同表情之间的平滑过渡和变化。
[0048] 在一种示例中,表情驱动参数可以使用混合变形(Blendshape)参数。Blendshape参数是一种基于线性插值的变形技术,通常用于实现面部动画和表情的变化。在一个三维模型中,Blendshape参数表示了不同的面部表情或形状变化。每个Blendshape参数对应于一种特定的面部表情,例如微笑、愤怒、惊讶等。通过调整这些Blendshape参数的权重,可以改变模型的形状,从而实现不同的表情和变化。
[0049] Blendshape参数从训练样本的视频数据中得到。具体而言,可以使用数据采集设备(如面部捕捉系统)记录面部动作数据,通过分析这些数据中面部的多个特征点的坐标位置,得到Blendshape参数。
[0050] 在Blendshape参数中,可以通过调整权重值来控制每个表情的强度。通过混合(blend)不同的Blendshape,可以生成连续的面部动画或实现自定义的面部表情。这种技术被广泛应用于电影、游戏和虚拟现实等领域,以实现逼真的面部动画效果。
[0051] 需要说明的是,为了提高训练样本的多样性,被采集对象可以包括不同年龄、性别的对象组成。例如,按照儿童、少年、青年、中年、老年等多种年龄段,在各个年龄段中选取男、女各数名被采集对象。被采集对象可以朗读预设的文本,或是按照预设的脚本进行对话,也可以自由地说话。被采集对象发声时,可以在多种不同的情绪下发声,例如,开心、惊讶、伤心、害怕、生气、不屑。
[0052] S102、将训练样本的音频特征和第一口型控制特征输入第一表情生成模型,预测得到第二表情驱动参数。
[0053] 本公开实施例中,音频特征可以使用任意现有的音频特征提取方法得到,如使用预训练特征模型。具体而言,可以是wav2vec2特征模型、梅尔频率倒谱系数(Mel Frequency Cepstrum Coefficient,MFCC)。
[0054] 将音频特征和第一口型控制特征输入第一表情生成模型,第一表情生成模型输出第二表情驱动参数。第二表情驱动参数是第一表情生成模型根据音频特征和第一口型控制特征得到的表情驱动参数的预测值。
[0055] S103、根据训练样本的真实表情驱动参数、第一表情驱动参数和第二表情驱动参数,得到损失函数。
[0056] 通过第一表情驱动参数、第二表情驱动参数与真实表情驱动参数,根据损失函数可以确定损失值。
[0057] 损失函数是用来衡量模型在训练数据上的预测结果与实际标签之间的差异或误差的函数。在每一轮训练中,模型根据输入数据进行前向传播,生成预测结果,然后计算这些预测结果与真实标签之间的差异,即损失值。
[0058] S104、根据损失函数,对第一表情生成模型进行更新,以得到训练后的第二表情生成模型。
[0059] 模型训练的目标是最小化损失函数,通过不断调整更新第一表情生成模型的参数,使得损失值逐渐减小。这个过程通常使用优化算法(如梯度下降)来进行参数更新。模型训练是通过最小化损失函数来优化模型的过程,而损失函数计算出的损失值是用来评估模型在训练数据上的性能和指导优化的依据。经过对第一表情生成模型的多轮迭代更新,在满足模型收敛条件的情况下,得到训练后的第二表情生成模型。
[0060] 本公开实施例中,将多种可能影响说话口型的口型控制特征输入待训练的第一表情生成模型,使模型可以学习到各种口型控制特征对口型的影响。
[0061] 根据本公开实施例的方案,可以提升通过音频驱动数字人说话时口型的多样性,得到更加个性化的口型风格。
[0062] 在一种可能的实现方式中,步骤S101根据训练样本生成第一口型控制特征和第一表情驱动参数,进一步包括步骤:
[0063] S1011、对多个训练样本的原始口型控制特征和真实表情驱动参数重新排序,以得到多个训练样本中的每个训练样本的重排口型控制特征和第一表情驱动参数。其中,同一训练样本的重排口型控制特征和重排表情驱动参数的排序结果相同。
[0064] S1012、针对每个训练样本,根据原始口型控制特征和重排口型控制特征,得到第一口型控制特征。
[0065] 本公开实施例中,模型训练时,可以将多个训练样本组成一个批次(batch)。该批次中每个训练样本有对应的序号,对多个训练样本的原始口型控制特征和真实表情驱动参数重新排序,可以将多个训练样本的原始索引序列(1,2,…,batch)随机重排列得到第二索引序列。根据第二索引序列,对多个训练样本的原始口型控制特征和真实表情驱动参数重新排序。
[0066] 在一种示例中,训练样本1的原始口型控制特征A1,真实表情驱动参数为B1;训练样本2的原始口型控制特征为A2,真实表情驱动参数为B2;训练样本3的原始口型控制特征为A3,真实表情驱动参数为B3。原始索引序列为1、2、3,重排后的第二索引序列为3、1、2。则,根据第二索引训练对多个训练样本的原始口型控制特征和真实表情驱动参数重新排序后,训练样本1的第一口型控制特征根据A1和重排口型控制特征A3确定,其第一表情驱动参数为B3;训练样本2的第一口型控制特征根据A2和重排口型控制特征A1确定,其第一表情驱动参数为B1;训练样本3的第一口型控制特征根据A3和重排口型控制特征A2确定,其真实表情驱动参数为B2。
[0067] 训练样本的第一口型控制特征可以根据其原始口型控制特征和对应的重排口型控制特征,进行隐空间插值的方法确定。
[0068] 根据本公开实施例的方案,由于说话风格有无数种可能,录制的训练样本数据中难以包含现实生活中所有的情况。因此,通过对训练样本进行重排和隐空间插值的方法,提升了训练样本的多样性。
[0069] 在一种可能的实现方式中,步骤S1012针对每个训练样本,根据原始口型控制特征和重排口型控制特征,得到第一口型控制特征,进一步包括:
[0070] 根据重新排序后的多个训练样本的分布情况,得到每个训练样本的融合权重。
[0071] 针对每个训练样本,根据融合权重、原始口型控制特征和重排口型控制特征,得到第一口型控制特征。
[0072] 本公开实施例中,将原始索引随机排序得到第二索引后,可以从均匀分布中采样得到融合权重 。在上述示例中,假设融合权重为0.3,则训练样本1的第一口型控制特征为0.3*A1+(1‑0.3)*A3。
[0073] 根据本公开实施例的方案,通过融合权重增加语义参数的连续性。
[0074] 在一种可能的实现方式中,步骤S103根据训练样本的真实表情驱动参数、第一表情驱动参数和第二表情驱动参数,得到损失函数,进一步包括:
[0075] S1031、根据多个训练样本的真实表情驱动参数和第二表情驱动参数,得到第一损失值。
[0076] S1032、根据多个训练样本的第一表情驱动参数和第二表情驱动参数,得到第二损失值。
[0077] S1033、根据多个训练样本的第一损失值、第二损失值和损失函数权重,得到损失函数。
[0078] 本公开实施例中,一个批次中的多个训练样本可以组合成一个矩阵,针对矩阵中的每个训练样本,根据模型预测的第二表情驱动参数与真实表情驱动参数,确定每个训练样本的第一损失值。再根据第二表情驱动参数与经过重排和插值得到的第一表情驱动参数,确定每个训练样本的第二损失值。将两个损失值按损失函数权重混合,得到每个训练样本的总损失值。确定每个训练样本的总损失值后,再将矩阵求和,得到该批次训练样本的损失值。之后,根据该该批次训练样本的损失值对模型参数进行更新。由于本公开实施例中损失函数是将两部分损失值混合而成,因此可以称为混合风格损失函数。
[0079] 损失函数可以根据具体任务和模型的特点而定,常见的损失函数包括均方误差(Mean Squared Error, MSE)、交叉熵损失(Cross‑Entropy Loss)、对比损失(Contrastive Loss)等。
[0080] 根据本公开实施例的方案,基于隐空间插值的方法和混合风格损失函数,增加语义参数连续性和模型预测口型风格的多样性。
[0081] 在一种可能的实现方式中,本公开实施例的方法还包括步骤:
[0082] 从以融合权重为期望的高斯分布中,确定损失函数权重。
[0083] 本公开实施例中,确定融合权重后,可以从高斯分布 中采样得到损失函数权重 ,对 做[0,1]上下界截断处理。
[0084] 根据本公开实施例的方案,损失函数权重来源于高斯分布,有助于增加生成口型风格的多样性。
[0085] 在一种可能的实现方式中,步骤S102将训练样本的音频特征和第一口型控制特征输入第一表情生成模型,预测得到第二表情驱动参数,进一步包括:
[0086] S1021、利用第一表情生成模型,将训练样本的音频特征与第一口型控制特征所包含的多种子特征进行渐进式融合,以得到融合特征。
[0087] S1022、根据融合特征,预测得到第二表情驱动参数。
[0088] 本公开实施例中,第一口型控制特征所包含的多种子特征可以是独立地对多种口型控制参数中的每种参数编码而得到的特征。例如,年龄特征、性别特征和情绪特征。在一种示例中,年龄可以用一个0到1之间的小数表示(比如5~10岁为0/14,10~15岁为 ,15 20岁为 ,依此类推),经过两层全连接层,得到年龄特征。性别也用【0,1】的小数表~
示(0代表完全男生风格,1代表完全女生风格,男性说话时嘴部开合的幅度更大,女性更小,
0至1之间代表口型风格的过渡,可以理解为开口幅度的过渡),经过两层全连接层编码,得到性别特征。情绪为6维向量(依次代表开心、惊讶、伤心、害怕、生气、不屑的强度,每个维度范围为【0,1】),经过两层全连接层,编码得到情绪特征。
[0089] 渐进式融合是指在每个用于融合的卷积层中,只将多种子特征中的一种子特征输入,从而与音频特征或是上一卷积层的输出结果进行融合。在下一个用于融合的卷积层中,输入另一种子特征。即每种子特征只按预设顺序输入一次。预设顺序可以是先输入与身份属性相关的特征,再输入与情绪风格相关的特征。年龄和性别是与数字人个体强相关的属性,和浅层卷积特征融合。情绪是与数字人个体无关的属性,和语义丰富的深层卷积特征融合。
[0090] 在上述用于融合的卷积层中,可以使用自适应实例归一化(Adaptive Instance Normalization,AdaIN)方法进行融合,AdaIN是一种在神经网络中应用的归一化技术,可以帮助模型更好地捕捉每个样本的特征信息,并减少批次之间的差异。
[0091] AdaIN在Instance Normalization(实例归一化)的基础上引入了自适应调整的机制。它通过引入额外的调整参数,将每个样本的均值和方差进行调整,使得模型可以对不同样本应用不同的归一化方式。这样,AdaIN可以在保持每个样本特征独立性的同时,根据输入样本的特征分布进行适应性的归一化。
[0092] AdaIN在一些计算机视觉任务中得到了广泛应用,特别是在图像风格迁移和图像生成领域。它通过自适应的归一化,可以将输入样本的风格信息转移到目标样本上,实现对目标样本的风格转换或生成。这使得生成的图像更加逼真、多样,并具有更好的风格一致性。
[0093] 根据本公开实施例的方案,采用渐进式的融合方式,相比常见的特征相加或者特征拼接具有更好的风格控制效果。
[0094] 在一种可能的实现方式中,步骤S1021利用第一表情生成模型,将训练样本的音频特征与第一口型控制特征所包含的多种子特征进行渐进式融合,以得到融合特征,进一步包括:
[0095] 将训练样本的音频特征输入至第一表情生成模型的多个融合卷积层中的首层。
[0096] 将第一口型控制特征所包含的多种子特征,按预设顺序逐个输入至多个融合卷积层中。其中,多种子特征包括年龄特征、性别特征、情绪特征、语种特征中的至少一种。
[0097] 根据第一表情生成模型的最后一层融合卷积层的输出结果,得到融合特征。
[0098] 本公开实施例中,融合卷积层数量可以与子特征的数量相同,每种子特征对应的输入至一个融合卷积层中,实现特征融合。具体而言,将音频特征与第一种子特征输入多个融合卷积层中的首层,将输出结果输入下一卷积层。下一卷积层可以是融合卷积层,也可以是非融合卷积层,即不输入子特征的常规卷积层。第二个融合卷积层输入第二种子特征和与第二个融合卷积层相连的上一卷积层的输出结果,完成第二种子特征的融合。以此类推。直至将所有的子特征输入完毕,完成特征融合。此时,最后一层融合卷积层的输出结果为音频特征与多种子特征进行渐进式融合得到的融合特征。在一种示例中,多种子特征的输入顺序依次是年龄特征、性别特征、语种特征和情绪特征。在另一种示例中,多种子特征的输入顺序依次是性别特征、年龄特征、情绪特征和语种特征。
[0099] 根据本公开实施例的方案,通过渐进式的融合并控制多种子特征的输入顺序,可以使模型能够更好的学习到多种语义参数,尤其是后输入的与情绪风格相关的特征。
[0100] 在一种可能的实现方式中,在两个相邻的融合卷积层之间设有至少一层非融合卷积层。
[0101] 本公开实施例中,在两个相邻的融合卷积层之间设有一层或多层非融合卷积层,较为优选的方式是设置一层。
[0102] 需要说明的是,两个相邻的融合卷积层也可以不设置非融合卷积层直接相连。
[0103] 根据本公开实施例的方案,通过在两个相邻的融合卷积层间隔至少一层非融合卷积层,有助于模型更好的学习口型控制特征,从而更快收敛。
[0104] 图2是本公开另一实施例提供的表情生成模型的训练方法的流程示意图。如图2所示,在一种可能的实现方式中,该方法至少包括以下步骤:
[0105] (1)音频编码:首先将音频数据划分为多个音频窗口(表情生成模型要预测的是音频窗口的中间时间点所对应的51维人脸参数),将多个音频窗口的音频数据经过预训练特征模型(本方案采用的wav2vec2特征模型,也可以使用传统的特征如MFCC),得到多个音频窗口的音频特征 。wav2vec2模型每20ms音频会预测得到一个392维特征,取中间的20个392维特征组成 。
[0106] (2)风格属性编码:对风格属性参数(口型控制参数)进行编码。年龄用一个【0,1】的小数表示(比如5~10岁为 ,10~15岁为 ,15 20岁为 ,依此类推),经过两层全连接层~(Linear+ReLU+Linear,第一个全连接层映射到 维,第二个全连接层映射到 维)编码为;性别也用【0,1】的小数表示(0代表完全男生风格,1代表完全女生风格,0至1之间的代表口型风格上的过渡),经过两层全连接层(Linear+ReLU+Linear,第一个全连接层映射到 维,第二个全连接层映射到 维)编码为 ;情绪为6维向量(依次代表开心、惊讶、伤心、害怕、生气、不屑的强度,每个维度范围为【0,1】),经过两层全连接层(Linear+ReLU+Linear,第一个全连接层映射到 维,第二个全连接层映射到 维)编码为。
[0107] (3)属性控制的深度学习网络:为了实现基于年龄、性别以及情绪控制说话风格,需要将风格属性的特征编码和音频的特征编码融合。
[0108] 本公开实施例使用基于AdaIN的渐进式融合方法(年龄和性别是与数字人个体强相关的属性,和浅层卷积特征融合;情绪是与数字人个体无关的属性,和语义丰富的深层卷积特征融合),相比常见的特征相加或者特征拼接具有更好的风格控制效果。该网络的输入是音频特征 ,风格属性特征( ,, ,以下用 代表年龄、性别和表情特征中的
任意一个),输出是数字人的BlendShape驱动参数 ,学习网络的结构如
图3所示,其中 代表二维卷积的输入特征数, 代表输出特征数,代表卷积核的大小,代表卷积步长,代表边缘补0的像素个数。图中结构中的实数仅为举例,可以调整实际取值。
[0109] 将属性特征 通过AdaIN融合到某层卷积层输出特征(h和w为特征图的高度和宽度)的定义如下:
[0110]
[0111] 其中, 代表特征 的第 个特征图, 代表 的第 个特征, 代表均值函数, 代表标准差函数。
[0112] (4)隐空间插值和混合风格损失函数:由于说话风格有无数种可能,录制的数据中难以包含现实生活中所有的情况(比如10岁男孩开心地说话风格有非常多种可能性)。本公开实施例使用基于隐空间插值的方法和混合风格损失函数,增加语义参数连续性和模型预测口型风格的多样性。当前训练批处理batch的音频特征为 ,属性特征为 ,对应的真值为 。隐空间插值和计算混合风
格损失函数步骤如下:
[0113] a)将索引序列(1,2,…,batch)随机重排列得到索引,从均匀分布 中采样得到融合权重 ,再从高斯分布 中采样一个损失函数权重 ,对 做[0,1]上下界截断处理。
[0114] b)根据索引重排列属性特征和真值,得到 和 。
[0115] c)将属性特征根据融合权重 加权求和:
[0116]
[0117] d)将音频特征 和插值后的属性特征 送入到属性控制的深度学习网络中,预测得到驱动参数 。
[0118] e)计算基于均方误差损失 的混合风格损失函数:
[0119]
[0120] f)损失函数模块根据计算得到的损失值对网络的参数进行更新。
[0121] 根据本公开实施例的方案,通过修改语义参数(年龄、性别、表情)方便地控制数字人的说话口型风格,提升了数字人的口型风格效果的可控性;通过隐空间插值和混合风格损失函数,实现语义参数连续化和风格多样性生成,使得数字人的口型风格选择具有多样性。
[0122] 图4是根据本公开一实施例提供的表情生成的方法的流程示意图。如图4所示,该方法至少包括:
[0123] S501、根据目标音频数据,提取音频特征。
[0124] S502、根据预设风格属性参数,得到目标口型控制特征。
[0125] S503、利用第二表情生成模型,根据音频特征和目标口型控制特征,确定表情驱动参数。其中,第二表情生成模型根据上述任一实施例的方法训练得到。
[0126] S504、根据表情驱动参数,生成与目标音频数据对应的表情图像。
[0127] 本公开实施例中,可以根据目标音频数据与预设风格属性参数,得到表情驱动参数,从而根据表情驱动参数生成对应的表情图像、视频。将音频特征和目标口型控制特征,输入至第二表情生成模型,从而根据模型的输出得到表情驱动参数。提取音频特征的方法、确定目标口型控制特征的方法可以参见上述方法实施例中对应步骤的相关描述,在此不再赘述。
[0128] 根据本公开实施例的方案,利用已经训练好的表情生成模型,可以实时动态调整想要的口型风格,无需再重新训练或者微调模型;在使用目标音频数据驱动数字人说话时,通过修改风格属性参数,可以方便地控制数字人的说话口型风格,提升了数字人的口型风格效果的可控性。
[0129] 在一种可能的实现方式中,预设风格属性参数包括年龄参数、性别参数、情绪参数、语种参数中的至少一种。
[0130] 图5是根据本公开一实施例提供的表情生成模型的训练装置的结构示意图。如图5所示,表情生成模型的训练装置包括:
[0131] 生成模块601,用于根据训练样本生成第一口型控制特征和第一表情驱动参数。
[0132] 预测模块602,用于将训练样本的音频特征和第一口型控制特征输入第一表情生成模型,预测得到第二表情驱动参数。
[0133] 损失确定模块603,用于根据训练样本的真实表情驱动参数、第一表情驱动参数和第二表情驱动参数,得到损失函数。以及
[0134] 更新模型604,用于根据损失函数,对第一表情生成模型进行更新,以得到训练后的第二表情生成模型。
[0135] 在一种可能的实现方式中,生成模块601包括:
[0136] 重排子模块,用于对多个训练样本的原始口型控制特征和真实表情驱动参数重新排序,以得到多个训练样本中的每个训练样本的重排口型控制特征和第一表情驱动参数。其中,同一训练样本的重排口型控制特征和重排表情驱动参数的排序结果相同。
[0137] 特征确定子模块,用于针对每个训练样本,根据原始口型控制特征和重排口型控制特征,得到第一口型控制特征。
[0138] 在一种可能的实现方式中,特征确定子模块用于:
[0139] 根据重新排序后的多个训练样本的分布情况,得到每个训练样本的融合权重。
[0140] 针对每个训练样本,根据融合权重、原始口型控制特征和重排口型控制特征,得到第一口型控制特征。
[0141] 在一种可能的实现方式中,损失确定模块603用于:
[0142] 根据多个训练样本的真实表情驱动参数和第二表情驱动参数,得到第一损失值。
[0143] 根据多个训练样本的第一表情驱动参数和第二表情驱动参数,得到第二损失值。
[0144] 根据多个训练样本的第一损失值、第二损失值和损失函数权重,得到损失函数。
[0145] 在一种可能的实现方式中,该装置还包括:
[0146] 损失函数权重确定模块,用于从以融合权重为期望的高斯分布中,确定损失函数权重。
[0147] 在一种可能的实现方式中,预测模块602包括:
[0148] 融合子模块,用于利用第一表情生成模型,将训练样本的音频特征与第一口型控制特征所包含的多种子特征进行渐进式融合,以得到融合特征。
[0149] 预测子模块,用于根据融合特征,预测得到第二表情驱动参数。
[0150] 在一种可能的实现方式中,融合子模块用于:
[0151] 将训练样本的音频特征输入至第一表情生成模型的多个融合卷积层中的首层。
[0152] 将第一口型控制特征所包含的多种子特征,按预设顺序逐个输入至多个融合卷积层中。其中,多种子特征包括年龄特征、性别特征、情绪特征、语种特征中的至少一种。
[0153] 根据第一表情生成模型的最后一层融合卷积层的输出结果,得到融合特征。
[0154] 在一种可能的实现方式中,在两个相邻的融合卷积层之间设有至少一层非融合卷积层。
[0155] 本公开实施例的装置的各模块、子模块的具体功能和示例的描述,可以参见上述方法实施例中对应步骤的相关描述,在此不再赘述。
[0156] 图6是本公开一实施例提供的表情生成装置的结构示意图。如图6所示,该装置包括:
[0157] 提取模块701,用于根据目标音频数据,提取音频特征。
[0158] 特征确定模块702,用于根据预设风格属性参数,得到目标口型控制特征。
[0159] 参数确定模块703,用于利用第二表情生成模型,根据音频特征和目标口型控制特征,确定表情驱动参数。其中,第二表情生成模型根据上述任一项的表情生成模型的训练装置训练得到。
[0160] 图像生成模块704,用于根据表情驱动参数,生成与目标音频数据对应的表情图像。
[0161] 在一种可能的实现方式中,预设风格属性参数包括年龄参数、性别参数、情绪参数、语种参数中的至少一种。
[0162] 本公开实施例的装置的各模块、子模块的具体功能和示例的描述,可以参见上述方法实施例中对应步骤的相关描述,在此不再赘述。
[0163] 本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
[0164] 根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0165] 图7示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0166] 如图7所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
[0167] 设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0168] 计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如表情生成模型的训练方法、表情生成的方法。例如,在一些实施例中,表情生成模型的训练方法、表情生成的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的表情生成模型的训练方法、表情生成的方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行表情生成模型的训练方法、表情生成的方法。
[0169] 本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0170] 用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0171] 在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0172] 为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
[0173] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
[0174] 计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0175] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0176] 上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。