MusePose模型部署指南

devtools/2024/10/20 15:59:28/

模型介绍">一、模型介绍

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

MusePose">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.ppmy.cn/devtools/127326.html

相关文章

对比损失(Contrastive Loss)详解

对比损失(Contrastive Loss)详解 对比损失(Contrastive Loss)是一种常见的度量学习损失函数,它通过学习样本对之间的相似性和差异性,使得相似样本对在特征空间中的距离更小,而不相似样本对的距离更大。这种方法广泛应用于人脸识别、图像检索等任务中。 核心思想 对比…

[LeetCode] 542. 01矩阵

题目描述: 给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1: 输入:mat [[0,0,0],[0,1,0],[0,0,0]] 输出…

自动机器学习(AutoML)

utoML是PAI的提供的自动寻找超参组合的机器学习增强型服务。您在训练模型时,如果超参组合复杂度过高,需大量训练资源和手工调试工作,可以使用AutoML来节省模型调参时间,提升模型调优效率和模型质量。 基础概念 超参数:…

openpnp - 底部相机视觉识别CvPipeLine的参数bug修正

文章目录 openpnp - 底部相机视觉识别的CvPipeLine的参数bug概述笔记openpnp的视觉识别参数的错误原因备注END openpnp - 底部相机视觉识别的CvPipeLine的参数bug 概述 底部相机抓起一个SOD323的元件,进行视觉识别。 识别出的矩形错了,是一个很长的长方…

【网络协议】TCP协议常用机制——延迟应答、捎带应答、面向字节流、异常处理,保姆级详解,建议收藏

💐个人主页:初晴~ 📚相关专栏:计算机网络那些事 前几篇文章,博主带大家梳理了一下TCP协议的几个核心机制,比如保证可靠性的 确认应答、超时重传 机制,和提高传输效率的 滑动窗口及其相关优化机…

观察者模式的思考

观察者模式由来 观察者模式(Observer Pattern)是一种行为型设计模式,它的起源可以追溯到20世纪90年代初,由设计模式四人帮(Erich Gamma, Richard Helm, Ralph Johnson 和 John Vlissides)在其著作《设计模…

rel-例行性工作

1,at命令 /etc/at.allow,写在该文件的人可以使用at命令 /etc/at.deny,黑名单 两个文件如果都不存在,只有root能使用 使用方法 at 命令格式: at [参数] [时间] 实例 建立一个3分钟后给所有用户发送 hahaha 2&#x…

Vue.js 学习总结(10)—— Vue 前端项目性能优化常用技巧

1. 使用路由懒加载 在 Vue.js 应用中,路由懒加载可以延迟加载路由组件直到它们被需要时才加载,从而减少应用的初始加载时间。示例代码: // router/index.js import { createRouter, createWebHistory } from vue-router;const Home () >…