Executive Summary · 核心结论
视频擦除已固化为两段式 pipeline:SAM 2 生成跨帧 mask,再由 video inpainting 模型还原被遮挡背景。
针对 5~10 秒 Vlog:默认推荐 SAM 2 + MiniMax-Remover(NeurIPS 2025,DiT-based,6 步采样,无需 prompt);如目标伴随明显阴影 / 反射,改用 ROSE;受限于显存则回退到 ProPainter。
90 % 的效果问题不在于换模型,而在于 mask 精度、pipeline 编排、参数调优三层。
01 整体 Pipeline The Pipeline
Vlog 镜头几乎都是手持 + 主体/背景同时运动,单帧算法不适用;主流方案统一为下面四步。
1
输入视频
5~10 s 手持镜头,待擦目标(路人 / 物体)
2
Mask 生成
SAM 2 跨帧 propagation,覆盖目标 + 接触阴影
3
Video Inpainting
ProPainter / MiniMax-Remover / ROSE 三选一
4
输出
擦除后的 vlog 片段(1080p / 30fps)
02 Mask 生成 Mask Generation
先解决"擦哪儿"。跨帧一致的高精度 mask 是全流程质量上限的最大决定因素。
- SAM 2(Meta, 2024)—— 当前事实标准。首帧点选目标即自动 propagate;对人、宠物、路人这类"刚性 + 关节"目标稳定,开源可本地部署。10 s @ 30 fps(300 帧)单卡 4090 秒级出结果。
- Mask 需适度 dilate(5~15 px)吸收接触阴影与轮廓羽化,否则 inpainting 在脚下留 halo。
- 反光 / 投影属于 side effects,SAM 2 不会自动识别,需在下游 inpainting 模型中处理(参见 ROSE)。
03 Inpainting 方案对比 Model Landscape
按技术路线分两代:Flow-based 快而稳,Diffusion-based 上限高。
A. Flow-based Feed-forward
推荐基线ProPainter · ICCV 2023
基于光流传播 + sparse transformer,单卡数十秒完成 10 s 720p 推理。对 Vlog 相机移动 + 背景纹理变化场景非常友好,会将其他帧的真实背景"光流回填",比纯生成更真实。
弱点:mask 覆盖过大、或被遮挡区域始终未在其他帧露出时,结果会糊。
历史:上一代 E2FGVI 是 ProPainter 前身,现已被替代。
B. Diffusion / DiT-based
2026 默认推荐MiniMax-Remover · NeurIPS 2025
两阶段 DiT + minimax 训练。6 步采样、无需 CFG、不依赖 text prompt,速度接近 feed-forward,质量显著高于 ProPainter,官方 ComfyUI 节点已发布,落地路径最顺。
阴影 / 反射专用ROSE · NeurIPS 2025
专门解决阴影、反射、透光、镜面这类"目标已擦除但痕迹残留"问题。Vlog 中擦除路人 + 地面阴影、橱窗反射时优于 MiniMax。
其他
EraserDiT(arXiv 2506.12853, 2025)—— 主打长视频与速度,短片体量优势不大。
Runway / Pika 闭源 SaaS —— 一键,但对人物擦除失败率高,且成本、可控性不占优。
04 场景化推荐 Recommendation Matrix
按团队情况与硬件约束匹配落地方案。
| 方案 |
适合场景 |
备注 |
| SAM 2 + ProPainter |
本地部署、显存受限(8 GB 起)、批量任务 |
成熟稳定;阴影残留靠 mask dilate 兜 |
| SAM 2 + MiniMax-Remover |
追求 2025 SOTA、显存 16~24 GB |
默认推荐;ComfyUI 节点现成 |
| SAM 2 + ROSE |
目标携带明显阴影 / 反射 |
专攻其他方案的"幽灵"残留 |
| Runway / Pika |
零折腾、一次性使用 |
成本累积、质量不可控 |
05 Vlog 场景实施要点 Practical Notes
Critical Checkpoints
- 先稳像再 inpaint:手持抖动会引入 flicker。用 DaVinci Stabilize 或 Deshaker 稳像后再 inpaint,最后把抖动反加回来(保留 Vlog 的"手持感")。
- Mask dilate 3~5 px + 覆盖地面接触点:否则人物消失但鞋印 / 阴影残留,一眼假。
- 分辨率分阶段:先 540p / 720p 验证 mask 与效果,最后再上 1080p —— 显存与耗时差数倍。
- 极端情况:目标长时间静止且占画面 > 40 % 时,所有方案均会糊;建议 Vlog 剪辑层面直接换镜头。
06 算法调节面 Tuning Surface
"怎么调"分四层,从最便宜(拧参数)到最贵(改本体)。绝大多数 Vlog 问题在前两层就能收敛。
Layer 1 — 参数调优(无需重训)
Mask 侧(SAM 2)
- prompt 类型:点 prompt(多 positive + negative 点)/ box / 涂抹 mask,复杂目标点 prompt 更稳
- 双向 propagation:首尾双 anchor,压掉中段漂移
- mask dilate:3~15 px,直接决定 halo 是否吃进去 —— Vlog 人物擦除最常拧
- temporal smoothing:mask 沿时间维度做 Gaussian / 形态学闭运算,压 flicker
- 二值化阈值:低→保守 / 高→细节多但易漏
ProPainter 推理参数
neighbor_length(默认 10):局部参考帧数,↑质量 ↑显存
ref_stride(默认 10):远程参考间隔,↓时序一致性↑
subvideo_length(默认 80):分块长度;短视频可设大一次跑完
raft_iter:光流迭代次数,复杂纹理拉高
- 推理分辨率:先 720p 通再 1080p
MiniMax-Remover 参数
num_inference_steps:默认 6,可低至 4;8~12 步微涨
seed:换 seed 换"幻想"结果,多跑挑最佳
mask_dilation:ComfyUI 节点直接暴露
- 可选 negative prompt 微调细节
Layer 2 — Pipeline 编排(写胶水代码,收益最大)
- Mask 上 ensemble:SAM2 + shadow detection 网络(BDRAR / MTMT),阴影 union 进 mask,可替代 ROSE
- Mask 光流外推:RAFT 光流约束 SAM2 漂移
- 两阶段 inpainting:ProPainter 出结构 → MiniMax-Remover 同 mask refine
- 失败检测 + 重跑:光流残差超阈值段自动多 seed 重采
- 时间一致性后处理:EBSynth 思路做 temporal blend
Layer 3 — 轻量微调(LoRA)
Vlog 场景高度重复(同一房间/同一街道)时值得投入:
- MiniMax-Remover 是 DiT-based → 套 LoRA,喂 10~20 段"干净背景"视频,让模型先记住背景分布(参考 wan-video / cogvideox 的 DiT LoRA 训练流程)
- ProPainter 是 flow-based,非生成,无 LoRA 空间
- 显存预算:24~40 GB(4090 / A6000 起),5~10 小时
Layer 4 — 改算法本体(论文级)
- 改 ProPainter 的 sparse transformer 注意力 mask 策略
- MiniMax-Remover 的 minimax loss 内层 max 步长 / 噪声采样方式
- 换底模:迁移到更新的视频 DiT(Wan 2.x / HunyuanVideo)
Debug Playbook · 按失败模式对症下药
- 先跑默认参数,观察主要失败模式
- 按类型对症:
- 阴影残留 → shadow union mask(L2.1)或换 ROSE
- Mask 漂移 → 双向 propagation + 光流约束(L2.2)
- Flicker → temporal smoothing(L1)+ 后处理 blend(L2.5)
- 大块虚化 → 拉
neighbor_length / ref_stride(L1)
- 内容幻想错 → 多 seed 重跑(MiniMax)/ 退回 ProPainter
- 90 % Vlog 问题在 L1 + L2 收敛
- 场景高度重复 → L3 LoRA