资源
论文:https://arxiv.org/pdf/2406.19680
github:https://github.com/Tencent/MimicMotion
comfyui:https://github.com/kijai/ComfyUI-MimicMotionWrapper
核心要点
1. confidence-aware pose guidance可以确保高质量视频和时间维度上的帧与帧之间的平滑
2. 区域损失,减少了图像失真
3. 渐进式潜在空间融合策略
数据准备
视频数据集包括大量人物动作,利用预先训练过的图像到图像的视频模型的强大能力,数据集不需要过大,因为预先训练的模型已经有很好的先验。
数据集中的每个视频由三部分组成:
1.参考图()
2.一组视频序列
3.序列相对应的动作
预处理部分
视频序列调整大小和裁剪为了获取固定比率的视频,参考图是在相同视频中随机选取的,参考图会以同样的方式做预处理,pose数据是通过DWPose库提取的。
亮点
利用了预训练的svd视频生成模型,可以大大减少训练数据集的大小和算力的要求。
网络结构
参考图片进入扩散模型会有两个分支,一是UNet的每个块。通过一个视觉编码器CLIP,可以将提取到的特征喂入每个UNet的交叉注意力用于控制最终输出。二是变为输入的潜在特征,使用冻结的VAE编码器获取潜在空间的表示。参考图片被重复编码多次,主要为了与输入序列帧对齐。并将两者堆叠送入UNet。
作者直接将帧序列中提取到Pose序列加到UNet的第一个卷积输出层,而没有加入到每个UNet块
有两个原因
a) 序列姿势逐帧提取,没有任何时间交互,因此当 U-Net 直接对这些层产生影响时,它可能会混淆 U-Net 中的时空层; b) 姿势序列的过度参与可能会降低预训练的图像到视频模型的性能。
关键点详解
Confidence-aware pose guidance
将姿势和关键点的置信度分数集成到它们各自的绘图颜色中。这意味着我们将分配给每个关键点和肢体的颜色乘以其置信度分数。因此,具有较高置信度分数的关键点和相应的肢体在姿势引导图上会显得更显著。该方法使模型能够在其指导中优先考虑更可靠的姿态信息,从而提高姿态引导生成的整体精度。
比较清晰的姿态,颜色会更深一些。
Hand region enhancement
此外,我们采用姿态估计和相关置信度分数来缓解基于区域的伪影,例如手部失真,这在基于扩散的图像和视频生成模型中很普遍。具体来说,我们通过阈值关键点置信度分数来识别可靠的区域。通过设置阈值,我们可以区分自信检测到的关键点和由于遮挡或运动模糊等因素可能模糊或不正确的关键点。置信度分数高于阈值的关键点被认为是可靠的。我们实现一种基于置信阈值生成掩码的屏蔽策略。我们揭开置信度分数超过预定义阈值的区域,从而识别可靠的区域。在计算视频扩散模型的损失时,未掩蔽区域对应的损失值按一定比例放大,因此与其他掩蔽区域相比,它们对模型训练的影响更大。
具体来说,为了减轻手部失真,我们使用手部区域中关键点的置信度阈值计算掩码。只有所有超过此阈值的关键点置信度分数的手被认为是可靠的,因为更高的分数与更高的视觉质量相关。然后,我们通过填充这些关键点的边界来构造手周围的边界框,并将封闭的矩形指定为未屏蔽的。在视频扩散模型训练期间,该区域随后在损失计算中被分配了更大的权重。这种选择性揭露和加权过程使模型对手的学习偏向,尤其是视觉质量较高的手,有效地减少了失真,提高了生成内容的整体真实感。
推理阶段
在推理阶段,一段长视频会采用重叠帧技术进行潜在空间渐进式融合,权重与重叠帧和非重叠帧的距离有关。
可视化权重表示图
实现细节
数据集有4436个人物跳舞视频,每个时长20s。采用了预训练的SVD1.1权重。PoseNet是从头开始训练的,我们在8卡A100(40G)上训练了20轮,每个设备上的batch_size为1。学习率是10-5并且针对前500个迭代步数有一个warmup的调整策略。我们调整了UNet和PoseNet的所有参数。
总结
**总结文章**:本文介绍了基于预训练视频生成模型(如SVD)的辅助姿态指导视频生成方法,旨在通过少量数据产生高质量、动作平滑的视频内容。主要创新点和关键技术如下:
### 核心要点
1. **Confidence-aware Pose Guidance(置信感知姿态引导)**:通过将姿态和关键点的置信度分数融入姿态指导图,模型能优先利用更可靠的姿态信息,从而提高生成视频的准确性和整体质量。
2. **区域损失(Regional Loss)**:通过特定策略减少图像失真,特别是在手部区域使用姿态估计的置信度分数来识别并增强可靠区域,有效减轻因遮挡或运动模糊造成的伪影。
3. **渐进式潜在空间融合策略(Progressive Latent Space Fusion)**:在推理阶段,针对长视频采用重叠帧技术,权重根据帧之间的距离动态调整,确保时间维度上的平滑过渡。
### 数据准备与预处理
- 数据集包含大量人物动作视频,每个视频由参考图、视频序列及对应动作组成。
- 数据预处理包括视频序列的大小调整和裁剪,确保统一比例;参考图从视频中随机选取并预处理。Pose数据通过DWPose库提取。
- 利用预训练的SVD视频生成模型,显著降低对数据集大小和计算资源的需求。
### 网络结构与关键点详解
- **网络结构**:参考图片通过视觉编码器CLIP提取特征,结合潜在空间表示,共同输入UNet生成模型。Pose序列仅接入UNet的第一个卷积输出层,避免对时空层造成混淆,保持预训练模型的性能。
- **Confidence-aware Pose Guidance**:通过姿态置信度差异化的颜色编码,强调高置信度的关键点和肢体信息,提高模型对有效姿态的指导能力。
- **Hand Region Enhancement**:基于关键点置信阈值的掩码策略,针对高置信度手部区域进行加权处理,以减少手部失真,提升视频的真实感。
### 推理阶段与可视化
- 推理阶段采用重叠帧技术与潜在空间融合策略,确保长时间序列视频的平滑过渡。
- 文章提及了可视化权重表示图等辅助理解技术。
### 实现细节
- 数据集包含4436个时长20秒的人物跳舞视频,使用预训练的SVD1.1权重。
- PoseNet从零开始训练,训练环境为8卡A100 GPU,周期20轮,学习率及warmup策略细节详实。
- 全面调整了UNet和PoseNet的参数,以确保最优性能。
整体而言,该方法通过创新的置信感知姿态引导和区域增强技术,结合高效的预训练模型和精心设计的融合策略,实现了在较小数据集和计算资源内生成高质量视频的目标。