本文于 2025-01-14 21:33 更新,部分内容具有时效性,如有失效,请留言
综合介绍
SVFR(Stable Video Face Restoration)是一个用于视频人脸修复的统一框架,支持基础人脸修复(BFR)、着色、修复及其组合任务。该框架利用生成和运动先验,通过统一的面部修复框架整合任务特定信息,提升修复质量和时间稳定性。SVFR的设计旨在解决视频人脸修复中的时间一致性、运动伪影和高质量视频数据有限等挑战。该项目由Zhiyao Wang等人开发,并在GitHub上开源,代码和预训练模型可供学术和非商业研究使用。
功能列表
- 基础人脸修复(BFR):修复低质量视频中的人脸细节。
- 着色:为黑白视频添加颜色。
- 修复:修复视频中的缺失部分。
- 任务组合:支持BFR、着色和修复的任意组合。
- 时间一致性:通过生成和运动先验提升视频修复的时间一致性。
- 预训练模型:提供多种预训练模型,方便用户快速上手。
使用帮助
安装流程
- 创建Conda环境:
conda create -n svfr python=3.9 -y
conda activate svfr
- 安装PyTorch:根据硬件选择合适的CUDA版本,例如:
pip install torch==2.2.2 torchvision==0.17.2 torchaudio==2.2.2
- 安装依赖:
pip install -r requirements.txt
- 下载检查点:手动下载并放置在指定目录中。
使用流程
- 单任务推理:
python3 infer.py --config config/infer.yaml --task_ids 0 --input_path ./assert/lq/lq1.mp4 --output_dir ./results/
task_id: 0
表示基础人脸修复(BFR)task_id: 1
表示着色task_id: 2
表示修复
- 多任务组合推理:
python3 infer.py --config config/infer.yaml --task_ids 0,1,2 --input_path ./assert/lq/lq3.mp4 --output_dir ./results/
task_ids: 0,1
表示BFR和着色task_ids: 0,1,2
表示BFR、着色和修复
- 带有修复掩码的推理:
python3 infer.py --config config/infer.yaml --task_ids 0,1,2 --input_path ./assert/lq/lq3.mp4 --output_dir ./results/ --mask_path ./assert/mask/lq3.png
详细功能操作流程
- 基础人脸修复(BFR):
- 选择输入视频路径和输出目录。
- 设置任务ID为0。
- 运行推理命令,生成修复后的视频。
- 着色:
- 选择输入视频路径和输出目录。
- 设置任务ID为1。
- 运行推理命令,生成着色后的视频。
- 修复:
- 选择输入视频路径和输出目录。
- 设置任务ID为2。
- 运行推理命令,生成修复后的视频。
- 任务组合:
- 选择输入视频路径和输出目录。
- 设置任务ID为组合任务的ID,例如0,1表示BFR和着色。
- 运行推理命令,生成组合任务处理后的视频。
- 带有修复掩码的推理:
- 选择输入视频路径、输出目录和掩码文件路径。
- 设置任务ID为组合任务的ID,例如0,1,2表示BFR、着色和修复。
- 运行推理命令,生成带有修复掩码处理后的视频。