
创新视频修复技术提升传播和变换器效果
ProPainter是一个开源的视频修复项目,通过改进传播和变换器技术提高修复质量。它支持对象移除和视频补全,可处理高分辨率视频,并提供内存高效的推理。该项目开放了源代码和预训练模型,还提供在线演示。ProPainter在视频修复领域取得了显著进展,为相关研究和应用提供了有力支持。
⭐ 如果ProPainter对您的项目有帮助,请给这个仓库点个星。谢谢!🤗
:open_book: 更多视觉效果,请查看我们的<a href="https://shangchenzhou.com/projects/ProPainter/" target="_blank">项目主页</a>

克隆仓库
git clone https://github.com/sczhou/ProPainter.git
创建Conda环境并安装依赖
# 创建新的anaconda环境 conda create -n propainter python=3.8 -y conda activate propainter # 安装Python依赖 pip3 install -r requirements.txt
requirements.txt中从Releases V0.1.0下载我们的预训练模型到weights文件夹。(所有预训练模型也可以在首次推理时自动下载。)
目录结构将安排如下:
weights
|- ProPainter.pth
|- recurrent_flow_completion.pth
|- raft-things.pth
|- i3d_rgb_imagenet.pt (用于评估VFID指标)
|- README.md
我们在inputs文件夹中提供了一些示例。
运行以下命令来尝试:
# 第一个示例(物体移除) python inference_propainter.py --video inputs/object_removal/bmx-trees --mask inputs/object_removal/bmx-trees_mask # 第二个示例(视频补全) python inference_propainter.py --video inputs/video_completion/running_car.mp4 --mask inputs/video_completion/mask_square.png --height 240 --width 432
结果将保存在results文件夹中。
要测试您自己的视频,请准备输入的mp4视频(或拆分帧)和逐帧掩码。
如果您想指定处理的视频分辨率或避免内存不足,可以设置--width和--height的视频大小:
# 处理576x320的视频;设置--fp16以在推理时使用fp16(半精度)。 python inference_propainter.py --video inputs/video_completion/running_car.mp4 --mask inputs/video_completion/mask_square.png --height 320 --width 576 --fp16
视频修复通常需要大量的GPU内存。在这里,我们提供了各种功能,有助于内存高效推理,有效避免内存不足(OOM)错误。您可以使用以下选项进一步减少内存使用:
--neighbor_length(默认10)来减少局部邻居的数量。--ref_stride(默认10)来减少全局参考的数量。--resize_ratio(默认1.0)来调整处理视频的大小。--width和--height来设置较小的视频尺寸。--fp16在推理时使用fp16(半精度)。--subvideo_length(默认80),这有效地解耦了GPU内存成本和视频长度。以下显示了不同子视频长度使用fp32/fp16精度的估计GPU内存需求:
| 分辨率 | 50 帧 | 80 帧 |
|---|---|---|
| 1280 x 720 | 28G / 19G | OOM / 25G |
| 720 x 480 | 11G / 7G | 13G / 8G |
| 640 x 480 | 10G / 6G | 12G / 7G |
| 320 x 240 | 3G / 2G | 4G / 3G |
训练和测试的分割文件位于datasets/<dataset_name>中。对于每个数据集,你应该将JPEGImages放置在datasets/<dataset_name>中。将所有视频帧调整为432x240大小用于训练。解压下载的掩码文件到datasets目录。
datasets目录结构将如下排列:(注意:请仔细检查)
datasets
|- davis
|- JPEGImages_432_240
|- <video_name>
|- 00000.jpg
|- 00001.jpg
|- test_masks
|- <video_name>
|- 00000.png
|- 00001.png
|- train.json
|- test.json
|- youtube-vos
|- JPEGImages_432_240
|- <video_name>
|- 00000.jpg
|- 00001.jpg
|- test_masks
|- <video_name>
|- 00000.png
|- 00001.png
|- train.json
|- test.json
我们的训练配置在train_flowcomp.json(用于循环流补全网络)和train_propainter.json(用于ProPainter)中提供。
运行以下命令之一进行训练:
# 训练循环流补全网络 python train.py -c configs/train_flowcomp.json # 训练ProPainter python train.py -c configs/train_propainter.json
你可以运行相同的命令来恢复你的训练。
为了加速训练过程,你可以使用以下命令预先计算训练数据集的光流:
# 计算训练数据集的光流 python scripts/compute_flow.py --root_path <dataset_root> --save_path <save_flow_root> --height 240 --width 432
运行以下命令之一进行评估:
# 评估流补全模型 python scripts/evaluate_flow_completion.py --dataset <dataset_name> --video_root <video_root> --mask_root <mask_root> --save_results # 评估ProPainter模型 python scripts/evaluate_propainter.py --dataset <dataset_name> --video_root <video_root> --mask_root <mask_root> --save_results
分数和结果也将保存在results_eval文件夹中。
请使用--save_results以便进一步评估时间扭曲误差。
如果你发现我们的仓库对你的研究有用,请考虑引用我们的论文:
@inproceedings{zhou2023propainter, title={{ProPainter}: Improving Propagation and Transformer for Video Inpainting}, author={Zhou, Shangchen and Li, Chongyi and Chan, Kelvin C.K and Loy, Chen Change}, booktitle={Proceedings of IEEE International Conference on Computer Vision (ICCV)}, year={2023} }
本项目采用<a rel="license" href="./LICENSE">NTU S-Lab许可证1.0</a>授权。重新分发和使用应遵循此许可证。
如果你有任何问题,请随时通过shangchenzhou@gmail.com与我联系。
本代码基于E<sup>2</sup>FGVI和STTN。部分代码来自BasicVSR++。感谢他们出色的工作。
特别感谢Yihang Luo为ProPainter构建和维护Gradio演示做出的宝贵贡献。


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成 可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


AI论文写作指导平台
AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台, 支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最 先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号