Paper Deep Reading · CVPR 2024

Animate Anyone

给一张角色参考图和一段人体姿态序列,生成既服从动作、又尽量保留衣纹与身份细节的视频。论文最关键的工程判断是:语义级 CLIP 条件不够,必须在 Stable Diffusion 的同一特征空间中逐层注入参考图细节。

Li Hu et al.CVPR 2024 · 8153–8163arXiv:2311.17117v3主文 11 页 · Supplement 2 页 + 视频Alibaba Group核查:2026-09-27
01 · Research thesis

它解决的不是“让图动起来”,而是三种约束同时成立

已有姿态迁移或通用 image-to-video 方法分别容易丢服装细节、动作不准、跨帧闪烁。Animate Anyone 将角色外观、逐帧姿态和时间连续性拆成三个模块,再用两阶段训练避免“每帧清晰”与“整段平滑”互相吞噬。

5K
内部互联网角色视频片段;未公开构成与许可细节
24
第二阶段每个训练 clip 的帧数
20
推理时 DDIM 去噪步数

Research gap

CLIP 图像编码器在 \(224\times224\) 输入上偏向高层语义,不能稳妥搬运纹理、Logo、服饰结构;ControlNet 假设条件与目标空间对齐,而参考图和新姿态并不像边缘图与目标图那样像素对齐。

核心假设

若 ReferenceNet 与去噪 UNet 同构、都由 Stable Diffusion 初始化,二者特征天然处于相近空间;让目标帧 token 在空间注意力中读取参考特征,可比外部语义 embedding 保留更多细节。

Paper verified论文在 UBC Fashion、TikTok、Ted-talk 三个基准上分别训练,不引入 5K 内部数据,全部四项指标给出对比;UBC 上还系统消融图像条件、ReferenceNet 结构、时序层和两阶段训练。
Author claim“arbitrary characters”来自 5K 内部数据训练后的多类角色定性结果,并不是覆盖任意角色分布的统计保证。
Our interpretation这是一个强系统整合工作:ReferenceNet 的新意主要在“同构扩散特征 + 逐层注意力读取”,而姿态卷积编码器、时序注意力、DDIM 与 clip 融合均建立在既有组件上。
02 · Problem formulation

输入、输出与变量

输入

参考图 \(I_{\mathrm{ref}}\) 描述角色外观;驱动姿态序列 \(P_{1:F}\) 由 DWPose 提取身体与手部关键点,再按 OpenPose 骨架绘成对齐图像。生成从高斯潜变量噪声 \(z_T\) 开始。

输出

VAE 解码后的角色视频 \(\hat V_{1:F}\)。每帧要贴合 \(P_f\),同时保持 \(I_{\mathrm{ref}}\) 的身份、服装、纹理和背景信息,并使相邻帧连续。

固定组件

Stable Diffusion 的 VAE encoder / decoder 与 CLIP image encoder 在第一阶段均固定。论文未报告它采用具体哪个 Stable Diffusion checkpoint,也未报告参数量。

可训练组件

阶段一训练 denoising UNet、ReferenceNet 与 Pose Guider;阶段二插入由 AnimateDiff 初始化的 temporal layers,只训练这些时序层,其余全部冻结。

\[ z=E(I),\qquad I_{\mathrm{recon}}=D(z) \]
VAE 将像素图像压到 latent;扩散与去噪均发生在 latent 空间,最终由 \(D\) 回到像素。
\[ \mathcal{L}_{\mathrm{noise}}=\mathbb{E}_{z_0,\epsilon,c,t}\!\left[\left\lVert \epsilon-\epsilon_{\theta}(z_t,c,t)\right\rVert_2^2\right] \]
正文唯一明确的训练目标:在条件 \(c\) 和时间步 \(t\) 下预测加入的高斯噪声。本文把 \(c\) 扩展为参考图语义、参考细节与姿态;没有另列 identity、perceptual 或 temporal consistency loss。
03 · Architecture

一条去噪主干,三路条件

