社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

CVPR 2025|复旦&微软开源StableAnimator: 首个端到端ID一致性人类视频生成,Github Star破千

机器之心 • 1 月前 • 68 次点击  


第一作者、第二作者分别为复旦大学研究生涂树源、邢桢,通讯作者为复旦大学吴祖煊副教授。


近年来,扩散模型在图像与视频合成领域展现出强大能力,为图像动画技术的发展带来了新的契机。特别是在人物图像动画方面,该技术能够基于一系列预设姿态驱动参考图像,使其动态化,从而生成高度可控的人体动画视频。此类技术在多个应用场景中展现出巨大潜力,包括:(1)影视行业:为动画制作提供高效解决方案,使虚拟角色的动画生成更加精细与便捷。(2)游戏行业:赋予游戏角色和虚拟人物自然流畅的动作表现,增强交互体验,使虚拟世界更加真实。(3)自媒体内容创作:助力短视频创作者与数字艺术家拓展创意边界,实现高度定制化的动态形象设计。


人像动画生成的关键在于:基于参考图像和输入的动作序列合成动态视频,同时确保人物身份特征(尤其是面部信息)的一致性。然而,现有方法在处理复杂动作变化时仍然面临诸多挑战:(1)身份一致性受损,面部区域在剧烈动作下易产生形变和失真,难以保持稳定的个体特征。(2)视频质量下降,当前最先进的人像动画生成模型(如 MimicMotion 和 ControlneXt)依赖外部换脸工具(FaceFusion)进行后处理,这种方式虽能改善局部细节,但往往降低整体视频的视觉质量。(3)空间与时间建模的矛盾,即便已有众多专注于身份一致性的图像生成模型,直接将其嵌入视频扩散模型却常导致建模冲突。其根本原因在于,视频扩散模型引入时间建模层后,原本稳定的空间特征分布被扰动,而基于图像 的 ID 保护方法通常依赖于静态的空间特征分布,这种失衡导致身份保持能力下降,并在 ID 还原与视频流时序畅度之间产生难以调和的矛盾。


为了解决上述问题,我们提出了 StableAnimator 框架,以实现高质量和高保真的 ID 一致性人类视频生成,目前代码已开源,包括推理代码和训练代码。



  • 论文地址:https://arxiv.org/abs/2411.17697

  • 项目主页:https://francis-rings.github.io/StableAnimator/

  • 项目代码:https://github.com/Francis-Rings/StableAnimator

  • 项目 Demo: https://www.bilibili.com/video/BV1X5zyYUEuD



方法简介


如图所示,StableAnimator 在 Stable Video Diffusion (SVD) 这一常用骨干模型的基础上进行构建,以高效处理用户输入的参考图像,生成符合输入姿态序列的视频。其关键流程包括三条并行的特征提取与融合路径:(1)参考图像首先通过冻结的 VAE 编码器转换为潜变量特征,这些特征被复制以匹配视频帧数,并与主要潜变量拼接,以确保时序一致性。(2)图像同时经过 CLIP 图像编码器,提取全局外观嵌入,这些嵌入分别输入至去噪 U-Net 的每个交叉注意力层以及 StableAnimator 专门设计的面部编码器,以增强生成图像的外观一致性。(3)此外,图像还经过 ArcFace 进行面部特征提取,生成的面部嵌入进一步由 StableAnimator 的面部编码器优化,以提升面部对齐度和身份一致性,优化后的嵌入最终输入至去噪 U-Net 以指导生成过程。同时,PoseNet 结构(类似于 AnimateAnyone)负责提取输入姿态序列的运动特征,并将其添加至噪声潜变量特征中,以确保生成视频的姿态精准匹配输入序列。


