ProPainter 基础使用命令笔记
一、两条测试命令详解
命令1:物体移除(动态遮罩)
python inference_propainter.py --video inputs/object_removal/bmx-trees --mask inputs/object_removal/bmx-trees_mask
适用场景:移除视频中移动的物体(如行人、车辆)
输入要求:
--video:视频帧文件夹,存放按顺序命名的图片(如 0001.jpg、0002.jpg...)--mask:遮罩文件夹,存放与视频帧对应的遮罩图片(如 0001.png、0002.png...)- 白色区域:要移除的部分
- 黑色区域:保留的部分
- 每帧遮罩独立,可标记移动物体的实时位置
执行逻辑:
逐帧读取原始画面和对应的遮罩,对每帧中白色标记的区域进行背景填充。
输出位置:
results/bmx-trees_ProPainter_results.mp4
命令2:视频补全(固定遮罩)
python inference_propainter.py --video inputs/video_completion/running_car.mp4 --mask inputs/video_completion/mask_square.png --height 240 --width 432
适用场景:修复视频中固定位置的遮挡或破损(如水印、LOGO、画面缺损)
输入要求:
--video:可直接输入 MP4 视频文件--mask:单张遮罩图片(PNG格式)- 白色区域:需要修复的位置
- 这张遮罩会自动应用到所有帧的相同位置
--height--width:指定处理分辨率,用于控制显存占用
执行逻辑:
读取整个视频,将同一张遮罩叠加到每一帧的相同坐标位置,对白色区域进行内容补全。
输出位置:
results/running_car_ProPainter_results.mp4
二、两条命令的核心区别
| 对比维度 | 物体移除 | 视频补全 |
|---|---|---|
| 输入格式 | 视频帧文件夹 | 直接 MP4 文件 |
| 遮罩格式 | 遮罩文件夹(多张) | 单张遮罩图片 |
| 遮罩作用 | 标记每帧不同的移动物体 | 标记每帧相同的固定位置 |
| 典型用途 | 移除动态目标 | 去除静态水印/LOGO |
| 分辨率参数 | 一般不指定 | 常用指定以节省显存 |
三、输出结果说明
- 结果文件夹
results/在首次运行命令时自动创建 - 结果视频命名格式:
{原视频名称}_ProPainter_results.mp4 - 两条命令执行后,results 目录下会分别生成两个结果视频文件
四、遮罩的核心概念
遮罩(mask)是 ProPainter 的"指令图",规则统一:
- 白色(255):告诉 AI"这里需要处理"
- 黑色(0):告诉 AI"这里保留原样"
无论是多张遮罩还是一张遮罩,都遵循这个黑白逻辑。
五、显存控制说明
第二条命令中的 --height 240 --width 432 作用:
- 将视频缩放到指定尺寸再处理
- 降低分辨率可减少显存占用
- A100 显卡可不加此参数直接跑原分辨率
评论区