AI 视频里常能看到这样的画面:给一段配音,画面里的人物嘴唇跟着开合,眉眼还带着相应的神态,看上去就像真的在说话。让一张静态照片或一段既有视频跟着音频动起来,背后是表情驱动技术。本文只讲技术链路本身:音频里读什么、面部怎么被驱动、口型为什么是最难的一环;整条数字人口播的流程,见数字人口播流程一篇。
表情驱动在链路里的位置:从一段音频开始
一条表情驱动的流水线,输入通常是两样东西:一段画面,一张照片或一段视频都行;一段驱动信号,最常见的形态是音频。链路要做的事可以概括成一句话:从驱动信号里读出「此刻该做什么表情」,再把这份表情落到画面的那张脸上。中间的模型分成两段,前一段负责理解信号,后一段负责生成画面,两段之间传递的是一套结构化的表情描述。
第一步读信号:音频里拆出两类信息
音频进入模型后,先被拆成两类信息。第一类是音素,也就是构成每个字的基本发音单元:「妈」和「爸」的开口方式不同,对应的口型就不同。第二类是韵律,包括音调的高低、语速的快慢、重音落在哪里。音素决定嘴巴怎么张合,韵律决定神态的幅度——语气上扬时眉毛容易抬起,语速加快时动作整体跟着紧凑。两类信息合在一起,才构成一份完整的表情指令。
口型对齐:整条链路最难的环节
口型的难点在于精度要跟到帧。人对音画不同步很敏感,口型比声音慢上一小截,观感立刻就不对。麻烦还在于细节:同一个音在词首和词尾的口型过渡不同,相邻的字会互相影响,「圆唇音」要收拢、「开口音」要张大,这些过渡都得逐帧接顺。所以链路里通常有一个专门的口型对齐模块,把每个音素映射成对应的口型形状,再沿时间轴一帧帧对上去。
神态与节奏:让脸不只是张嘴
只有嘴动还不够。真人说话时眉毛会挑、眼睛会眨、头部会随着语气轻轻点头,这些细节往往由单独的控制项负责:眨眼按一定频率穿插,头部微动跟随重音,情绪段落再叠加上扬或低垂的神态。想让画面不僵硬,这些次级动作不能省——它们不改变说话的内容,却决定了观感里「像不像真人在讲」。
从链路看边界:哪些场景顺手,哪些吃力
看清链路,就知道能力的边界在哪。音频回答的是「做什么表情」,回答不了「这张脸现在在什么角度」,所以正脸、光照均匀的画面效果最稳,侧脸、遮挡、大角度转头就吃力。语速过快的段落,多个音素挤在同一小段时间里,口型容易含糊;多人同时说话的画面,信号与目标的对应关系也会变复杂。今天的工具链里,配音可以先交给豆包生成,链路里每个模块在做什么,让 DeepSeek 按步骤解释一遍,能帮你判断一段素材适不适合驱动。参考视频驱动的思路与它同源,见视频参考生视频一篇。
| 素材情况 | 会卡在哪一环 | 为什么 |
|---|---|---|
| 正脸、光照均匀 | 整条链路都稳 | 音频回答的是做什么表情,回答不了这张脸现在在什么角度 |
| 侧脸、遮挡、大角度转头 | 表情落不到正确的脸上 | 驱动信号里没有角度信息,只能靠画面硬推 |
| 语速过快 | 口型含糊 | 多个音素挤在同一小段时间里,过渡接不顺 |
| 多人同时说话 | 信号与目标的对应变复杂 | 一段音频要落到多张脸上,对应关系不唯一 |
表情驱动技术链路速查
- 输入:一段画面(照片或视频)+ 一段驱动信号(常见为音频)
- 读信号:音素管口型,韵律管神态幅度
- 对口型:音素映射到口型形状,沿时间轴逐帧对齐
- 加神态:眨眼、头部微动、眉眼跟随韵律穿插
- 难点:口型精度到帧;侧脸与遮挡是常见短板
关于表情驱动的常见疑问
- 表情驱动和动作迁移是一回事吗?:两者思路同源但分工不同:表情驱动只驱动面部,动作迁移处理的是肢体动作,见动作迁移一篇;有些流程会把两者叠在一起用。
- 口型为什么偶尔对不准?:链路是先读信号再落表情,音频含混、语速过快、侧脸角度都会让对齐打折扣,这是机制层面的难点。
- 只给一张照片也能驱动吗?:链路完全一样,但照片没有动态参考,神态幅度通常更保守;给一段既有视频做参考,动作的连续性会更好。