Animate Anyone Figure 2 方法总览
Figure 2(论文原图 / 官方项目页):参考图一路进 ReferenceNet 提供细节,一路进 CLIP image encoder 提供语义;姿态序列经 Pose Guider 加到多帧噪声;去噪块依次执行 Spatial、Cross 与 Temporal Attention。原图已内嵌到本文件;其信息也在下文完整文字化。
1 · Reference\(I_{\mathrm{ref}}\) 经 VAE 编码;ReferenceNet 只需计算一次。
2 · Pose\(P_{1:F}\) 经 4 层卷积降采样,加到噪声 latent。
3 · Spatial目标帧特征与复制后的参考特征沿宽度拼接做注意力。
4 · CrossCLIP 图像 embedding 作为高层语义条件。
5 · Temporal沿帧维做 self-attention,以残差回写主干。
6 · Decode迭代 DDIM 去噪 20 步,VAE decoder 输出视频。

ReferenceNet

结构与去噪 UNet 对称,但不含 temporal layer。二者都继承 SD 权重,之后独立更新。Supplement 进一步说明:ReferenceNet 的 Transformer 保留 self-attention 与 cross-attention;去噪 UNet 将 self-attention 换成 spatial-attention,并额外加入 temporal-attention。

Pose Guider

四个 \(4\times4\) 卷积,stride 均为 \(2\times2\),通道数依次 16、32、64、128;论文称输出与噪声 latent 同分辨率。四次 stride 2 名义上下采样率为 \(1/16\),而标准 SD VAE latent 通常为 \(1/8\);论文未说明额外插值、padding 或 projection 如何匹配,因此复现时不能直接假定尺寸天然相等。主体高斯初始化,末端 projection 用 zero convolution。

\[ X_{\mathrm{den}}\in\mathbb{R}^{F\times H\times W\times C},\qquad X_{\mathrm{ref}}\in\mathbb{R}^{H\times W\times C} \]
\(F\) 是帧数,\(H,W,C\) 是特征图高、宽、通道。ReferenceNet 只处理一张图,没有帧轴。
\[ \widetilde X_{\mathrm{ref}}=\operatorname{Repeat}_{F}(X_{\mathrm{ref}}),\qquad U=\operatorname{Concat}_{W}(X_{\mathrm{den}},\widetilde X_{\mathrm{ref}}) \] \[ Y=\operatorname{Slice}_{W}\!\left(\operatorname{SelfAttn}(U),1{:}W\right) \]
这是论文 prose 的显式化:沿宽度把目标与参考特征拼成 \(2W\),做 self-attention 后只取前一半作为目标输出。因此不是“仅拼 K/V”的精确定义;论文没有展开 Q/K/V 公式,不能据社区实现倒推。
\[ X\in\mathbb{R}^{B\times F\times H\times W\times C} \rightarrow X'=\operatorname{Reshape}(X)\in\mathbb{R}^{(BHW)\times F\times C} \] \[ Y=X+\operatorname{Reshape}^{-1}_{B,F,H,W,C}\!\left(\operatorname{TemporalAttn}(X')\right) \]
每个空间位置独立沿时间轴注意。时序层位于每个 Res-Trans block 的 spatial-attention 与 cross-attention 之后,只存在于 denoising UNet。
04 · Training

两阶段训练:先把单帧做清楚,再只学时间

项目阶段一:单帧阶段二:视频
输入随机抽目标帧;参考图从同一 clip 随机选24 帧 video clip
训练模块Denoising UNet、ReferenceNet、Pose Guider仅 temporal layers
冻结VAE encoder/decoder、CLIP image encoder除 temporal layers 外全部
初始化两套 UNet 用 SD;Pose Guider 高斯,末层 zero convTemporal layers 用 AnimateDiff 预训练权重
分辨率\(768\times768\),resize + center crop正文未另报;按同一模型设置理解,未明确重述
步数 / batch30,000 steps / 6410,000 steps / 4
学习率\(10^{-5}\)\(10^{-5}\)

数据与姿态