在推理阶段,StableAnimator 采用去噪生成策略,将原始输入视频帧替换为随机噪声,同时保持其他输入信息不变,以确保生成过程的灵活性和泛化能力。其核心创新在于引入了一种基于 Hamilton-Jacobi-Bellman(HJB)方程的面部优化方法,以提升身份一致性并彻底摆脱对外部换脸工具的依赖。具体而言,该方法将 HJB 方程的求解过程嵌入到去噪步骤中,通过计算 HJB 方程的最优解,引导 U-Net 在潜变量特征的分布调整上朝向更高的身份一致性方向收敛。这样一来,去噪过程不仅仅是对随机噪声的纯粹去除,更是一个动态优化过程,使生成的视频在保持高质量的同时,实现面部特征的精准保留,从而在身份一致性与视频保真度之间达到更优的平衡。


StableAnimator 的核心技术点包括以下三个方面:


(1)全局内容感知面部编码器(Global Content-aware Face Encoder):该编码器创新性地将面部特征与全局图像布局深度融合,利用多层交叉注意力机制,使面部嵌入特征精准对齐参考图像的整体上下文。通过这种方式,它有效过滤掉与身份无关的背景噪声,确保面部建模更加稳定,从而提高面部特征的一致性和清晰度。


(2)分布感知的身份适配器(Distribution-aware ID Adapter):针对扩散模型中时序层对空间特征分布的干扰问题,该适配器引入了一种分布对齐策略。具体而言,它通过计算面部特征和全局图像特征的均值与方差,确保二者在整个去噪过程中保持一致性,避免特征偏移和失真。该适配器的设计使得面部特征能够无缝适配时序建模层,同时维持视频整体的空间一致性和视觉质量。


(3)基于 Hamilton-Jacobi-Bellman (HJB) 方程的面部优化:此优化过程仅在推理阶段激活,并不会影响 U-Net 的参数更新。StableAnimator 通过在扩散推理过程中引入 HJB 方程优化,使面部特征的调整遵循最优路径选择原则。HJB 优化过程与去噪步骤并行进行,使优化后的变量对去噪路径施加约束,从而促使模型在生成过程中保留更高的身份一致性,同时显著减少面部区域的细节损失,确保视频的高质量输出。


生成结果示例






请点击访问项目主页(https://francis-rings.github.io/StableAnimator/)获取以上示例的高清原视频。


实验对比分析


1. 与 SOTA 方法的定性对比实验



现有方法在处理面部和身体变形以及服装变化方面存在明显局限。例如,Disco、MagicAnimate、AnimateAnyone 和 Champ 在姿态转换过程中容易导致面部特征扭曲或服装结构丢失,而 Unianimate 在动作匹配方面表现良好,能够精准调整参考图像的姿态,但仍难以保证身份一致性。同时,MimicMotion 和 ControlNeXt 在保留服装细节方面具有优势,但在身份特征一致性上仍然存在缺陷。相比之下,StableAnimator 通过精确建模姿势序列驱动图像动画化,在动态生成过程中不仅保持了参考图像的身份特征完整性,而且确保了生成结果的细节准确性和生动性,充分展现了在身份一致性和高质量动画生成方面的显著优势。


2. 与 SOTA 方法的定量对比实验



StableAnimator 在 TikTok 数据集和 Unseen100 数据集上与当前最先进(SOTA)的人像图像动画模型进行了定量对比。其中,Unseen100 数据集从主流视频网站额外收集的 100 个视频组成,相较于 TikTok 数据集,Unseen100 具有更复杂的动作信息和更精细的主体外观,尤其是包含位置变化和面部表情动态变化(如摇头动作),使得保持身份一致性更具挑战性。为了确保公平性,所有模型均在 StableAnimator 的训练集上进行训练后,再在 Unseen100 上进行评估。对比实验结果表明,StableAnimator 在面部质量(CSIM)和视频保真度(FVD)方面均超越所有对比模型,同时保持了较高的单帧质量。特别是,相较于当前最优的 Unianimate,StableAnimator 在 TikTok 和 Unseen100 数据集上的 CSIM 分别提升了 36.9% 和 45.8%,而这一显著的身份一致性提升并未以牺牲视频保真度和单帧质量为代价,充分验证了其在高质量人像动画生成中的卓越性能。


3. 与 SOTA 方法在长视频生成的对比实验








© THE END 

转载请联系本公众号获得授权

投稿或寻求报道:liyazhou@jiqizhixin.com



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/180173
 
68 次点击