MatAnyone 使用教程
1. 项目介绍
MatAnyone 是一个实用的人体视频抠像框架,支持目标指定,具有在核心区域的语义和细粒度边界细节上的稳定性能。该框架旨在为用户提供一种简单易用的方法来实现高质量的视频抠像。
2. 项目快速启动
在开始使用 MatAnyone 之前,请确保您的环境中已经安装了以下依赖:
- Python 3.8
- Conda
- FFmpeg
以下是快速启动的步骤:
首先,克隆仓库到本地环境:
git clone https://github.com/pq-yang/MatAnyone.git
cd MatAnyone
接着,创建一个新的 Conda 环境,并安装所需的 Python 依赖:
conda create -n matanyone python=3.8 -y
conda activate matanyone
pip install -e .
可选地,如果您想要运行 gradio demo,还需要安装以下依赖:
pip3 install -r hugging_face/requirements.txt
下载模型
从 Mat Anyone 的官方网站下载预训练模型,并将其放置在 pretrained_models
文件夹中。
运行测试
在 inputs
文件夹中提供了测试示例。每个测试都需要一个视频文件和它的第一帧分割掩码作为输入。
以下是运行测试的命令:
# 单目标
# 短视频;720p
python inference_matanyone.py -i inputs/video/test-sample1.mp4 -m inputs/mask/test-sample1.png
# 长视频;1080p
python inference_matanyone.py -i inputs/video/test-sample3.mp4 -m inputs/mask/test-sample3.png
# 多目标(通过掩码控制)
# 获取目标1的遮罩
python inference_matanyone.py -i inputs/video/test-sample0 -m inputs/mask/test-sample0_1.png --suffix target1
# 获取目标2的遮罩
python inference_matanyone.py -i inputs/video/test-sample0 -m inputs/mask/test-sample0_2.png --suffix target2
结果将保存到 results
文件夹中,包括前景输出视频和 alpha 输出视频。
3. 应用案例和最佳实践
交互式演示
为了简化第一帧分割掩码的准备,MatAnyone 提供了一个基于 Hugging Face 的 gradio demo,可以交互式地进行视频/图像分割,并实时看到抠像结果。
使用 Hugging Face 加载模型
您也可以直接从 Hugging Face 加载模型,进行推理:
pip install huggingface_hub
pip install -q git+https://github.com/pq-yang/MatAnyone
然后加载并实例化模型:
from matanyone import Mat Anyone
matanyone = MatAnyone.from_pretrained("PeiqingYang/MatAnyone").cuda().eval()
4. 典型生态项目
MatAnyone 项目的生态包括但不限于以下项目:
- Cutie:该项目为 MatAnyone 提供了基础。
- ProPainter:其交互式演示是基于 ProPainter 的。
- Segment Anything Model 和 Segment Anything Model 2:为 MatAnyone 提供了分割能力。
以上就是 MatAnyone 的使用教程,希望对您有所帮助。