通用模型使用从互联网收集的 5K character video clips。DWPose 提取身体和手,渲染为 OpenPose 风格骨架图。论文没有给出视频总时长、fps、分辨率分布、角色类别占比、筛选去重、许可、train/val split。

硬件

4 张 NVIDIA A100。论文未说明显存规格、optimizer、β 参数、weight decay、scheduler、warmup、gradient accumulation、precision、训练墙钟时间或随机种子。

基准公平性

UBC Fashion、TikTok、Ted-talk 实验各自只用对应训练集,不使用内部 5K 数据。这使 benchmark 数字可与专用方法比较,但无法证明 5K 通用模型在同一分布上的量化收益。

为什么分两段

阶段一让空间主干专注每帧外观与姿态;阶段二冻结空间能力,只训练时间模块。Tab. 6 支持这一选择:直接全网多帧训练会使图像质量指标下降。

复现边界:论文和 supplement 没有给出 SD 具体版本、CLIP checkpoint、噪声 schedule、optimizer、classifier-free guidance、推理 guidance scale、随机种子或完整数据处理代码。任何社区仓库中的这些值都只能视为复刻者选择。
05 · Inference

姿态重定向、20 步去噪与长视频拼接

单 clip

先将 source skeleton 各 limb bone 按参考角色对应骨长比例缩放;以肩中心重新计算关键点,再将整副骨架对齐到参考角色位置:全身以脚为参照,半身以肩中心为参照。使用 DDIM 采样 20 步。

限制条件

Supplement 明确说,这只是近似 retargeting,要求源姿态与目标角色是正面、四肢伸展的可比姿势;作者不能保证适用于任意参考图和源姿态。这是通用性主张的重要限定。

任意长度:4 + 20 帧 inter-clip fusion

每个 24 帧 clip 推理时,保存每一步去噪中最后 4 帧的中间结果。下一 clip 由这 4 帧和后续 20 帧组成;每个去噪步都用前一 clip 已保存的 4 帧覆盖当前前 4 帧。由此把 clip 串起来。作者同时承认复杂背景与角色外观下仍会在边界轻微抖动。

\[ \widetilde P_j=P_{\mathrm{anchor}}+s_j\bigl(P_j-P_{\mathrm{anchor}}\bigr),\qquad s_j\approx\frac{\ell^{\mathrm{ref}}_j}{\ell^{\mathrm{src}}_j} \]
对 supplement 姿态重定向的保守数学化:每根骨按参考/源长度比缩放,再锚点对齐;论文没有提供更精确的鲁棒优化目标。
Our interpretation长视频方案是去噪轨迹级重叠,而不是只对最终 RGB 交叉淡化;它能让下一 clip 的前 4 帧继承上一 clip 的 latent 演化,但 4 帧窗口与硬覆盖都是固定启发式,论文没有消融。
Animate Anyone Figure 3 diverse character qualitative results
Figure 3(论文原图):每组最左为参考图,后续为生成帧。图中覆盖全身真人、半身人像、动漫角色、猫与人形角色;它直观展示参考纹理与形状能跨动作保持,但属于精选定性样例,不能替代失败率统计。
06 · Experiments

三张主表:整体领先,但并非每个单项第一

SSIM / PSNR 越高越好,LPIPS / FVD 越低越好。前三者测帧级重建,FVD 评估视频分布与时序质量。数值来自 CVPR 版本 Tables 1–3。

Table 1 · UBC Fashion video synthesis

方法SSIM ↑PSNR ↑LPIPS ↓FVD ↓
MRAA0.749—0.212253.6
TPSMM0.746—0.213247.5
BDMM0.91824.070.048148.3
DreamPose0.885—0.068238.7
DreamPose*(无 sample finetuning)0.87934.750.111279.6
SD-I2V0.89436.010.095175.4
Ours0.93138.490.04481.6

对最强非本文行(BDMM)而言,FVD 从 148.3 降至 81.6,约下降 45%;但 DreamPose 的完整版本包含逐样本微调,部署成本与本文不同。论文用其开源代码另跑 DreamPose* 展示无微调情形。

Table 2 · TikTok human dance generation

