Anderson 视角
人工智能驱动视频取得显著进步

注意: 该项目页面包含 33 个自动播放的高分辨率视频,总大小约为半个千兆字节,这使我的系统在加载时变得不稳定。因此,我不会直接链接到它。读者可以在论文的摘要或 PDF 中找到 URL,如果他们愿意的话。
当前视频合成研究的一个主要目标是从单张图像生成完整的 AI 驱动视频性能。本周,Bytedance Intelligent Creation 发表了一篇新论文,概述了迄今为止可能最全面的这种系统,能够产生全身和半身动画,将富有表现力的面部细节与准确的大规模运动相结合,同时实现了改进的身份一致性——这是一个甚至领先的商业系统经常缺乏的领域。
在下面的示例中,我们看到一个由演员驱动(左上)并从单张图像(右上)派生的性能,提供了一个非常灵活和灵巧的渲染,且没有通常的 问题 关于创建大运动或“猜测”关于被遮挡的区域(即必须推断或发明的服装和面部角度,因为它们在单个源照片中不可见):
音频内容。点击播放。一个性能由两个来源生成,包括唇部同步,这通常是专用辅助系统的保留。这是从源站点减少的版本(见文章开始的注意 – 适用于此处的所有其他嵌入式视频)。
虽然我们可以看到一些关于身份持续性的残余挑战,因为每个片段都在进行,但这是我见过的第一个系统,它通常(尽管并不总是)在不使用 LoRAs 的情况下维持 ID 一段时间:
音频内容。点击播放。来自 DreamActor 项目的进一步示例。
新系统,称为 DreamActor,使用一个三部分的混合控制系统,专门关注面部表情、头部旋转和核心骨骼设计,从而实现 AI 驱动的性能,其中面部和身体方面不会相互牺牲——这是类似系统中罕见的、可以说是未知的能力。
下面我们看到其中一个方面,头部旋转,正在运行。右上角每个缩略图中的彩色球表示一种虚拟吊臂,定义了头部方向独立于面部运动和表情,这里由演员驱动(左下)。
点击播放。这里可视化的多彩球代表了头部的旋转轴,而表情是由单独的模块驱动并由演员的性能(在这里左下看到)提供信息的。
该项目最有趣的功能之一,它甚至没有在论文的测试中得到充分的体现,是其直接从音频中推导出唇部同步运动的能力——这是一个即使没有驱动视频也能非常有效的功能。
研究人员已经超越了这一领域的最佳现有系统,包括备受赞誉的 Runway Act-One 和 LivePortrait,并报告说 DreamActor 能够实现更好的量化结果。
由于研究人员可以设置自己的标准,量化结果并不是绝对的标准;但是,随附的定性测试似乎支持作者的结论。
不幸的是,该系统不打算公开发布,社区唯一可能从该工作中获得的价值是可能复制论文中概述的方法(正如 2022 年对同样闭源的 Google Dreambooth 所做的那样)。
该论文指出*:
‘人像动画可能具有社会风险,例如被滥用来制作假视频。所提出的技术可以用来制作假视频,但现有的检测工具 [Demamba、Dormant] 可以检测这些假视频。 ‘
‘为了减少这些风险,需要明确的道德规则和负责任的使用指南。我们将严格限制对核心模型和代码的访问,以防止滥用。 ‘
自然,商业利益的这种道德考虑是方便的,因为它为 API-only 访问模型提供了理由,这可以用来盈利。ByteDance 已经在 2025 年这样做过一次,将备受赞誉的 OmniHuman 以付费积分的形式在 Dreamina 网站上提供。因此,由于 DreamActor 可能是一个更强大的产品,这似乎是可能的结果。剩下的就是看它的原理,在论文中解释的程度,它如何帮助开源社区。
新论文 题为 DreamActor-M1:全面的、富有表现力的和强大的人像图像动画与混合引导,来自六位 Bytedance 研究人员。
方法
DreamActor 系统的目标是从参考图像和驱动视频生成人像动画,使用 扩散变换器 (DiT) 框架,适用于 潜在空间 (显然是某种风格的 Stable Diffusion,尽管论文只引用了 2022 年的里程碑式发布)。
与依赖外部模块来处理参考条件相比,作者将外观和运动特征直接合并到 DiT 主干中,允许通过注意力在空间和时间上进行交互:

