概述
AI数字人面部与肢体的驱动算法是数字人研发中至关重要的一环,它能够有效降低VR Chat、虚拟直播和游戏NPC等应用场景中的成本。随着技术的发展,基于语音的面部、肢体和手部动作生成模型已经逐步成熟并得到广泛应用。然而,当尝试将这些独立模型生成的动画结果进行混合时,往往会导致整体动画效果的不协调。为了解决这一问题,研究人员开始探索采用统一的框架来同步生成面部表情和肢体动作,以期达到更自然、协调的动画效果。
尽管在面部表情和肢体动作的生成方面,研究社区已经分别建立了一些统一的数据标准,例如FLAME模型用于面部表情,AMASS模型用于肢体动作,但这些基线模型大多是在独立的数据集上进行训练和评估的,缺乏一个全身统一的数据标准和模型。为了填补这一空白,东京大学、清华大学和德国马普所的研究人员合作提出了EMAGE框架,这是一个能够从音频和动作掩码中生成包括面部、局部肢体、手部和全局运动在内的全身动作的框架。EMAGE的提出,为数字人研发领域带来了新的突破,有望进一步提升AI数字人在各种应用场景中的表现力和协调性。
EMAGE面部加肢体动画实现从音频生成数字人表情与动作
论文地址:https://arxiv.org/abs/2401.00374
项目主页:https://pantomatrix.github.io/EMAGE/
hugging face space 链接:https://huggingface.co/spaces/H-Liu1997/EMAGE
简介
EMAGE研究论文通过结合BEAT2数据集,提出了一种创新的方法,使用户能够自定义动作输入,并在预定义的时序与空间动作输入方面展现出灵活性。这种方法最终能够生成与音频同步的完整全身动作效果,其输出的全身动作效果达到了业界的领先水平(SOTA)。
BEAT2,全称为BEAT-SMPLX-FLAME,是一个结合了语音和基于网格的动作数据的全身数据集,包含了长达60小时的数据。这个数据集将SMPLX模型中的肢体参数与FLAME模型中的面部参数相结合,同时解决了头部、颈部和手指等部位的运动模型问题。BEAT2为研究社区提供了一个标准化且高质量的3D动作捕捉数据集,极大地促进了数字人动作生成技术的研究和应用。
通过EMAGE框架和BEAT2数据集的结合,研究人员能够更精确地生成与音频同步的全身动作,这不仅提高了动作生成的自然度和真实感,也为数字人在虚拟环境中的交互和表现提供了更多可能性。这种技术的发展对于推动数字人在VR、虚拟直播、游戏和其他交互式应用中的实际应用具有重要意义。
在EMAGE框架的研究中,通过对比不同方法生成的动作和表情,可以明显看出精调后的结果在多个方面具有优势。以下是对上述描述的详细解释:
左:在这一比较中,我们可以看到,经过精细调整(Refined Moshed)的SMPLX肢体参数结果,在颈部弯曲、头颈形状比例以及手指弯曲等方面都展现出更高的准确性和细节表现。与BEAT数据集中的原始骨架数据(BEAT)、使用AutoRegPro重定向的数据(Retargeted)以及Mosh++的初始结果(Moshed)相比,精调后的结果更加逼真和自然。
右:在表情权重的可视化比较中,原始BEAT数据集中的混合表情权重与ARKit的基础脸部模板(BEAT)、基于线性Wrapped的方法(Wrapped Optimum)以及人工PCA映射FACs的表情优化(Handcraft Optimum)进行了对比。最终,基于FLAME混合表情的人工映射优化实现了更为准确的唇动细节和自然对话时的口型。
EMAGE框架在训练过程中,利用了肢体动作掩码的先验知识,以提高模型的推理性能。通过使用音频与动作掩码的转换器,EMAGE有效地提升了音频生成动作和动作掩码下的动作重建的联合训练效率。这意味着网络能够更有效地将音频和肢体动作的提示帧编码进模型。此外,EMAGE还自适应地结合了音频的节奏和内容的语音特征,并使用组合式的VQ-VAEs(Vector Quantized-Variational AutoEncoders)来增强身体各个部位(共计四种)结果的真实性和多样性。这种结合了先验知识和自适应特征的方法,使得EMAGE在生成与音频同步的全身动作方面达到了业界领先水平。
EMAGE 生成肢体动画的例子:
从上到下依次为:真实数据、不使用肢体提示帧生成的数据、使用肢体提示帧生成的数据、肢体提示帧的可视化:
EMAGE框架的强大功能在于其能够生成多样化、具有语义关联且与音频同步的肢体动作。这种能力使得EMAGE在创建数字人物时能够根据具体的语境和音频输入做出自然而合理的动作反应。例如,当接收到“spare time”这个提示词时,EMAGE能够理解其含义并生成相应的动作,如同时举起双手,表现出轻松和闲暇的状态。而面对“hike in nature”这样的描述,EMAGE则能够采取更加放松和符合户外活动的动作,如模拟徒步行走的姿态。
此外,EMAGE框架的灵活性体现在其能够接受非音频同步的肢体提示帧。这意味着EMAGE可以根据任意帧或关节的状态来引导生成的动作,从而实现更精确的动作控制。例如,如果需要数字人物重复特定的动作,如举起双手,或者需要在动作序列中改变行走方向,EMAGE都能够根据这些非音频同步的提示帧来生成相应的动作。
需要注意的是,尽管第三列的生成结果中的关节提示(以灰色网格表示)与第四行肢体提示帧中的关节(以绿色网格表示)在视觉上可能不一致,但这并不影响EMAGE根据这些提示生成准确和自然的动作。这种不一致性可能是由于不同帧或关节状态的表示方式不同,或者是由于EMAGE在处理和生成动作时采用了不同的算法和模型。总之,EMAGE的这种灵活性和多样性使其成为创建丰富、动态和交互式数字人物的理想工具。
下图是 EMAGE 生成面部动画的结果:
EMAGE 生成的面部运动与基线模型的对比。
在AI数字人技术领域,生成逼真的面部表情和全身动作是一个重要且具有挑战性的任务。不同的方法针对这一任务的解决方案各有侧重,其中包括脸部单独生成的方法和全身整体动作生成方法。
脸部单独生成的方法,如faceformer和codetalker,专注于生成高质量的面部表情和口型。这些方法通常利用深度学习模型来理解和模拟人类面部的微妙变化,以及如何根据语音或其他输入信号生成相应的面部动作。在BEAT2数据集中,codetalker表现出了其独特的优势。尽管从技术角度来看,codetalker的MSE(均方误差)可能比真实数据更高,这意味着在数值上它可能更偏离真实数据,但从主观上看,其生成的面部表情和口型更加自然和逼真。这是因为codetalker具备离散的面部先验知识,这使得它能够更好地捕捉和表达人类面部的复杂性。
另一方面,全身整体动作生成方法,如Habibie et al.和Talkshow,旨在从整体上生成协调一致的全身动作。这些方法不仅关注面部表情,还包括肢体动作和整体姿态,以实现更全面的数字人动画效果。
EMAGE框架则结合了这两种方法的优点,利用离散的面部先验知识和动作掩码的肢体提示帧,实现了精准的唇动性能。这意味着EMAGE不仅能够生成逼真的面部表情,还能够根据音频输入生成协调的全身动作。通过这种方式,EMAGE能够提供更加丰富和真实的数字人体验,无论是在面部细节还是全身动作上都能够达到更高的标准。这种结合面部和肢体动作生成的方法,为数字人技术的发展提供了新的可能性,并有望在未来的应用中发挥重要作用。
模型框架
EMAGE 是一个支持用户自定义输入,带有动作掩码与音频输入的全身动作建模框架,使用新提出的数据集 BEAT2(BEAT-SMPLX-FLAME),生成面部表情、局部身体动作、手部动作和全局平移运动时,是以音频与动作掩码作为基准联合训练。灰色身体部位是用户输入的肢体提示帧,蓝色表示整体的网络输出。
算法细节
EMAGE 采取了两种训练路线:动作掩码重建(MaskedGesture2Gesture,即 MG2G)和使用音频的动作生成(Audio2Gesture,即 A2G)。
MG2G:通过基于 Transformer 的动作的时空编码器与基于交叉注意力的动作解码器,来对肢体提示帧进行编码。
A2G:利用输入的肢体提示与独立的的音频编码器,对于经过预训练的面部和肢体潜征进行解码。
可切换的交叉注意力层在上述过程中作为关键组件,对于合并肢体提示帧和音频特征起重要作用。此融合使特征被有效地解耦并可以被用于动作的解码。动作潜征被重建之后,EMAGE 使用预训练的 VQ-Decoder 来对于面部和局部肢体运动进行解码。
此外,预训练的全局运动预测器也被用来估计全身的全局平移,使得模型生成逼真并且连贯动作的能力得到加强。
CRA 和 VQ-VAEs 的与训练模型的细节
左图:内容节奏注意力模块 (CRA) 将音频的节奏(初始语音和振幅)与内容(来自文本的预训练词条嵌入)自适应地相融合。这种架构可以让特定帧更有效地基于音频的内容或节奏,生成更加具有语义的动作。
右图:通过对于面部、肢体上半身、手部和肢体下半身的分别重建,来预训练四个组合式 VQ-VAEs 模型,以更加明示地将与音频无关的动作相解耦。
前向传播网络对比
直接融合模块 (a) : 将音频特征与未精调的肢体特征合并,仅基于位置嵌入重组音频特征。自注意力解码器模块 (b) : 为 MLM 模型中所采用的模块,只限于自回归推理的任务。EMAGE © : 融合 (a) 与 (b) 的长处,同时使音频特征融合更有效,且可以自回归解码。