方法SSIM ↑PSNR ↑LPIPS ↓FVD ↓
FOMM0.64829.010.335405.2
MRAA0.67229.390.296284.8
TPSMM0.67329.180.299306.1
DisCo0.66829.030.292292.8
SD-I2V0.67029.110.295225.5
Ours0.71829.560.285171.9

本文只用 TikTok 训练,而 DisCo 另有人体属性预训练;即便如此 FVD 仍由 292.8 降至 171.9。优势最强在视频分布指标,帧级 PSNR 的绝对差异小得多。

Table 3 · Ted-talk talking gesture

方法SSIM ↑PSNR ↑LPIPS ↓FVD ↓
MRAA0.82633.860.16082.8
TPSMM0.83033.810.15780.7
DisCo0.75431.250.193223.5
SD-I2V0.77332.110.179158.3
Ours0.83233.910.15980.5

本文并非所有单项都最佳:TPSMM 的 LPIPS 0.157 略优于 0.159。MRAA / TPSMM 使用 GT 图像作 driving signal(视频重建),而本文只用 pose;因此该任务的对比条件对本文更难,但方法间条件并非完全同质。

结果应如何读:三组实验都支持“ReferenceNet + temporal modeling 在专用 benchmark 上有效”。它们没有直接比较 5K 通用模型、没有用户研究、没有报告吞吐/显存,也没有用同一训练预算重训所有 baseline。
07 · Ablation

消融给出了强信号,也留下了归因空缺

Table 4 · 图像条件建模(UBC)

设计SSIM ↑PSNR ↑LPIPS ↓FVD ↓
CLIP0.89736.090.089208.5
ControlNet0.89235.890.105213.9
CLIP + ControlNet0.89836.030.086205.4
ReferenceNet(Ours)0.93138.490.04481.6

CLIP 单独能保留相似语义,但细节搬运不足;ControlNet 的逐位置控制不适合非对齐参考图。ReferenceNet 相对最强替代方案把 FVD 205.4 降至 81.6。

Table 5 · ReferenceNet 设计

替代项SSIM ↑PSNR ↑LPIPS ↓FVD ↓
ResNet + ImageNet weights0.90136.210.084165.4
Feature concatenation0.90936.530.071132.8
SD-UNet + spatial attention0.93138.490.04481.6

该表同时改了 backbone/预训练和融合机制;它支持“同域 SD 特征”和“spatial attention”各自有用,却没有完整 \(2\times2\) 因子实验,因此无法量化二者独立贡献与交互。

Table 6 · Temporal modeling

设置SSIM ↑PSNR ↑LPIPS ↓FVD ↓
w/o Temporal Layer0.92538.280.049176.7
w/o Two Stage Training0.91738.010.05689.3
Ours0.93138.490.04481.6

去 temporal layer 时帧级指标只轻微下降,但 FVD 从 81.6 恶化到 176.7,说明时序层的主要收益确实位于视频连续性。取消两阶段训练时 FVD 只到 89.3,帧级质量却全面变差;这与作者“多帧联合训练弱化单帧细节”的解释一致,但仍属于机制解释而非直接因果测量。

08 · Paper vs. implementation

官方没有发布本论文模型代码

官方仓库事实

HumanAIGC/AnimateAnyone
main: docs/ · LICENSE · README.md
12 commits · no releases · no packages
无训练脚本、推理脚本、config、checkpoint

截至 2026-09-27,官方仓库只托管项目页与引用信息。README 现在引导读者查看团队后续开源的 Wan-Animate;这不等于 Animate Anyone v1 代码已开源。

社区复刻

MooreThreads/Moore-AnimateAnyone、MusePose、ComfyUI 节点等属于第三方复刻或受启发项目。它们可帮助理解一种可运行实现,但其中 SD 版本、attention processor、训练配置、CFG、窗口策略和 checkpoint 均不能作为原论文事实。

可从论文复现

模块拓扑、Pose Guider 四层卷积、两阶段训练、步数/batch/lr、24 帧、DDIM 20 steps、4+20 clip fusion、数据集与指标。

