GitHub:sczhou/ProPainter
一、介绍:
该项目用于将视频中的人物或水印移除,总的来说效果还是不错的,但美中不足的是,需要自己对视频需要处理的主体进行抠像,如果将视频转换成序列帧,然后在Photoshop中逐帧来处理显示是不现实的,工程量极大。
文章百度链接提供
二、配置环境
conda create -n propainter python=3.8
conda activate propainter
pip install torch-1.10.0+cu113-cp38-cp38-win_amd64.whl
pip install torchvision-0.11.0+cu113-cp38-cp38-win_amd64.whl
pip install opencv-python -i https://mirror.baidu.com/pypi/simple
pip install einops -i https://mirror.baidu.com/pypi/simple
pip install yapf -i https://mirror.baidu.com/pypi/simple
pip install av -i https://mirror.baidu.com/pypi/simple
pip install addict -i https://mirror.baidu.com/pypi/simple
pip install einops -i https://mirror.baidu.com/pypi/simple
pip install future -i https://mirror.baidu.com/pypi/simple
pip install numpy -i https://mirror.baidu.com/pypi/simple
pip install scipy -i https://mirror.baidu.com/pypi/simple
pip install matplotlib -i https://mirror.baidu.com/pypi/simple
pip install scikit-image -i https://mirror.baidu.com/pypi/simple
三、使用教程
对象移除
在我们想要移除视频中某个对象之前,我们需要先将这个视频转换为序列帧,也就是一张张图像。然后将这些图像进行抠像,得到主体遮罩(Mask)。
官方案例中给了一些示例文件,左侧是.\ProPainter\inputs\object_removal\bmx-trees
文件夹的视频序列帧
文件,右侧是.\ProPainter\inputs\object_removal\bmx-trees_mask
文件夹的视频遮罩
序列帧文件。
我们通过在CMD中执行如下命令就可以得到想要的内容啦。
python inference_propainter.py --video inputs/object_removal/bmx-trees --mask inputs/object_removal/bmx-trees_mask
这个命令行的内容非常简单,下面做一下解释。
python inference_propainter.py --video 视频序列帧文件夹路径 --mask 视频遮罩序列帧文件夹路径
处理完成后的视频将保存在results
文件夹中,如果你要测试自己上传的视频,请准备mp4
格式的视频(或拆分帧)和逐帧Mask遮罩。