Hallo3
论文信息
- 标题:Hallo3: Highly Dynamic and Realistic Portrait Image Animation with Video Diffusion Transformer
- 作者:Jiahao Cui, Hui Li, Yun Zhan, Hanlin Shang, Kaihui Cheng, Yuqi Ma, Shan Mu, Hang Zhou, Jingdong Wang, Siyu Zhu
- 单位:复旦大学 Generative Vision Lab;百度
- 发表:CVPR 2025
- 开源:https://github.com/fudan-generative-vision/hallo3
肖像动画(portrait image animation)要做的事听起来很朴素:给一张肖像照片、一段语音,再加一句文字提示,生成一段与语音同步、表情自然、身份稳定的说话视频。#Cui-et-al.-2025-Hallo3 它同时坐落在计算机视觉和计算机图形学的交叉口,也直接对接影视制作、游戏、社媒内容、在线教育这些落地场景。#Cui-et-al.-2025-Hallo3
过去几年这个领域的技术栈换了好几轮。最早是显式中间表示路线:用面部关键点(landmark)定位嘴、眼、眉、鼻、下巴,或者引入 3DMM(3D Morphable Model)这样的统计形状模型来参数化人脸。#Cui-et-al.-2025-Hallo3 这类方法可控性好,但表情和头姿的还原精度被中间表示卡死——3DMM 能表达的表情本身就有限。随后 GAN 与扩散模型把画质拉了上来:LivePortrait 用 GAN 做隐式关键点的拼接与重定向,VASA-1、EMO、以及本实验室的 Hallo / Hallo2 则用扩散模型做端到端生成。#Cui-et-al.-2025-Hallo3
但这些方法有一个共同的“舒适区假设”:参考图是正面、居中的一张脸,背景是静态的,表情幅度不大。一旦离开这个舒适区——侧脸、仰拍、手里拿着麦克风、身后有奔跑的鸵鸟、面前有跳动的篝火——它们就集体失灵。#Cui-et-al.-2025-Hallo3 Hallo3 的出发点,就是想把 talking head 从“证件照说话”推到“真实世界里说话”。
为什么“换 backbone”这件事值得单独写一篇 CVPR?因为 backbone 一换,旧时代的技术手段全部作废。U-Net 时代靠 ReferenceNet 做身份保持、靠专门的 audio-visual cross-attention 做音频驱动、靠帧间 warp 或时序模块做长视频,这些方法都是围绕 U-Net 的空间特征图设计的。#Cui-et-al.-2025-Hallo3 到了 DiT 里,视频被 3D VAE 压成一串 token,没有了空间特征图这种载体,身份、音频、外插三件事都得推倒重来——这正是本文三大创新的由来。
我们先把“旧方法为什么不行”讲清楚,再看 DiT 引入了什么新问题。论文把现有方法的局限归成三条。#Cui-et-al.-2025-Hallo3
第一,视角受限。大量方法强调注视、唇同步、头姿,却默认参考图是正面居中的。一旦是侧脸、俯视或仰视,这些方法要么把脸“扳正”,要么直接崩坏。第二,忽略肖像周围的物体。人手里拿着手机、麦克风,或者穿戴贴身饰物时,旧方法只会动嘴,物体要么僵住要么鬼畜。第三,假设静态背景。前景的篝火、背景的人群、身后奔跑的动物——这些动态元素在旧框架里根本无从生成。#Cui-et-al.-2025-Hallo3
一个自然的想法是:既然 DiT 视频生成模型(CogVideoX、Movie Gen 等)已经在海量视频上学到了“世界怎么动”的先验,能生成真实、动态、主体泛化的视频,#Cui-et-al.-2025-Hallo3 那为什么不直接把它当 talking head 的底座?这样动态前后景、复杂视角这些能力“免费”就有了。
但麻烦随之而来。DiT 视频模型有一个硬约束:单次生成只能覆盖几十帧(Hallo3 的配置是 49 帧)。#Cui-et-al.-2025-Hallo3 而且它原生并不知道“要保持某个人的脸”,也不知道“嘴要跟着这段语音动”。于是本文要在不破坏预训练先验的前提下,往里塞三样东西:
| DiT 带来的新问题 | U-Net 时代的旧解法 | Hallo3 的新设计 |
|---|---|---|
| 视频变长后身份快速退化 | ReferenceNet(空间特征图注入) | Identity Reference Network(3D VAE + 42 层 transformer,token 级注入) |
| 音频如何驱动嘴部 | 分层 audio-visual cross-attention | wav2vec 多层拼接 + audio cross-attention 层 |
| 单次只能生成 49 帧 | 时序模块 / 帧间 warp | Temporal Motion Frames(末 n 帧作条件外插) |
我们先看整体 pipeline,再逐个拆三个注入模块。理解这张图是理解全文的关键。
3.1 Backbone:CogVideoX 的 DiT 骨架
Hallo3 的底座是 CogVideoX:它用一个 3D VAE 把视频压缩成 latent,latent 变量被拼接、reshape 成序列 \(\mathbf{z}_t\);文本用 T5 编码成 \(\mathbf{c}_{\text{text}}\)。#Cui-et-al.-2025-Hallo3 视频 latent 与文本 embedding 一起送进 expert transformer,用 expert adaptive layer normalization 对齐文本与视频两个特征空间,再用 3D RoPE(旋转位置编码)建立帧间的长程依赖。#Yang-et-al.-2024-CogVideoX
在这个骨架上,Hallo3 除了原有的文本条件 \(\mathbf{c}_{\text{text}}\),又引入两个新条件:语音条件 \(\mathbf{c}_{\text{audio}}\) 和身份外观条件 \(\mathbf{c}_{\text{id}}\)。#Cui-et-al.-2025-Hallo3 DiT 论文里给了四种条件注入方式:in-context、cross-attention、adaLN、adaLN-zero。#Peebles-Xie-2022-DiT Hallo3 主要在 cross-attention 和 adaLN 之间做选择。cross-attention 把条件 embedding 当 key/value、latent 当 query,能让模型“聚焦”到条件信息上;而 adaLN 在简单条件下够用,但面对语音这种富含时序语义的序列条件就力不从心——这个判断后面被消融坐实了。#Cui-et-al.-2025-Hallo3
3.2 音频驱动:为什么 cross-attention 完胜 adaLN
Motivation. 语音信号里同时藏着音素(决定嘴形)和韵律(影响表情节奏)。要把它变成能驱动脸的条件,先得抽出一个层次丰富的表示。Mechanism. Hallo3 用 wav2vec 提特征,并且把最后 12 层的 embedding 全部拼接起来,让不同层级的语音语义都保留下来。#Schneider-et-al.-2019-wav2vec 再用三层连续线性变换把它转成逐帧表示:
音频逐帧表示
其中 \(\mathbf{c}_{\text{audio}}\) 是 wav2vec 拼接后的音频 embedding,\(\mathcal{L}_1,\mathcal{L}_2,\mathcal{L}_3\) 是三个线性变换层,\(\mathbf{c}_{\text{audio}}^{(f)}\) 是最终逐帧的音频驱动特征。
拿到逐帧音频特征后,Hallo3 在 denoising network 的每个 face-attention 层之后插入一个 audio attention 层,用 cross-attention 让 latent 与音频特征交互。具体地,音频的 motion patch 作 key/value,与隐状态 \(\mathbf{z}_t\) 做 cross-attention:
音频 Cross-Attention 注入
\(\mathbf{z}_t\) 作为 query(视觉隐状态),\(\mathbf{c}_{\text{audio}}^{(f)}\) 作为 key/value(音频条件)。这种“局部聚焦”让嘴唇区域能精准跟随音素。
3.3 身份保持:Identity Reference Network
Motivation. DiT 视频模型有个通病:视频越长,脸越“漂”。只靠音频 embedding 能建立音-面对应,却拦不住长时生成中身份特征的快速退化。#Cui-et-al.-2025-Hallo3 Intuition. Hallo3 的思路是:与其临时“提醒”模型这个人长什么样,不如造一个和 denoising network 结构完全对称的参考网络,让它把参考图的外观特征逐层“喂”给去噪网络。
Mechanism. 把参考图 \(\mathbf{I}_{\text{ref}}\) 当成单帧,送进 causal 3D VAE 得到身份 latent:
身份 latent 提取
\(\mathcal{E}_{3D}\) 是 causal 3D VAE 的编码器,\(\mathbf{z}_{\text{id}}\) 是参考图对应的身份 latent。
这个 latent 经过一个由 42 层 transformer 组成的 reference network。在每一层,Hallo3 从 3D full attention 的输入里抽出 vision token 作为参考特征 \(\mathbf{z}_{\text{id}}\),注入到 denoising network 对应层,与去噪 latent 一起做 self-attention:
身份特征注入
\(\mathbf{z}_t\) 是时间步 \(t\) 的去噪 latent,\(\mathbf{z}_{\text{id}}\) 是同层参考特征。二者拼在一起做 self-attention,让去噪网络“看着参考图去噪”。
这里有一个特别关键的设计:reference network 和 denoising network 共享同一个 causal 3D VAE(权重完全相同)、层数也完全一致(都是 42 层)。#Cui-et-al.-2025-Hallo3 因为两条网络的特征在语义和尺度上天然对齐,注入时既能带入参考图的外观,又几乎不扰动去噪网络原有的特征表示。这也是为什么后面消融里“identity reference network”路线(FID 28.789)远好于“face attention”路线(FID 57.541,反而引入模糊失真)——后者用一个外部 face encoder 塞特征,特征空间对不齐,破坏了全局视觉上下文。#Cui-et-al.-2025-Hallo3
论文最终采用的是“Face attention + Identity reference network”的组合:用 face encoder(InsightFace)抽的面部 embedding 走 cross-attention 让面部运动更可控,用 3D VAE reference network 保全局外观,两者互补。#Cui-et-al.-2025-Hallo3
3.4 长视频外插:Temporal Motion Frames
DiT 单次只能出 49 帧,要生成长视频就得“接龙”。Hallo3 的做法是把前一段视频的最后 \(n\) 帧当作 motion frames,作为下一段生成的条件。#Cui-et-al.-2025-Hallo3 具体地:设目标视频长 \(L\)、对应 latent 有 \(l\) 帧,motion frames 记为 \(N\)。motion frames 先过 3D VAE 得到 \(n\) 帧 latent,对后续 \((l-n)\) 帧做 zero padding,再与 \(l\) 帧高斯噪声拼接,patchify 成 vision token 输入去噪网络。#Cui-et-al.-2025-Hallo3 通过反复利用 motion frames 做锚点,长视频就能保持时序一致。
这套三注入 + 外插的机制,可以用下面这张流程图串起来:
graph LR
A[参考图 I_ref] --> B[Causal 3D VAE]
B --> C[Identity Reference Network
42 层 transformer]
T[文本 prompt] --> T5[T5] --> D
AU[驱动音频] --> W[Wav2Vec 末12层拼接] --> M[3 层 MLP] --> CA[c_audio_f]
MF[前段末 n 帧 motion frames] --> B2[3D VAE] --> Z
N[高斯噪声 x l 帧] --> Z[z_vision 拼接]
Z --> D[Denoising Network
3D Full Attn + Cross Attn + Audio Attn]
C -. 逐层 z_id 注入 self-attn .-> D
CA -. 逐层 cross-attn .-> D
D --> DEC[3D VAE Decoder] --> V[输出视频 x F 帧]
4.1 两阶段训练
Hallo3 的训练分成两个阶段,核心是冻结大部分参数、只训练当前阶段需要的模块,以免破坏 CogVideoX 的预训练先验。#Cui-et-al.-2025-Hallo3
阶段一 · 身份一致性(Identity Consistency Phase)。冻结 3D VAE 与 face image encoder;更新 reference network 和 denoising network 里的 3D full attention block,以及 denoising network 的 face attention block。输入是从训练视频随机采样的一张参考图、一句文本提示、一个面部 embedding——文本由 MiniCPM 生成(描述人物外观、动作、环境背景),面部 embedding 由 InsightFace 提取。输出 49 帧视频。#Cui-et-al.-2025-Hallo3
阶段二 · 音频驱动(Audio-Driven Phase)。在 denoising network 的每个 transformer block 里插入 audio attention module,冻结其他所有组件,只更新 audio attention。输入换成参考图 + 音频 embedding + 文本提示,输出 49 帧音频驱动视频。#Cui-et-al.-2025-Hallo3 这种“先学身份、再学音频”的解耦,让音频模块不至于把已经学好的身份/外观搞乱。
两个阶段都用 v-prediction 扩散损失 优化。#Salimans-Ho-2022 网络用 CogVideoX-5B-I2V 的权重初始化。#Yang-et-al.-2024-CogVideoX
| 配置项 | 披露状态 | 值 / 说明 |
|---|---|---|
| 训练数据 | 已披露 | 约 134h(HDTF 6h + YouTube 72h + movie 56h),源自 8h+1200h+2346h 原始素材 |
| 训练硬件 | 已披露 | 64× NVIDIA H100 |
| 优化器 | 未披露 | 原文只给学习率,未给优化器类型 / β |
| 学习率 | 已披露 | 1×10⁻⁵(未给 schedule / warmup) |
| Batch size | 已披露 | per-GPU = 1(全局 64) |
| 训练步数 | 已披露 | 每阶段 20,000 steps,共两阶段 |
| 训练时长 | 未披露 | 原文未给出小时数 |
| 模型参数量 | 部分披露 | 基于 CogVideoX-5B(约 5B backbone)+ 42 层 reference network;总参数量未精确给出 |
| 精度格式 | 未披露 | 原文未给出 |
| Checkpoint 策略 | 未披露 | 原文未给出 |
| 初始化来源 | 已披露 | CogVideoX-5B-I2V 权重 |
| Stage 1 优化范围 | 已披露 | reference&denoising 的 3D full attention + denoising 的 face attention |
| Stage 2 优化范围 | 已披露 | 仅 audio attention modules(其余全冻结) |
| 条件 drop | 已披露 | 参考图 / 音频 / 文本各以概率 0.05 drop(CFG 训练) |
4.2 数据 curation:从 3554 小时噪声里洗出 134 小时
训练数据来自三个来源:HDTF(8 小时原始素材)、YouTube(1,200 小时公开视频)、以及一个大规模电影数据集(2,346 小时)。#Cui-et-al.-2025-Hallo3 但 YouTube 和电影里噪声极多,于是论文设计了一条三阶段 curation 流水线。
第一步 · 单说话人提取:用 SceneDetect 做镜头切分(时长过滤到 5–20 秒)并以 H.264、25 FPS 重编码,用 UVR(Ultimate Vocal Remover)去掉背景音乐和环境音,再用 pyannote 做说话人分离,保证每段只含一个说话人。#Cui-et-al.-2025-Hallo3 第二步 · 面部与相机运动过滤:用 InsightFace 算面部位移(17 帧窗口内位移超过人脸框 50% 就丢)、算面部旋转(平均水平 yaw 超过 40° 就丢);用 CoTracker 检测并剔除动态相机的片段;用 SyncNet 算音画同步分,低于 5.0 的丢弃。#Cui-et-al.-2025-Hallo3 第三步 · 后处理:用 ffmpeg 按面部位置裁到 3:2,用 Wav2Vec2 编码音频、InsightFace 编码随机一帧的人脸得到 embedding。#Cui-et-al.-2025-Hallo3
经过这套流水线,3,554 小时原始素材最终只保留约 134 小时高质量数据(HDTF 6h + YouTube 72h + movie 56h)。#Cui-et-al.-2025-Hallo3 值得注意的是,论文特意保留了大幅头动和动态场景的数据——这也解释了后面为什么它在静态 benchmark 上的唇同步反而“吃亏”。
推理时,模型接收四样输入:一张参考图、一段驱动音频、一句文本提示、以及 motion frames。#Cui-et-al.-2025-Hallo3 它从随机高斯噪声出发,经过 DiT 的迭代去噪,最后由 3D VAE 解码器还原成视频。生成的视频既要与音频唇同步,又要保持身份一致。
5.1 长视频“接龙”式外插
由于单次只能出 49 帧,长视频靠 motion frames 一段接一段地生成:推理时用前一段视频的最后 2 帧作为 motion frames(\(n=2\)),作为下一段的锚点条件。#Cui-et-al.-2025-Hallo3 这样每一段都“记得”上一段结尾的样子,拼起来时序连贯。为什么是 2 帧而不是 1 帧或 8 帧?这是消融选出来的折中——1 帧唇同步最好,但 2 帧画质(FID/FVD)最好,推理更看重画质稳定,所以取 2(见 Part 6 motion frame 消融)。
这不是一个“实时”方法
需要提醒的是,Hallo3 是一个 5B 参数的 DiT + 42 层 reference network 的离线生成方案,采用完整多步扩散采样、按 49 帧一段接龙。论文正文没有披露任何推理硬件、推理速度、显存占用或首帧延迟,因此不能与本系列里 VASA-1、Ditto 那类实时/流式方案直接比“能不能实时”。它换来的是画质、动态度和场景泛化,代价大概率是推理开销。
5.2 三路 CFG:一个旋钮控制一种属性
推理里最有工程价值的一点,是 Hallo3 把 classifier-free guidance(CFG)拆成音频、文本、参考图三路,各自一个 scale。论文的消融显示这三个旋钮几乎正交:#Cui-et-al.-2025-Hallo3
| CFG 旋钮 | 主要控制 | 调大的效果 |
|---|---|---|
| \(\lambda_a\)(音频) | 唇同步 | Sync-C 从 6.154 升到 6.469 |
| \(\lambda_t\)(文本) | 动态程度 | 主体/背景动态度随之增大 |
| \(\lambda_i\)(参考图) | 主体外观一致性 | Subject Consistency 从 0.9810 升到 0.9835 |
论文推荐的平衡配置是 \(\lambda_a=3.5,\ \lambda_t=3.5,\ \lambda_i=1.0\)。#Cui-et-al.-2025-Hallo3 想要更活泼的背景就调大 \(\lambda_t\),想要更严格的对口型就调大 \(\lambda_a\),想让脸更贴参考图就调大 \(\lambda_i\)——这种可解释的解耦控制,对实际调用非常友好。
此外,Hallo3 还保留了 CogVideoX 的文本可控性:用相同 prompt 与 baseline CogVideoX 对比,它依然能按文字驱动主体交互(如兔子、马、鸟)以及前景/背景动画(海浪、烛光),并且在引入音频条件之后这种可控性仍然维持。#Cui-et-al.-2025-Hallo3 这说明三路条件之间没有互相“打架”。
6.1 实验配置
| 配置项 | 披露状态 | 值 / 说明 |
|---|---|---|
| 评测数据集 | 已披露 | HDTF、Celeb-V、自建 wild dataset(34 例) |
| 评测指标 | 已披露 | FID↓ / FVD↓ / Sync-C↑ / Sync-D↓ / E-FID↓ + V-bench 动态度(RAFT) / 主体一致性(DINO) |
| Baseline 方法 | 已披露 | SadTalker、DreamTalk、AniPortrait、Hallo(/Hallo2) |
| 推理硬件 | 未披露 | 原文未给出推理 GPU / 显存 / RTF / 首帧延迟 |
| 推理分辨率 | 已披露 | 480×720(同训练) |
| 推理环境 | 未披露 | 原文未给框架 / CUDA 版本 |
talking head 不能只看 FID
评价数字人必须多维度看:画质与分布距离(FID/FVD/E-FID)、音画同步(Sync-C/Sync-D)、身份一致性(Subject Consistency,DINO)、动作/动态自然度(V-bench dynamic degree,RAFT)。Hallo3 的贡献恰恰在于额外引入了主体/背景动态度这个维度——单看 FID 会完全错过它“能生成动态场景”这个核心卖点。
6.2 HDTF 与 Celeb-V:画质领先,唇同步略逊
| HDTF | FID↓ | FVD↓ | Sync-C↑ | Sync-D↓ |
|---|---|---|---|---|
| SadTalker | 22.340 | 203.860 | 7.885 | 7.545 |
| DreamTalk | 78.147 | 790.660 | 6.376 | 8.364 |
| AniPortrait | 26.561 | 234.666 | 4.015 | 10.548 |
| Hallo | 20.545 | 173.497 | 7.750 | 7.659 |
| Hallo3 (Ours) | 20.359 | 160.838 | 7.252 | 8.106 |
| Real video | – | – | 8.700 | 6.597 |
| Celeb-V | FID↓ | FVD↓ | Sync-C↑ | Sync-D↓ | E-FID↓ |
|---|---|---|---|---|---|
| SadTalker | 50.015 | 471.163 | 6.922 | 7.921 | 95.194 |
| DreamTalk | 109.011 | 988.539 | 5.709 | 8.743 | 153.450 |
| AniPortrait | 46.915 | 477.179 | 2.853 | 11.709 | 88.986 |
| Hallo | 44.578 | 377.117 | 7.191 | 7.984 | 78.495 |
| Hallo3 (Ours) | 43.271 | 355.272 | 6.527 | 9.113 | 71.210 |
| Real video | – | – | 7.372 | 7.518 | – |
在两个标准 benchmark 上,Hallo3 拿下了 FID、FVD(以及 Celeb-V 的 E-FID)的最优,说明画质与分布相似度全面领先。#Cui-et-al.-2025-Hallo3 但唇同步(Sync-C/Sync-D)略逊于 SadTalker、Hallo。论文给出的解释很诚实:为了能生成不同视角的动态肖像,它的训练数据以大幅头动、身体运动和多样动态场景为主,而非“静态小运动”,这会牺牲一点唇同步,却更贴近真实应用。#Cui-et-al.-2025-Hallo3
6.3 Wild 数据集:动态度断层领先
真正体现 Hallo3 价值的是自建的 wild dataset——34 个代表性案例,涵盖不同脸比、头姿、静态/动态场景、复杂头饰服装。#Cui-et-al.-2025-Hallo3
| Wild | Sync-C↑ | Sync-D↓ | 主体动态↑ | 背景动态↑ | 主体FVD↓ | 背景FVD↓ |
|---|---|---|---|---|---|---|
| SadTalker | 3.845 | 10.378 | 2.953 | 0.220 | 470.377 | 313.758 |
| DreamTalk | 4.498 | 11.005 | 6.958 | 1.806 | 835.480 | 744.177 |
| AniPortrait | 1.685 | 12.025 | 3.351 | 1.769 | 473.173 | 302.716 |
| Hallo | 4.654 | 10.202 | 5.268 | 1.272 | 394.627 | 291.052 |
| Hallo3 (Ours) | 6.154 | 8.574 | 13.286 | 4.481 | 359.493 | 248.283 |
6.4 消融实验:三个模块各自的贡献
音频注入方式(消融一)。这是最戏剧性的一组对比:adaLN / adaLN-zero / self-attention 的 Sync-C 都在 1.3~1.4 徘徊,唯独 cross-attention 把 Sync-C 拉到 4.601,FID/FVD 也同时最优。#Cui-et-al.-2025-Hallo3
| 音频注入方式 | FID↓ | FVD↓ | Sync-C↑ | Sync-D↓ |
|---|---|---|---|---|
| AdaLN | 24.159 | 264.331 | 1.374 | 13.524 |
| AdaLN-zero | 24.029 | 276.403 | 1.398 | 13.553 |
| Self Attn. | 24.748 | 270.101 | 1.345 | 13.456 |
| Cross Attn. (Ours) | 23.458 | 242.602 | 4.601 | 10.416 |
身份注入方式(消融二)。没有身份条件时模型保不住外观(FID 32.304);只用 face attention 反而更糟(FID 57.541,引入模糊失真);face adaptive norm 直接崩溃(FID 150.720、FVD 1587.395);identity reference network 明显改善(FID 28.789);而 face attention + reference network 的组合最优(FID 23.458、主体一致性 0.988)。#Cui-et-al.-2025-Hallo3
| 身份注入方式 | FID↓ | FVD↓ | Sync-C↑ | Sync-D↓ | 主体一致性↑ |
|---|---|---|---|---|---|
| (a) 无身份条件 | 32.304 | 371.820 | 3.183 | 11.732 | 0.977 |
| (b) Face attention | 57.541 | 740.536 | 4.042 | 10.682 | 0.974 |
| (c) Face adaptive norm | 150.720 | 1587.395 | 3.822 | 12.324 | 0.904 |
| (d) Identity reference net | 28.789 | 291.863 | 4.553 | 10.317 | 0.984 |
| (e) Face attn + Ref net (Ours) | 23.458 | 242.602 | 4.601 | 10.416 | 0.988 |
Motion frame 数量(消融三)。\(n=1\) 唇同步最好(Sync-C 6.889、Sync-D 8.695),\(n=2\) 画质最好(FID 23.458、FVD 242.602),\(n=8\) 明显退化(FID 27.303)。#Cui-et-al.-2025-Hallo3 推理最终取 \(n=2\) 平衡画质与稳定。
| Motion frame 数 | FID↓ | FVD↓ | Sync-C↑ | Sync-D↓ |
|---|---|---|---|---|
| n = 1 | 24.040 | 242.708 | 6.889 | 8.695 |
| n = 2 | 23.458 | 242.602 | 4.601 | 10.416 |
| n = 4 | 24.459 | 269.904 | 5.109 | 10.489 |
| n = 8 | 27.303 | 265.396 | 5.114 | 10.464 |
放到整个 talking head 地图上看,Hallo3 是一次范式迁移:从“为 talking head 专门设计的 U-Net + 中间表示”,转向“复用通用视频生成大模型 + 轻量条件注入”。#Cui-et-al.-2025-Hallo3 它证明了一件事——只要把身份、音频、长视频三件事以最小扰动的方式注入 DiT,就能把视频大模型的动态、泛化红利直接导给数字人,从而解决旧方法多年攻不下的非正面视角与动态场景。
和本系列其他工作对照:Hallo 用 U-Net 分层音视觉对齐,长于静态正面唇同步;VASA-1、Ditto 主打实时/流式,胜在延迟;而 Hallo3 用画质、动态度、场景泛化去换掉了实时性——它更像是“影视级离线生成”路线的代表。选型时,要实时互动选前者,要高动态、复杂场景的高质量成片选 Hallo3。
局限与开放问题
论文自己承认:动态环境下复杂表情的真实性仍需打磨,尤其在光照变化下。#Cui-et-al.-2025-Hallo3 未来方向包括更强的多视角鲁棒性、更全面的数据集,以及引入实时反馈机制。从复现角度看还有两个坑:一是推理成本完全没披露(5B DiT + 42 层 reference network + 多步采样,实时性存疑);二是唇同步在静态 benchmark 上并非最优,若你的场景就是正面静态播报,Hallo/SadTalker 可能更划算。此外论文也专门讨论了 deepfake 滥用风险,强调需要伦理准则与知情同意。#Cui-et-al.-2025-Hallo3
可操作的启发:(1)当你手上有一个强预训练视频扩散模型时,做下游可控生成的正确姿势是“结构对称的 reference network + token 级注入”,而不是外挂一个 encoder 硬塞特征——特征空间对齐比特征本身更重要;(2)序列型条件(语音)优先用 cross-attention 而非 adaLN,因为它需要的是空间局部对齐;(3)长视频外插用少量 motion frame 做锚点,帧数是画质与同步之间的可调折中;(4)把 CFG 拆成多路,能得到可解释、近乎正交的属性旋钮,非常适合产品化调参。
总的来说,Hallo3 给数字人领域打了个样:不必事事从头训。视频生成大模型的能力正在快速进化,谁能用最轻的方式把这些能力“接”到自己的任务上,谁就能站在浪潮之巅。
参考来源
- Cui, J., Li, H., Zhan, Y., Shang, H., Cheng, K., Ma, Y., Mu, S., Zhou, H., Wang, J., & Zhu, S. (2025). Hallo3: Highly Dynamic and Realistic Portrait Image Animation with Video Diffusion Transformer. CVPR 2025. arXiv:2412.00733 · GitHub
- Yang, Z. et al. (2024). CogVideoX: Text-to-Video Diffusion Models with An Expert Transformer. arXiv:2408.06072
- Peebles, W., & Xie, S. (2022). Scalable Diffusion Models with Transformers (DiT). ICCV 2023. arXiv:2212.09748
- Salimans, T., & Ho, J. (2022). Progressive Distillation for Fast Sampling of Diffusion Models(v-prediction). ICLR 2022. arXiv:2202.00512
- Schneider, S. et al. (2019). wav2vec: Unsupervised Pre-training for Speech Recognition. arXiv:1904.05862
- Xu, M. et al. (2024). Hallo: Hierarchical Audio-Driven Visual Synthesis for Portrait Image Animation. arXiv:2406.08801 · 精读 →