仍不可确定

SD/CLIP 精确 checkpoint、UNet channel 规格是否原样沿用、optimizer、scheduler、噪声 schedule、guidance scale、采样随机性、5K 数据明细与训练时长。

Paper verifiedSupplement Figure 1 给出 encoder A–D、middle、decoder D–A 的块类型:A–C 主要为 Res-Trans,D 为 Res;ReferenceNet 与 denoising UNet 逐层对应。
Research extension更强的复现研究应将“论文约束”与“实现选择”拆开记录,系统扫 SD checkpoint、CFG、窗口重叠与 ReferenceNet 读写方式,并报告对身份一致性和跨 clip 边界的敏感性。
09 · Reviewer commentary

贡献扎实,复现透明度与评估覆盖是主要短板

Strengths

  • 问题拆解清楚:外观、姿态、时序各有专门接口。
  • ReferenceNet 与去噪 UNet 同域初始化,设计与“非对齐细节条件”高度匹配。
  • 三套 benchmark 和三组模块消融,FVD 上的变化与设计目的对应。
  • Supplement 坦率披露姿态重定向和长视频拼接的局限。

Weaknesses

  • 5K 内部数据不可审计,且通用模型没有统一量化 benchmark。
  • 官方模型代码和 checkpoint 未发布,很多关键超参数缺失。
  • 对照训练预算、参数量、推理速度、显存与用户研究均未报告。
  • “arbitrary characters”主要由精选定性样例支撑;手部、背面新生内容和复杂背景是已知失败点。

Claim audit

“细节一致性更好”由 UBC LPIPS / FVD 与消融支持;“时间更稳定”由去时序层的 FVD 大幅恶化支持;“通用到任意角色”证据有限;“ReferenceNet 开销不大”只有结构性论证,没有端到端测速。

Potential improvements

使用 dense pose / 3D body surface 减少姿态歧义;显式建模不可见区域与服装拓扑;训练跨 clip memory 或长程状态替代固定 4 帧覆盖;加入身份、手部、背景和 boundary-jitter 指标,并建立带授权的数据与 checkpoint。

Research extension把 reference features 视作可检索的多尺度 memory:空间注意力只在姿态可见性与语义匹配区域读取;对遮挡区域使用不确定性门控和多假设生成,再由时序一致性或 3D prior 选择。这样能直接攻击单视图未见面生成这个根本病因。
Research extension在 test time 用轻量 search 调整骨架比例、CFG、reference-attention 强度与 overlap 长度,目标函数联合 pose adherence、identity embedding、LPIPS 与 clip-boundary temporal error;但必须把这种后续设想和原论文的固定推理严格分开。
10 · Sources

一手资料与核查范围

  1. Hu et al., arXiv:2311.17117v3,11 页,2024-06-13;本页方法、训练与数值主来源。
  2. CVPR 2024 Open Access,正式发表信息:pp. 8153–8163,Supplement ZIP 含 2 页 PDF 与演示视频。
  3. 官方项目页,方法图、视频结果与推理加速展示。
  4. 官方 GitHub,截至核查日只有 docs、LICENSE 与 README,无本论文实现。
  5. Moore-AnimateAnyone,社区复刻,仅用于说明生态,不作为论文超参数证据。
版本说明:作者版本差异:CVF 正式会议书目与 BibTeX 仅列 Li Hu,而本页所读 arXiv v3 首页列 Li Hu、Xin Gao、Peng Zhang、Ke Sun、Bang Zhang、Liefeng Bo 六人。本页与 Obsidian 的作者列表依所读 v3 保留;这项书目差异尚未获得作者解释,不能混称两个版本的作者记录完全一致。Liefeng Bo 的候选身份仅按 v3 末位作者推定,未经通讯标记证实。原 arXiv 初版为 2023;本文采用 v3 与 CVPR 2024 正式版本,因此年份写 2024、venue 写 CVPR 2024。论文 PDF 未显式标注通讯作者,Obsidian 仍按既有规则把末位作者 Liefeng Bo 记为 unverified candidate。