From Tokens to Faces: Investigating Discrete Speech Representations for 3D Facial Animation
本文评估了用于 3D 面部动画的四类离散语音表示,证明了编码音素类别能够产生准确的预测,并由此引入了一种音频视觉文本转语音(AVTTS)流水线,该流水线利用共享的离散表示来同时解码语音和 3D 面部运动。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正在尝试教一个机器人如何一边说话一边移动它的脸部。你已经有了机器人的声音,但你该如何告诉它的脸该做什么呢?你是给它一份关于每一块肌肉运动的详细剧本?还是给它一个原始音频文件?或者给它一组简单的、编码过的指令?
这篇题为**《从 Token 到面部》(From Tokens to Faces)**的论文本质上是一次“口味测试”。研究人员想要找出哪种类型的“指令代码”最适合让 3D 动画脸部在说话时看起来自然。
四种类型的“指令代码”
研究人员测试了四种将人类语音转化为计算机可理解数据(称为“表示”)的不同方式:
- “语义”代码 (HuBERT): 这就像是一个理解句子含义的翻译官。它知道正在说哪些词以及周围的语境。它擅长理解语音中的“意图”。
- “声学”代码 (WavTokenizer): 这就像是一个高速音频压缩器。它纯粹关注声波及其感受,忽略了含义或具体的字母。它在重建声音方面非常高效,但它并不真正“了解”单词。
- “混合”代码 (SpeechTokenizer): 这是两者的结合体。它试图同时理解单词的含义和声音的纹理。
- “基于标签”的代码 (CosyVoice2): 这就像是一个使用清单进行检查的严格教师。它将语音分解为特定的、离散的标签(如特定的字母或发音),并专注于语言的结构而非流动的声音。
实验:面部解码器
研究人员将这四种不同的代码输入到两个不同的“面部驱动器”(解码器)中:
- GRU: 一个循序渐进的驱动器,它一次只观察一帧面部。
- Transformer: 一个能同时观察整个句子的驱动器,就像通过阅读一段文字来理解其流畅度一样。
然后,他们使用三种方法测量了生成的动画脸部与真实人类脸部的匹配程度:
- 数学: 测量机器人的嘴唇与人类嘴唇之间的距离。
- 平滑度: 检查脸部是抖动的还是移动平滑的。
- “人眼”测试: 他们让真人观看视频并评分,类似于盲测。
他们的发现
以下是研究结果的简单解释:
- 意义至关重要: “语义”代码(翻译官)和“基于标签”的代码(清单)脱颖而出。它们产生的面部动作最真实。事实证明,为了让脸部动作自然,它需要知道正在说什么(音素类别),而不仅仅是声波如何振动。
- 过多的声音反而有害: “声学”代码(纯声音)和“混合”代码(声音 + 意义)表现较差。似乎如果计算机过于关注原始声音细节,它就会对如何移动嘴唇感到困惑。“噪声”的存在实际上阻碍了面部动画。
- 最好的驱动器: “Transformer”驱动器(那个能看到整个句子的驱动器)在处理离散代码时比循序渐进的驱动器效果好得多。
- “基于标签”的惊喜: 最初为文本转语音设计的“基于标签”代码,其表现几乎与复杂的“语义”代码一样好。这意义重大,因为它更简单且更具结构化。
核心理念:“全能型”机器
这篇论文中最令人兴奋的部分是他们提出的一个新概念,称为 AVTTS(视听文本转语音)。
通常,要制作一个会说话的头部,你需要分两步走:
- 将文本转化为音频。
- 将该音频转化为移动的面部。
研究人员展示了,由于“基于标签”的代码在表示语音方面表现出色,你可以将其作为一种共享语言。你可以将文本输入系统,它能同时吐出音频和移动的面部,两者完美同步,无需中间步骤。这就像一位指挥家,可以通过同一份乐谱同时指挥管弦乐队(声音)和舞者(面部)。
底线结论
要让机器人的脸看起来真实,你不需要给它喂入每一个微小的声波细节。你需要给它一个清晰的、结构化的理解,即正在说的声音和字母。如果你给计算机一张清晰的语音“地图”(比如一份声音清单),即使它没有原始音频文件,它也能搞清楚如何完美地移动嘴唇。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。