论文链接:https://arxiv.org/abs/2502.10841
项目链接:https://skyworkai.github.io/skyreels-a1.github.io/
Demo链接:https://www.skyreels.ai/
开源地址:https://github.com/SkyworkAI/SkyReels-A1
https://github.com/SkyworkAI/SkyReels-V1
亮点直击
提出了SkyReels-A1,一种用于肖像动画的全新框架,采用DiT(扩散Transformer)架构,以提升运动传递精度、身份保留和时间一致性的保真度。该框架结合了基于表情标志点的动态条件模块,以及连接视觉-文本语义空间的跨模态对齐机制。
分阶段的训练方法被设计用于逐步优化运动-表情相关性以及主体特定特征的不变性。
通过一系列全面的实验评估了SkyReels-A1的性能,结果表明其能够生成高效的结果,并展现出对各种组合变化的无缝适应性。最后,为了支持进一步的研究和行业应用,代码和演示材料均已公开提供。
总结速览
解决的问题
-
身份失真:现有方法在动画生成过程中难以保持人物身份的稳定性,导致身份信息泄露或扭曲。
-
背景不稳定:动画生成时背景容易出现抖动或不一致的现象。
-
面部表情不真实:特别是在仅头部动画的场景中,面部表情缺乏真实感。
-
全身动画的挑战:当动画扩展到全身时,现有方法容易产生视觉伪影或不自然的动作。
-
身份与运动融合的困难:现有方法难以在保持身份一致性的同时,实现细腻的表情和动作生成。
提出的方案
-
基于视频扩散Transformer(DiT)的框架:利用DiT的强大生成能力,提升面部运动传递的精度、身份保留和时间一致性。
-
表情感知条件模块:通过表情引导的标志点输入驱动连续视频生成,增强表情与动作的关联性。
-
面部图像-文本对齐模块:深度融合面部特征与运动轨迹,强化身份一致性。
-
多阶段训练策略:逐步优化表情与运动的相关性,同时确保身份稳定再现。
-
统一潜在空间建模:在单一潜在空间中联合建模面部细节和全身动态,解决身份漂移和背景不一致问题。
应用的技术
-
视频扩散Transformer(DiT):利用其强大的生成能力和时间一致性建模能力。
-
表情感知标志点序列:作为条件输入,驱动细腻的表情生成。
-
图像-文本对齐技术:增强面部特征与运动轨迹的融合。
-
多阶段训练范式:分阶段优化姿势准确性、身份稳定性和运动真实性。
-
模块化设计:便于集成到实时视频编辑系统和个性化虚拟化身平台。
达到的效果
-
高质量动画生成:生成高保真、富有表现力的肖像动画,适应多样化的身体比例。
-
身份一致性:在动画过程中保持人物身份的完整性,避免身份失真。
-
自然的表情与动作:实现细腻的面部表情和自然的全身动作,提升动画的真实感。
-
广泛的适用性:适用于虚拟化身、远程通信、数字媒体生成等多种应用场景。
-
优于现有方法:在定量评估和用户研究中表现优异,特别是在处理复杂解剖结构和微表情方面。
-
模块化与易集成性:便于集成到下游应用中,如实时视频编辑和个性化虚拟化身平台。
方法
SkyReels-A1框架概述
给定输入视频序列和参考肖像图像,从视频中提取表情感知的面部标志点,这些标志点作为运动描述符,用于将表情传递到肖像上。本文的方法基于DiT(扩散Transformer)的条件视频生成框架,将这些表情感知的面部标志点直接集成到输入潜在空间中。与先前的研究一致,采用了在VAE(变分自编码器)架构中构建的姿态引导机制。该组件将表情感知的面部标志点编码为DiT框架的条件输入,从而使模型能够捕捉关键的低维视觉属性,同时保持面部特征的语义完整性。
表情感知关键点
本文为肖像动画引入了一种类似的基于面部关键点的运动条件输入。精准的面部表情运动表征是实现富有表现力的肖像动画的基础,它能够捕捉人类情感和微表情的细微变化,从而显著提升动画头像的真实感和情感共鸣。目前的扩散模型方法主要在训练过程中使用 2D 面部关键点 作为运动表征,但这类方法存在关键限制:
-
2D 关键点的推理依赖性 —— 由于推理阶段仍然依赖 2D 关键点,目标表情与参考肖像之间容易出现错位,导致 表情不匹配 和 身份泄漏伪影。
-
3D 关键点提取的精度不足 —— 现有方法使用 MediaPipe 等第三方工具从视频序列中提取 3D 关键点,但这些方法往往缺乏捕捉细粒度表情细节和复杂面部动态的精度,尤其是在 非正面视角 和 极端表情 情况下。
为了解决上述问题,本文提出了 3D Facial Expressions,一个集成神经渲染模块的框架,以提升重建面部表情的精度与真实感。不同于依赖可微分渲染(differentiable rendering)的传统方法,我们用 神经渲染机制 取代这一组件,使得模型能够更高效地学习,并具备更强的泛化能力,适应多样的面部表情。该架构能够提取 高精度 3D 关键点,以更高的保真度捕捉复杂的运动细节和面部动态。借助这一优化的运动表征,本文的方法显著增强了肖像动画的真实感,同时确保 更精准的表情匹配、身份一致性和多场景适应性。
3D 关键点引导模块
为了确保驱动信号与输入视频潜在表示(latent representations) 之间的时空一致性,我们提出 时空对齐关键点引导模块(Spatio-temporal Alignment Landmark Guide Module)。该模块的核心组件是 3D 因果编码器(3D causal encoder),通过精细调优,该编码器能够更有效地捕捉驱动信号的运动表征,确保运动信号与输入视频潜在特征之间的精准对齐。
该模块通过 3D 因果编码器 直接投影 驱动信号,使其与视频潜在特征共享同一个潜在空间。这种共享表征 弥合了运动信号与生成视频帧之间的鸿沟,确保时空动态的同步性。此外,进一步的 精细调优 强化了编码器对复杂运动模式的捕捉能力,从而提升运动迁移的真实性和细节还原度。
这一方法不仅确保 精准的运动对齐,还能在生成的视频中保持 身份一致性和运动稳定性,从而实现高质量、时序稳定的肖像动画。
面部图像-文本对齐
在现有的肖像动画方法中,在改变面部表情的同时保持身份一致性仍然是一个亟待深入研究的挑战。早期的方法主要通过 跨注意力机制(cross-attention) 和 身份保持适配器(identity-preserving adapters) 来增强身份一致性。然而,我们发现此类方法不仅 训练难度较大,还 引入了大量额外参数,增加了计算开销。
受CogVideoX架构的启发,我们在表情生成过程中,通过在输入阶段拼接面部图像和视频的嵌入(embeddings)来提升身份一致性。这种方法不仅能够增强身份保持能力,还可以无缝继承预训练基础模型的能力。
为此,本文引入了一个 轻量级的可学习映射模块,该模块采用 多层感知机(MLP)P,用于将面部特征映射到文本特征空间。
其中, 是由视觉编码器Evision提取的 身份嵌入(identity embedding),该编码器基于预训练的图像-文本模型。由于 能够捕捉精细的面部特征,而视觉特征(visual)则涵盖更广泛的面部信息,并且对光照、遮挡等外部因素的敏感度较低,因此融合这两类信息能够提升生成结果中面部特征的准确性。
实验
本节首先概述了实验的实施细节,包括数据来源、数据过滤过程、基线模型以及实验中使用的基准。然后展示了与选定基线模型的对比实验结果,以验证所提出模块的有效性。
实验设置
实施细节:基于先进的视频扩散Transformer模型CogVideoX-5B进行训练,使用收集的数据集与公开数据集的组合。在多阶段训练过程中,第一阶段训练2K步,第二阶段训练2K步,最后阶段训练1K步,批量大小为512。前两个阶段的学习率设置为1e-5,最后阶段降至1e-6,使用AdamW优化器。实验在32台NVIDIA A800 GPU上进行。在推理过程中,使用DDIM采样器,并将无分类器引导的尺度设置为3。实验中使用的静态参考图像由Flux生成,并来源于Pexels。
数据集来源:训练视频片段来源于NeRSemble数据集、HDTF、DFEW、RAVDESS、Panda70M以及从互联网上收集的约1W个角色视频片段。
数据过滤:在数据预处理阶段,实施了一系列细致的过滤步骤,以确保视频-文本数据集的质量和适用性。工作流程包括三个阶段:单角色提取、运动过滤和后处理。首先,选择单角色视频,并使用现有工具清理视频内容,解决相机捕捉伪影和背景噪声等问题。然后使用MediaPipe检测的面部关键点提取头部姿态信息和嘴部标志点。通过计算头部角度和嘴部变化,筛选出具有显著面部表情和头部运动的样本。最后,基于前几步检测到的面部位置,我们将视频裁剪或填充至固定分辨率480×720,以满足模型的输入要求。从每个视频中随机选择一帧,并使用clip编码器将面部编码为嵌入向量,为模型提供必要的面部特征信息。
基线模型:为了全面评估SkyReels-A1在不同场景下的性能,将其与多个肖像动画基线模型进行比较,包括开源解决方案LivePortrait、Follow-Your-Emoji以及闭源商业产品Runway Act One。
评估指标
为了衡量肖像动画结果的泛化质量和运动准确性,本文采用了三个指标分别评估身份相似性、图像质量以及表情和头部姿态的准确性。具体来说:
-
身份保留:使用FaceSim-Arc和FaceSim-Cur分数,计算源图像与生成图像之间的余弦相似度。
-
图像质量:使用预训练网络结合FID(Fréchet Inception Distance)进行评估。
-
运动准确性:通过比较驱动帧和生成帧之间提取的面部混合形状(blendshapes)和头部姿态的L1差异,使用FaceAnalysis3和OpenPose4工具进行评估。
与基线模型的比较
定量结果:本文进行了跨身份运动传递的实验,其中参考肖像从100张野外图像中随机选择,驱动序列则来自我们的测试数据集。下表1展示了定量评估结果。本文提出的模型在生成保真度和运动精度方面均优于基于扩散和非扩散的方法。通过引入视频扩散Transformer作为先验,SkyReels-A1在图像质量上取得了显著提升,超越了现有方法(闭源商业模型Act-One除外)。
定性结果:下图4展示了肖像动画的定性比较,补充了自动化评估指标的结果。前两个示例突出了模型在驱动或源肖像存在显著姿态变化时仍能准确传递运动的鲁棒性。第三和第四个案例中,模型有效地捕捉并传递了细腻的面部表情(如嘴唇运动和眼神),同时保持了原始肖像的视觉一致性。此外,最后一个案例表明,通过集成拼接技术,模型在动画全身图像时表现出更高的稳定性,即使参考肖像的面部区域较小。
用户研究
为了进一步验证SkyReels-A1模型在运动准确性和表现力方面的优越性,进行了用户研究,招募了来自不同地理区域的20名参与者对合成视频进行评估。每位参与者回答了一系列比较问题,评估两个关键方面:运动准确性和人类相似性。评估过程中明确告知模型名称,参与者被要求选择最能准确复制驱动序列表情和运动的视频。在收集的100份反馈中,63%的参与者更倾向于选择SkyReels-A1,证实了其在保留面部表情和姿态保真度方面的增强能力优于现有基线模型。
使用
clone代码&准备环境:
git clone https://github.com/SkyworkAI/SkyReels-A1.git
cd SkyReels-A1# create env using conda
conda create -n skyreels-a1 python=3.10
conda activate skyreels-a1
下载依赖:
pip install -r requirements.txt
下载预训练weights
# !pip install -U "huggingface_hub[cli]"
huggingface-cli download SkyReels-A1 --local-dir local_path --exclude "*.git*" "README.md" "docs"
推理
执行脚本
python inference.py
如果脚本运行成功,可以得到一个输出 mp4 文件。该文件包含以下结果:视频、输入图像或视频以及生成的结果。
结论
本研究提出了 SkyReels-A1,一种基于视频扩散Transformer的创新肖像动画框架。通过融合运动与身份表征,本文的方法在细微和夸张的面部表情生成方面均实现了高保真度。通过广泛的自动评估和用户评测,我们验证了模型在不同定制场景下的鲁棒性和适应性。我们期待这些具有前景的结果能够推动肖像动画应用的发展。
参考文献
[1] SkyReels-A1: Expressive Portrait Animation in Video Diffusion Transformers