分享一款 去除视频中移动的物体。的本地部署软件,完全免费!
效果
物体移除
水印去除
下载地址
代码仓库
安装
1git clone https://github.com/sczhou/ProPainter.git
1conda create -n propainter python=3.8 -y
2conda activate propainter
3cd ProPainter
4pip3 install -r requirements.txt
版本要求
- CUDA >= 9.2
- PyTorch >= 1.7.1
- Torchvision >= 0.8.2
开始使用
准备预训练模型
预训练模型从版本 V0.1.0 下载到 weights 文件夹。
https://github.com/sczhou/ProPainter/releases/tag/v0.1.0
1weights
2 |- ProPainter.pth
3 |- recurrent_flow_completion.pth
4 |- raft-things.pth
5 |- i3d_rgb_imagenet.pt (for evaluating VFID metric)
6 |- README.md
快速测试
1# The first example (object removal)
2python inference_propainter.py --video inputs/object_removal/bmx-trees --mask inputs/object_removal/bmx-trees_mask
3# The second example (video completion)
4python inference_propainter.py --video inputs/video_completion/running_car.mp4 --mask inputs/video_completion/mask_square.png --height 240 --width 432
内存高效推理
视频修复通常需要大量 GPU 内存。在这里,我们提供了各种有助于内存高效推理的功能,有效避免内存不足(OOM)错误。您可以使用以下选项进一步减少内存使用量:
- 通过减少
--neighbor_length
(默认 10)来减少本地邻居的数量。 - 通过增加
--ref_stride
(默认 10)来减少全局引用的数量。 - 设置
--resize_ratio
(默认1.0)以调整处理视频的大小。 - 通过指定
--width
和--height
设置较小的视频大小。 - 设置
--fp16
在推理过程中使用 fp16(半精度)。 - 减少子视频
--subvideo_length
的帧数(默认80),有效解耦GPU内存消耗和视频长度。
训练
1 # For training Recurrent Flow Completion Network
2 python train.py -c configs/train_flowcomp.json
3 # For training ProPainter
4 python train.py -c configs/train_propainter.json