DreamActor-M1: Holistic, Expressive and Robust Human Image Animation with Hybrid Guidance
指出当前image-base human animation任务在整体的可控性和多尺度适应性方面的不足, 并提出了自己的解决方案.

介绍
任务前景, 先前的工作, 1) 控制不够精细, 微妙的眨眼, 嘴唇的颤抖, 2) 头像/半身/全身存在多scale, 3) 长时间一致性
介绍了以前的工作, 指出一些方法专注面部的animation, 一些方法专注全身骨架, 缺乏精细的面部控制.
后面介绍自己的方法, 放在method章节再看.
相关工作介绍了Face Animation和Body Animation.
方法

Preliminaries
基模型是MMDiT, 3DVAE, 遵循OmniHuman-1提出的姿态条件训练方案. Flow Matching作为训练对象.
没有使用主流的ReferenceNet, 从VAE提取和, patchify, concatenate后feed into DiT, 通过3D自注意力层和spatial cross attn交互. 连接的token , 先沿着维度做自注意力, 然后, 我们将它拆分为和 并将它们重新调整形状为和以便在第二个维度上执行 cross-attention.
Hybrid Motion Guidance
Implicit Facial Representations. 核心是实现了面部表情, 身份和头部动作的解耦. 前置是一个面部检测模块, 裁剪人物面部, resize到224x224. 一个预训练的face motion encoder 和一个MLP层编码面部motion to token . 这个现成的face motion encoder已经能够提取与身份相关的表达特征, 使它可以专注于学习面部表达的细微差别. 同时他们提到这里可以用sppech audio代替视频驱动信号.
3D Head Spheres. 这个双控制策略确保脸部表情和头部动作的解耦, 使用现成的面部跟踪方法, 从驱动视频提取相机参数和旋转角, 随后去渲染一个有颜色的球体表示头部信息, 这种方法特别有利于保持角色独特的头部结构.
3D Body Skeletons. 这里的pose知道和训练流程和animate anyone是一样的, 直接看图. 只是pose skeleton的提取方式不同, 介绍了3D身体骨骼和骨骼长度调整, 先使用SMPL-X模型评估身体和手部的参数, 然后将body joint映射到2D空间, 用线连接起来, 构成skeleton. 然后在推理阶段, 为了解决不同个体间的骨骼比例差异, 采用归一化的方法调整骨骼长度.
Complementary Appearance Guidance

看上图挺清楚的, 在训练阶段, 输入视频中, 它计算每帧的z轴旋转角, 选取角度最大, 最小, 中等的三张图片, 再随机选一张裁剪半身图, 选则这样的四张图片作为参考图.
在推理阶段, 他们先用单图片生成一次, 然后使用训练阶段的选择策略选4张图片, 再重新生成一次.
Progressive Training Process
第一阶段只利用3D body skeleton和3D head spheres两个控制信号, 先让模型理解这个基础任务. 第二阶段只训练面部表达. 第三阶段参数全放开训练.(粗到细)
实验
这里我只关注训练成本, 8张H20, 一阶段20k步, 二阶段20k步, 三阶段30k步, 训练阶段视频长度从25到121随机, 分辨率960x640(维持长宽比3:2), 数据集按照一个切片10秒大小是20k.
局限是无法实现与物体的交互, 骨骼长度调整在边缘情况下不太稳定.
感受
核心思想是对human的脸部表情, 脸部移动, 整体动作解耦实现更精细的控制, 融合怪.