magic-animate_pytorch AIGC使图像中人物按照给定动作动起来

magic-animate_pytorch AIGC使图像中人物按照给定动作动起来

    正在检查是否收录...

magic-animate

论文

MagicAnimate: Temporally Consistent Human Image Animation using Diffusion Model

https://arxiv.org/pdf/2311.16498.pdf

模型结构

如图所示,该模型的输入为reference image(该图像为参考图片),DensePose sequence(目标动作),noisy latents(随机初始化的噪声,长度与DensePose一致)。Appearance Encoder的作用是提取reference image的特征,ControlNet的作用是提取动作特征,Temporal Attention插入2D-Unet使其变为3D-Unet

算法原理

用途:该算法可以使图像中人物按照给定动作"动起来"。

原理:

1.时序一致性:在原先的2D-Unet中插入时序注意力层使其变为3D-Unet,将图像领域的扩散模型扩展至视频领域。

2.参考图片特征提取:具有改进的身份和背景保留功能,以增强单帧保真度和时间连贯性。

3.图片-视频联合训练:与图像数据集相比,视频数据集在身份、背景和姿势方面的规模要小得多,且变化更少,限制了动画框架有效学习参考条件的能力,使用联合训练,可以缓解该问题。

4.视频融合:将视频重叠的部分求平均

环境配置

Docker(方法一)

docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:1.13.1-centos7.6-dtk-23.04.1-py39-latest docker run --shm-size 10g --network=host --name=magic_animate --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -it <your IMAGE ID> bash pip install -r requirements.txt 

Docker(方法二)

# 需要在对应的目录下 docker build -t <IMAGE_NAME>:<TAG> . # <your IMAGE ID>用以上拉取的docker的镜像ID替换 docker run -it --shm-size 10g --network=host --name=magic_animate --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined <your IMAGE ID> bash pip install -r requirements.txt 

Anaconda (方法三)

1、关于本项目DCU显卡所需的特殊深度学习库可从光合开发者社区下载安装: https://developer.hpccube.com/tool/

DTK驱动:dtk23.04.1 python:python3.9 torch:1.13.1 torchvision:0.14.1 torchaudio:0.13.1 deepspeed:0.9.2 apex:0.1 

Tips:以上dtk驱动、python、torch等DCU相关工具版本需要严格一一对应

2、其它非特殊库参照requirements.txt安装

pip install -r requirements.txt 

数据集

推理

模型下载地址:

MagicAnimate - https://huggingface.co/zcxu-eric/MagicAnimate/tree/main

sd-vae-ft-mse - https://huggingface.co/stabilityai/sd-vae-ft-mse

stabe-diffusion-v1-5 - https://huggingface.co/runwayml/stable-diffusion-v1-5

注意:如果无法访问,可以使用镜像 HF-Mirror

pretrained_models/ ├── MagicAnimate │ ├── appearance_encoder │ │ ├── config.json │ │ └── diffusion_pytorch_model.safetensors │ ├── densepose_controlnet │ │ ├── config.json │ │ └── diffusion_pytorch_model.safetensors │ └── temporal_attention │ └── temporal_attention.ckpt ├── sd-vae-ft-mse │ ├── config.json │ └── diffusion_pytorch_model.bin └── stable-diffusion-v1-5 ├── text_encoder │ ├── config.json │ └── pytorch_model.bin ├── tokenizer │ ├── merges.txt │ ├── special_tokens_map.json │ ├── tokenizer_config.json │ └── vocab.json ├── unet │ ├── config.json │ └── diffusion_pytorch_model.bin ├── v1-5-pruned.ckpt └── vae ├── config.json └── diffusion_pytorch_model.bin 

命令行

单卡运行

bash scripts/animate.sh 

多卡运行

bash scripts/animate_dist.sh 

result

精度

应用场景

算法类别

AIGC

热点应用行业

媒体,科研,教育

源码仓库及问题反馈

ModelZoo / magic-animate_pytorch · GitLab

参考资料

GitHub - magic-research/magic-animate: [CVPR 2024] MagicAnimate: Temporally Consistent Human Image Animation using Diffusion Model

总结

**总结:MagicAnimate论文及模型详解**
**论文标题**:MagicAnimate: Temporally Consistent Human Image Animation using Diffusion Model
**背景**:这篇论文介绍了一种名为MagicAnimate的算法,利用扩散模型实现人物图像按照给定动作序列进行连续、时间一致性的动态动画生成。
**模型结构**:
- 输入:参考图片(reference image)、DensePose序列(表示目标动作)、随机初始化的噪声(noisy latents,与DensePose长度一致)。
- 组件:
- **Appearance Encoder**:从参考图片中提取特征,以保留人物身份和背景信息。
- **ControlNet**:从DensePose序列中提取动作特征,为动画提供运动信息。
- **Temporal Attention**:插入到2D-Unet中,将其扩展为3D-Unet,以处理时序数据,实现视频领域的扩展应用和时间一致性。
**算法原理**:
1. **时序一致性**:通过将时序注意力层加入2D-Unet成为3D-Unet,确保了连续帧之间的平滑过渡和时间一致性。
2. **参考图片特征提取**:改进了身份和背景保留机制,增强了单帧图像的真实性和时间上的连贯性。
3. **图片-视频联合训练**:鉴于视频数据集在规模和变化上的局限性,联合训练方法提高了模型在学习参考条件方面的能力。
4. **视频融合**:通过平均重叠的视频部分来优化输出视频的连贯性。
**环境配置**:
提供了Docker和Anaconda两种环境配置方式,详细步骤包含拉取Docker镜像、运行Docker容器及安装依赖项等,确保了实验环境的一致性。
**数据集**:具体数据集名称未在文中提及,但方法可能通用于通用的图像和视频数据。
**推理与模型下载**:
- MagicAnimate及其他所需预训练模型均可在Hugging Face等模型库下载。
- 运行示例代码提供了单卡和多卡环境下的运行脚本。
**应用场景**:
- **AIGC(AI生成内容)**:适用于创意内容制作、视觉特效等领域。
- **热点应用行业**:媒体(广告、动画制作)、科研(人体运动研究)、教育(虚拟仿真教学)等。
**源码仓库及问题反馈**:
- 源码仓库位于GitLab的Magic-animate_pytorch项目,用户可访问GitLab页面获取源码及提交问题反馈。
**参考资料**:
- GitHub上的magic-research组织提供了MagicAnimate的原始实现和相关资源。
MagicAnimate通过结合先进的扩散模型技术和时序一致性处理,为人物图像动画领域提供了一种高效且准确的方法,具有重要的实际应用价值。 diffusiondockerdocjsonpytorch一致性数据集denseposegitbashcodeapptokenhuggingfacecontrolnet时序一致性python扩散模型参考资料注意力
  • 本文作者:李琛
  • 本文链接: https://wapzz.net/post-19349.html
  • 版权声明:本博客所有文章除特别声明外,均默认采用 CC BY-NC-SA 4.0 许可协议。
本站部分内容来源于网络转载,仅供学习交流使用。如涉及版权问题,请及时联系我们,我们将第一时间处理。
文章很赞!支持一下吧 还没有人为TA充电
为TA充电
还没有人为TA充电
0
  • 支付宝打赏
    支付宝扫一扫
  • 微信打赏
    微信扫一扫
感谢支持
文章很赞!支持一下吧
关于作者
2.3W+
5
0
1
WAP站长官方

Ollama+AnythingLLM 搭建本地知识库

上一篇

Datawhale AI夏令营第四期 魔搭-AIGC方向 task02笔记

下一篇
  • 复制图片
按住ctrl可打开默认菜单