DreamActor 的模式:DreamActor 将姿势、面部运动和外观编码为单独的潜在变量,将它们与 3D VAE 生成的噪声视频潜在变量相结合。这些信号在共享权重的分支中使用自注意力和交叉注意力在扩散变换器中融合。该模型通过比较去噪输出和干净的视频潜在变量来进行监督。 来源:https://arxiv.org/pdf/2504.01724
为此,该模型使用预训练的 3D 变分自编码器 来编码输入视频和参考图像。这些潜在变量被 分块、连接,并输入到 DiT 中,它们共同处理这些变量。
这种架构与常见的将二级网络附加到参考注入的做法有所不同,这是 Animate Anyone 和 Animate Anyone 2 项目的方法。
相反,DreamActor 将融合构建到主模型本身中,简化了设计,同时增强了外观和运动线索之间的信息流。然后使用 流匹配 来训练模型,而不是标准的扩散目标(流匹配通过直接预测数据和噪声之间的速度场来训练扩散模型,跳过 评分估计)。
混合运动引导
混合运动引导方法结合了从 3D 身体骨骼和头部球体中派生的姿势令牌;从预训练面部编码器中提取的隐式面部表示;以及从源图像中采样的参考外观令牌。
这些元素在扩散变换器中使用不同的注意力机制进行集成,允许系统在整个生成过程中协调全局运动、面部表情和视觉身份。
对于第一点,DreamActor 使用隐式面部表示来引导表情生成,而不是依赖面部标志,这似乎使得面部动态的控制更加精细,并将身份和头部姿势与表情分离。
为了创建这些表示,管道首先检测和裁剪驱动视频中每个帧的面部区域,将其调整为 224×224。裁剪的面部由预训练在 PD-FGC 数据集上的面部运动编码器处理,然后由 MLP 层进行条件处理。

PD-FGC,在 DreamActor 中使用,生成了一个从参考图像中具有解耦的唇部同步(来自音频)、头部姿势、眼部运动和表情(来自单独的视频)控制的说话头。允许对每个进行精确、独立的操作。 来源:https://arxiv.org/pdf/2211.14506
结果是面部运动令牌序列,这些令牌通过 交叉注意力 层注入到扩散变换器中。
同样的框架还支持一个 音频驱动 变体,其中单独训练一个编码器,该编码器直接将语音输入映射到面部运动令牌。这样就可以生成同步的面部动画,包括唇部运动——无需驱动视频。
音频内容。点击播放。纯粹从音频中推导出的唇部同步,且没有驱动演员参考。唯一的角色输入是右上角看到的静态照片。
第二,为了独立于面部表情控制头部姿势,该系统引入了 3D 头部球体表示(见文章中嵌入的视频),它将面部动态与全局头部运动分离,提高了动画过程中的精度和灵活性。
头部球体是通过使用 FaceVerse 跟踪方法从驱动视频中提取 3D 面部参数(例如旋转和相机姿势)来生成的。

FaceVerse 项目的模式。 来源:https://www.liuyebin.com/faceverse/faceverse.html
这些参数用于渲染投影到 2D 图像平面上的彩色球体,空间上与驱动头部对齐。球体的大小与参考头部相匹配,其颜色反映了头部的方向。这种抽象简化了学习 3D 头部运动的复杂性,有助于在从动画中提取的角色中保留风格化或夸张的头部形状。

控制球体影响头部方向的可视化。
最后,为了引导全身运动,该系统使用具有自适应骨骼长度归一化的 3D 身体骨骼。身体和手部参数使用 4DHumans 和专注于手部的 HaMeR 进行估计,两者都在 SMPL-X 身体模型上运行。

SMPL-X 将参数网格应用于图像中的整个人体,根据估计的姿势和表情对齐,使得可以使用网格作为体积引导来进行姿势感知操作。 来源:https://arxiv.org/pdf/1904.05866
从这些输出中,选择关键关节,将其投影到 2D 中,并连接成基于线的骨架图。与 Champ 等方法不同,后者渲染全身网格,该方法避免了强加预定义的形状先验,并且仅依赖于骨架结构,模型被鼓励直接从参考图像中推断身体形状和外观,减少了对固定身体类型的偏见,并提高了对各种姿势和体型的泛化能力。
在训练过程中,3D 身体骨骼与头部球体连接,并传递给姿势编码器,输出 特征,然后与噪声视频潜在变量相结合,生成扩散变换器使用的噪声令牌。
在推理时,系统通过归一化骨骼长度来考虑不同主体之间的骨架差异。预训练的 SeedEdit 图像编辑模型将参考图像和驱动图像转换为标准 规范配置。然后使用 RTMPose 来提取骨架比例,并使用这些比例来调整驱动骨架以匹配参考主体的解剖结构。

