当前位置: 首页 > news >正文

MusePose模型部署指南

一、模型介绍

MusePose是一个基于扩散和姿势引导的虚拟人视频生成框架。

主要贡献可以概括如下:

  1. 发布的模型能够根据给定的姿势序列,生成参考图中人物的舞蹈视频,生成的结果质量超越了同一主题中几乎所有当前开源的模型。
  2. 发布该 pose align 算法,以便用户可以将任意舞蹈视频与任意参考图像对齐,这显著提高了推理性能并增强了模型的可用性。
  3. 修复了几个重要的错误,并在 Moore-AnimateAnyone的代码基础上做了一些改进。

二、部署流程

1. 环境要求

  • Python 3.10 或更高版本
  • 推荐:CUDA 11.7 或更高版本

2. 克隆并安装依赖项

git clone https://github.com/TMElyralab/MusePose.git
pip install -r requirements.txt

3. 下载mim软件包

pip install --no-cache-dir -U openmim 
mim install mmengine 
mim install "mmcv>=2.0.1" 
mim install "mmdet>=3.1.0" 
mim install "mmpose>=1.1.0"

4.下载权重

git lfs install
git clone https://www.modelscope.cn/jackle/ComfyUI-MusePose-models.git

image.png

pretrained_weights 最后,这些权重应按如下方式组织:

./pretrained_weights/
|-- MusePose
|   |-- denoising_unet.pth
|   |-- motion_module.pth
|   |-- pose_guider.pth
|   └── reference_unet.pth
|-- dwpose
|   |-- dw-ll_ucoco_384.pth
|   └── yolox_l_8x8_300e_coco.pth
|-- sd-image-variations-diffusers
|   └── unet
|       |-- config.json
|       └── diffusion_pytorch_model.bin
|-- image_encoder
|   |-- config.json
|   └── pytorch_model.bin
└── sd-vae-ft-mse|-- config.json└── diffusion_pytorch_model.bin

三、推理

1. 准备

在文件夹中准备参考图片和舞蹈视频 ./assets,并按照示例进行组织:

./assets/
|-- images
|   └── ref.png
└── videos└── dance.mp4

2. 姿势对齐

获取参考图的对齐 dwpose:

python pose_align.py --imgfn_refer ./assets/images/ref.png --vidfn ./assets/videos/dance.mp4

此后,您可以在其中看到姿势对齐结果 ./assets/poses,其中 ./assets/poses/align/img_ref_video_dance.mp4 是对齐的 dwpose,而 ./assets/poses/align_demo/img_ref_video_dance.mp4 用于调试。

image.png

3. 推断 MusePose

将参考图的路径和对齐的 dwpose 添加到测试配置文件中,./configs/test_stage_2.yaml 例如:

test_cases:"./assets/images/ref.png":- "./assets/poses/align/img_ref_video_dance.mp4"

然后,只需运行

python test_stage_2.py --config ./configs/test_stage_2.yaml

./configs/test_stage_2.yaml 是推理配置文件的路径。

image.png

最后,你可以在 ./output/文件夹下查看

4. 降低 VRAM 成本

如果要降低 VRAM 成本,可以设置推理的宽度和高度。例如,

python test_stage_2.py --config ./configs/test_stage_2.yaml -W 512 -H 512

它将首先生成 512 x 512 的视频,然后将其调整回姿势视频的原始大小。

目前在 512 x 512 x 48 上运行需要 16GB VRAM,在 768 x 768 x 48 上运行需要 28GB VRAM。但需要注意的是,推理分辨率会影响最终结果(尤其是人脸区域)。

5. 面部美容

如果要增强脸部区域以获得更好的脸部一致性,可以使用FaceFusion。您可以使用该 face-swap 功能将参考图中的脸部交换到生成的视频中。

四、界面演示

image.png

http://www.lryc.cn/news/467584.html

相关文章:

  • 又一次升级:字节在用大模型在做推荐啦!
  • 无线领夹麦克风怎么挑选,麦克风行业常见踩坑点,避雷不专业产品
  • OJ-1017中文分词模拟器
  • Unity 关于UGUI动静分离面试题详解
  • HarmonyNext保存Base64文件到Download下
  • 069_基于springboot的OA管理系统
  • hive数据库,表操作
  • openpnp - 在顶部相机/底部相机高级校正完成后,需要设置裁剪所有无效像素
  • Vue+TypeScript+SpringBoot的WebSocket基础教学
  • 大话网络协议:HTTPS协议和HTTP协议有何不同?为什么HTTPS更安全
  • 13图书归还-云图书管理系统(Vue3+Spring Boot+element plus)
  • 中航资本:“女人的茅台”重挫!超7700亿元英伟达概念业绩爆发
  • day7:软件包管理
  • 探索Konko AI:快速集成大语言模型的最佳实践
  • 网络地址和本地网络地址
  • 【closerAI ComfyUI】AI绘画界新技术RF Inversion图像编辑和风格迁移!能跟ipadapter争高低吗?
  • 【Spring篇】Spring的Aop详解
  • Spring与其他框架的比较
  • 论当前的云计算
  • Spring Boot 整合 RocketMQ 之消息消费手动提交 ACK 实战【案例分享】
  • 胃癌数据集(不定期更新)
  • zh/FAQ/CentOSStream-CentOS Stream 常见问题
  • 多台西门子PLC与多台三菱PLC之间实时通讯的方案(PLC内不用编程)
  • C++ [项目] 恶魔轮盘赌
  • 微信小程序版本更新管理——实现自动更新
  • Python使用Selenium库实现CSDN自动化发帖
  • StringBulider和StringBuffer的底层源码剖析
  • 手机空号过滤接口-在线手机空号检测-手机空号过滤API
  • ubuntu 用ss-TPROXY实现透明代理,基于TPROXY的透明TCP/UDP代理,在 Linux 2.6.28 后进入官方内核。
  • 报错解决:opene3d draw_geometries(): incompatible function arguments.