Animate Anyone 2: High-Fidelity Character Image Animation with Environment Affordance论文阅读

应用:

视频换人。给参考图和视频,替换视频中的人物。

核心:将人与环境分离,使得人和环境更好的交互。

基础框架:diffusion model

方法

3.1 Framework(框架设计)

在这里插入图片描述

3.1.1 系统设置
  • 训练阶段:给定一个参考视频 I,其中 N 是帧数。将角色和环境分离,得到角色序列 I_c和环境序列 I_e。与角色交互的对象序列 I_o 和运动序列 I_m 作为驱动信号。
  • 输入与输出:模型的输入包括上述4个序列。模型的目标是重建参考视频 I。
  • 推理阶段:给定一个目标角色图像和一个驱动视频,模型能够生成与驱动视频一致的动作和环境关系的角色动画。
3.1.2 扩散模型
  • 基于LDM:Latent Diffusion Model (LDM)开发。使用预训练的VAE将图像从像素空间转换到潜在空间:z = E(x)。

  • 训练目标:在训练过程中,随机高斯噪声 被逐步添加到不同时间步的图像潜在变量 z_t 中。训练目标是最小化以下损失函数:
    在这里插入图片描述
    在这里插入图片描述

  • 推理过程:在推理过程中,噪声潜在变量通过迭代去噪并经过VAE解码器重建为图像

3.1.3 条件生成
  • 角色特征提取:使用ReferenceNet架构提取角色图像 (I_c) 的外观特征。这些特征通过空间注意力机制合并到DenoisingNet解码器的中间块和上采样块中。
  • 条件嵌入:从源视频中提取三种条件嵌入:
    • 环境序列 I_e:通过VAE编码器编码嵌入,并与噪声潜在变量合并。
    • 运动序列 I_m:通过姿态调制策略,处理pose运动信息,并将其合并到噪声潜在变量中。
    • 对象序列 I_o:通过VAE编码器编码后,使用对象引导器提取多尺度特征,并通过空间混合机制注入到DenoisingNet中。

3.2 Environment Formulation(环境表示)

3.2.1 动机
  • 环境定义:将环境定义为排除角色的区域。在训练过程中,模型需要生成角色以填充这些区域,同时与环境上下文保持一致。
  • 边界关系:角色与环境之间的边界关系至关重要。适当的边界引导可以帮助模型更有效地学习角色与环境的整合,同时保持角色形状的一致性和环境信息的完整性。
3.2.2 形状不可知掩码

在这里插入图片描述

  • 掩码策略:为了打破掩码区域与角色轮廓之间的对应关系,提出了一种形状不可知掩码策略。具体方法是将角色掩码 划分为 h, w个非重叠块,然后生成一个粗略的mask。比bbox 精细,比mask粗。

  • 随机尺度增强:由于重新定义的掩码通常比原始掩码大,这可能会限制生成的角色必须小于给定的掩码。为了缓解这一偏差,对源视频进行随机尺度增强。具体方法是提取角色和交互对象,并根据其掩码进行随机缩放操作,然后将缩放后的内容重新组合回源视频。在推理阶段,模型能够灵活地动画化角色,而不受掩码大小的限制。

3.3 Object Injection(对象注入)

3.3.1 对象引导器

在这里插入图片描述

  • 对象特征提取
    环境的mask损失了交互对象的精细度,所以专门提取object进行增强。可以通过以下方法提取坐标:
    1. 利用视觉语言模型(VLM)获取坐标bbox。
    2. 人工手动标注进行确认。
      然后使用SAM2提取对象掩码,并通过VAE编码器编码为对象潜在变量。
      对象引导器采用轻量级全卷积架构。对象潜在变量通过3×3的Conv2D下采样四次,获得多尺度特征。这些特征的通道维度与DenoisingNet的中间块和上采样块对齐,便于后续的特征融合。
3.3.2 空间混合

在这里插入图片描述

  • 混合过程:对于噪声潜在变量 和对象潜在变量将它们的特征连接起来,并通过一个Conv2D-Sigmoid层计算alpha权重。空间混合过程可以表示为:
    在这里插入图片描述

    其中,F表示Conv2D-Sigmoid层,z_blend表示空间混合后的新的噪声潜在变量。只在DenoisingNet upsacle的每个阶段,使用空间混合。

3.4 Pose Modulation(姿态调制)

在这里插入图片描述

3.4.2 深度姿态调制
  • 深度信息处理:使用Sapien从源视频中提取骨骼和深度信息。
  • 特征融合:首先将骨架图像二值化以获得骨架掩码,然后提取掩码区域内的深度结果。接着,使用与姿态引导器相同架构的Conv2D处理骨架图和结构化深度图。通过交叉注意力机制将结构化深度信息合并到骨架特征中。最后使用Conv3D建模时间运动信息,增强帧间连接,并减少错误信号对单帧的影响。

训练细节:

  • 100,000个角色视频的数据集
  • 8个NVIDIA A100 GPU上进行,训练了100k步,每批8个样本,视频长度为16帧
  • 参考图会中心裁剪,并随机添加背景。(推理不需要对参考图再做分割了)
  • 长视频会先剪为多个clips,再用Emo中的motion frame technique技术进行拼接

结果

可视化

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

定量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
比较可惜的是没有开源代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yang_daxia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值