项目简介
酷,字节、USC、斯坦福等开源的一个动态人体图像动画模型:X-Dyna,基于单张人像图片和驱动视频,生成动态人物形象动画,动作一致性程度很高
X-Dyna是零样本扩散模型,将单张人像图片动画化,不仅动画人物,还包括周围的环境
它还包含了一个局部面部控制模块,用于面部表情控制,使表情表达更准确
可以用于人物动画生成、表情迁移、动作迁移、场景动画制作等
我们引入了 X-Dyna,这是一种新颖的零样本、基于扩散的流水线,用于使用来自驾驶视频的面部表情和身体动作来动画化单个人类图像,它为主体和周围环境生成逼真、情境感知的动态效果。在以人类姿态控制为中心的先前方法的基础上,X-Dyna 解决了动态细节丢失背后的关键因素,增强了人类视频动画的真实感。我们方法的核心是动态适配器,这是一个轻量级的模块,它有效地将参考外观情境整合到扩散骨干的空间注意力中,同时保持运动模块在合成流畅和复杂的动态细节方面的能力。除了身体姿态控制之外,我们还连接了一个局部控制模块到我们的模型中,以捕捉身份分离的面部表情,从而促进动画场景中表情传递的准确性,增强真实感。这些组件共同构成了一个统一的框架,能够从人类和场景视频的多样化混合中学习物理人类运动和自然场景动态。全面的质量和数量评估表明,X-Dyna 优于最先进的方法,创造出高度逼真和富有表现力的动画。
架构
我们利用预训练的扩散 UNet 骨干网络进行可控的人脸动画,实现丰富的动态细节和精确的运动控制。具体来说,我们引入了一种动态适配器,将参考图像上下文无缝集成到空间注意力中作为可训练的残差,与去噪过程并行,同时在 UNet 内部保留原始的空间和时间注意力机制。除了通过 ControlNet 进行身体姿态控制外,我们还引入了一个局部人脸控制模块,该模块从合成的跨身份人脸补丁中隐式学习面部表情控制。我们同时在一个人体运动视频和自然场景视频的多样化数据集上训练我们的模型。
动态适配器
人类视频动画架构设计
a) IP-适配器将参考图像编码为图像 CLIP 嵌入,并将信息作为残差注入 SD 中的交叉注意力层。b) ReferenceNet 是一个可训练的并行 UNet,通过自注意力特征的拼接将语义信息输入 SD。c) Dynamics-适配器使用部分共享权重的 UNet 对参考图像进行编码。外观控制通过在自注意力中学习一个可训练的查询和输出线性层的残差来实现。所有其他组件与 SD 共享相同的冻结权重。
📜 需求
🛠️ 依赖项和安装
克隆仓库:
git clone https://github.com/Boese0601/X-Dyna
cd X-Dyna
我们提供了一个
requirements.txt
文件来设置环境。
运行以下命令:在你的终端上
conda create -n xdyna python==3.10
conda activate xdyna
bash env_torch2_install.sh