实时高分辨率背景抠图
这是论文 实时高分辨率背景抠图 的官方代码库。我们的模型需要额外捕捉一张背景图像,可以在 Nvidia RTX 2080 TI GPU 上以 4K 30fps 和 HD 60fps 的速度产生最先进的抠图结果。
免责声明:本仓库中的视频转换脚本并非实时。我们研究的主要贡献是用于高分辨率细化的神经网络架构和新的抠图数据集。inference_speed_test.py
脚本允许您测量我们模型的张量吞吐量,应该可以达到实时。inference_video.py
脚本允许您在我们的模型上测试视频,但视频编码和解码是在没有硬件加速和并行化的情况下完成的。对于生产用途,您需要进行额外的工程以实现硬件编码/解码并并行将帧加载到 GPU。有关架构详细信息,请参阅我们的论文。
新论文发布!
查看 稳健视频抠图! 我们的新方法不需要预先捕获背景,并且可以以更快的速度进行推理!
概述
更新
- [2021年6月21日] 论文获得 CVPR 2021 最佳学生论文荣誉提名。
- [2021年4月21日] VideoMatte240K 数据集现已发布。
- [2021年3月6日] 训练脚本已发布。
- [2021年2月28日] 论文被 CVPR 2021 接受。
- [2021年1月9日] PhotoMatte85 数据集现已发布。
- [2020年12月21日] 我们将项目更新为 MIT 许可证,允许商业使用。
下载
模型 / 权重
视频 / 图像示例
- 高清视频 (由 Sengupta 等人提供) (我们的模型在高清视频上更加稳健)
- 4K 视频和图像
数据集
演示
脚本
我们在此仓库中提供了几个脚本,供您试验我们的模型。文件中包含更详细的说明。
inference_images.py
: 对一个图像目录进行抠图。inference_video.py
: 对视频进行抠图。inference_webcam.py
: 使用您的网络摄像头进行交互式抠图演示。
笔记本
此外,您可以在 Google Colab 中尝试我们的笔记本,对图像和视频进行抠图。
虚拟摄像头
我们提供了一个演示应用程序,可以将网络摄像头视频通过我们的模型处理并输出到虚拟摄像头。该脚本仅适用于 Linux 系统,可以在 Zoom 会议中使用。更多信息,请查看:
使用 / 文档
您可以使用 PyTorch、TorchScript、TensorFlow 和 ONNX 运行我们的模型。有关使用我们模型的详细信息,请查看 使用 / 文档 页面。
训练
配置 data_path.pth
以指向您的数据集。原始论文使用 train_base.pth
仅训练基础模型直至收敛,然后使用 train_refine.pth
对整个网络进行端到端训练。更多细节在论文中有指定。
项目成员
- 林善传*, 华盛顿大学
- Andrey Ryabtsev*, 华盛顿大学
- Soumyadip Sengupta, 华盛顿大学
- Brian Curless, 华盛顿大学
- Steve Seitz, 华盛顿大学
- Ira Kemelmacher-Shlizerman, 华盛顿大学
* 贡献相同。
许可证
本作品采用 MIT 许可证。如果您在项目中使用我们的工作,我们希望您能包含致谢并填写我们的 调查问卷。
社区项目
由第三方开发者开发的项目。