推理管道概述。可以生成伪参考来丰富外观线索,而混合控制信号——隐式面部运动和来自头部球体和身体骨架的显式姿势——从驱动视频中提取,然后输入到 DiT 模型中以生成动画输出,面部运动与身体姿势分离,允许使用音频作为驱动器。
外观引导
为了增强外观保真度,特别是在被遮挡或很少可见的区域,该系统通过从输入视频中采样的伪参考来补充主要参考图像。
点击播放。该系统预测需要准确、连贯地渲染被遮挡的区域。这是我在这种项目中看到的最接近 CGI 风格的位图纹理方法。
这些额外的帧使用 RTMPose 选择姿势多样性,并使用基于 CLIP 的相似性进行过滤,以确保它们与主体的身份保持一致。
所有参考帧(主要和伪)都由相同的视觉编码器编码,并通过自注意力机制融合,允许模型访问互补的外观线索。这种设置可以改善对细节的覆盖,例如侧面视图或肢体纹理。伪参考在训练过程中始终使用,并且可以在推理过程中选择使用。
训练
DreamActor 分三个阶段训练,以逐渐引入复杂性并提高稳定性。
在第一阶段,只使用 3D 身体骨骼和 3D 头部球体作为控制信号,排除了面部表示。这使得从 MMDiT 初始化的基础视频生成模型能够在没有细粒度控制的情况下适应人体动画。
在第二阶段,添加了隐式面部表示,但其他所有参数 冻结。仅面部运动编码器和面部注意力层在此阶段进行训练,允许模型在隔离中学习富有表现力的细节。
在最后阶段,所有参数都解冻,以便在外观、姿势和面部动态方面进行联合优化。
数据和测试
在测试阶段,模型从预训练的图像到视频 DiT 检查点初始化,并在三个阶段训练:每个阶段 20,000 步,最后一个阶段 30,000 步。
为了提高不同持续时间和分辨率的泛化能力,视频片段被随机采样,长度在 25 到 121 帧之间。然后将它们调整为 960x640px,同时保持宽高比。
训练在八个(面向中国的)NVIDIA H20 GPU 上进行,每个 GPU 具有 96GB 的 VRAM,使用 AdamW 优化器,学习率为 5e−6。
在推理时,每个视频段包含 73 帧。为了保持跨段的一致性,一个段的最终潜在变量被重用为下一个段的初始潜在变量,这将任务上下文化为序列图像到视频生成。
无分类器引导 应用于参考图像和运动控制信号,权重为 2.5。
作者构建了一个训练数据集(论文中没有提到来源),包含 500 小时的视频,来自多样化的领域,包括舞蹈、体育、电影和公共演讲。该数据集旨在捕捉人类运动和表情的广泛范围,并在全身和半身镜头之间保持均匀分布。
为了增强面部合成质量,Nersemble 被纳入数据准备过程中。

用于增强 DreamActor 数据的 Nersemble 示例。 来源:https://www.youtube.com/watch?v=a-OAWqBzldU
对于评估,研究人员使用他们的数据集作为基准来评估在各种场景中的泛化能力。
模型的性能使用来自以前工作的标准指标来衡量:Fréchet 生成距离 (FID);结构相似性指数 (SSIM);学习的感知图像补丁相似性 (LPIPS);以及 峰值信噪比 (PSNR) 用于帧级质量。 Fréchet 视频距离 (FVD) 用于评估时间一致性和整体视频保真度。
作者对身体动画和肖像动画任务进行了实验,所有任务都使用单个(目标)参考图像。
对于身体动画,DreamActor-M1 被比较了与 Animate Anyone;Champ;MimicMotion;和 DisPose。

与对手框架的量化比较。
虽然 PDF 提供了静态图像作为视觉比较,但项目站点上的一个视频可能更清楚地突出了差异:
音频内容。 点击播放。一个视觉比较,跨越挑战者框架。驱动视频位于左上角,作者得出结论,DreamActor 产生了最好的结果,这似乎是合理的。
对于肖像动画测试,模型被评估与 LivePortrait;X-Portrait;SkyReels-A1;和 Act-One。

肖像动画的量化比较。
作者指出,他们的方法在量化测试中胜出,并声称它在质量上也更好。
音频内容。点击播放。肖像动画比较的示例。
可以说,视频中显示的第三个也是最后一个片段的唇部同步相比对手框架中的几个来说不那么令人信服,尽管总体质量非常高。
结论
通过预测这些重现中暗示但实际上不存在的纹理,ByteDance 解决了扩散式视频生成面临的最大挑战之一——一致且持续的纹理。这种方法的下一个逻辑步骤将是在某种方式下创建一个参考图谱,从初始生成的剪辑中提取,然后应用于后续的不同生成,以保持外观而无需 LoRAs。
虽然这种方法仍然是外部参考,但这与传统的 CGI 技术中的纹理映射没有什么不同,而且所获得的现实感和可信度远远高于旧方法可以实现的水平。
话虽如此,DreamActor 最令人印象深刻的方面是其组合的三部分引导系统,以一种巧妙的方式弥合了传统的人体合成中面部关注和身体关注之间的鸿沟。
现在只剩下一个问题,那就是看这些核心原理是否可以在更易用的产品中得到利用;就目前而言,DreamActor 似乎注定要成为另一个合成即服务的产品,严重受到对模型的访问限制,并受到商业架构的实验不切实际性的限制。
* 我用超链接替换了作者的引用;内联引用
† 如前所述,尚不清楚这个项目中使用了哪种风格的 Stable Diffusion。
首次发布于 2025 年 4 月 4 日
