实测 RotoFox:本地运行的 AI 视频抠像工具,绿幕猫狗连毛带须一键抠
做 AI 漫剧和短视频素材的人大概率都踩过这个坑绿幕拍了只猫或狗用剪映色度抠图毛发边缘要么被啃得坑坑洼洼要么残留一圈绿边。想用好点的工具Runway 要翻墙还要按秒付费素材还得上传到别人服务器。折腾了一圈我找到了 RotoFox——一个完全本地运行、基于 Meta SAM2.1 的开源视频抠像工具。这篇文章记录我从安装到实际抠像的完整过程包括踩过的坑和最终效果。这工具到底是什么RotoFox 是一个桌面级的视频 rotoscoping 工具底层用的是 Meta 的 Segment Anything Model 2.1SAM 2.1做目标跟踪分割可选搭配 MatAnyone 2 做毛发边缘精炼。跟普通的图片抠图模型不一样SAM2 是专门为视频设计的带时序记忆机制。你在第一帧标记一下主体它会自动把蒙版传播到视频所有帧不会出现逐帧抠图那种闪烁问题。几个关键特性100% 本地运行视频不上传任何外部服务器支持点选和框选两种标记方式可随时修正跑偏的帧导出 ProRes 4444 MOV带完整 Alpha 透明通道MIT 协议免费商用需要 N 卡官方建议 4GB 显存以上我的测试环境是 RTX 4070 SUPER 12GB跑 SAM2.1 Large 模型151 帧的视频传播大约 40 秒。为什么不直接用色度抠图绿幕素材按理说色度抠图最快但实际用在动物身上问题很明显。猫狗的毛发细密尤其是白色或浅色毛发和绿色背景的对比度不够高色度抠图容易把细毛直接切掉。就算勉强保留了边缘绿幕反光打在毛发上形成的溢色也很难处理干净。黑色背景更麻烦——动物身上的黑色毛发会被亮度抠图一起吃掉。RotoFox 走的是另一条路不靠颜色判断而是靠 AI 识别这是一只狗这个主体。所以绿幕、黑背景、甚至复杂背景都能处理毛发边缘也比色度抠图自然得多。我也试过 RVMRobust Video Matting那个模型训练集以人为主对猫狗的识别经常崩坏边缘乱跳。SAM2 对任意物体的泛化能力明显更强。安装过程和踩过的坑官方 README 给了步骤但实际操作中有几个坑值得提前说。Python 版本别用 3.13官方要求 Python 3.10 以上推荐 3.11/3.12。我机器上默认是 Python 3.13直接装会导致 PyTorch 2.5.1 找不到对应 wheel。解决办法是装一个 Python 3.12用py -3.12创建虚拟环境# 用 winget 装 Python 3.12wingetinstallPython.Python.3.12--silent# 创建虚拟环境C:\Users\你的用户名\AppData\Local\Programs\Python\Python312\python.exe-mvenv .venv .venv\Scripts\activatePyTorch 必须装 CUDA 版这是最关键的一步。Windows 上直接pip install torch会装 CPU 版本推理速度慢 20-50 倍基本没法用。必须指定 CUDA 源pipinstalltorch2.5.1torchvision0.20.1 --index-url https://download.pytorch.org/whl/cu121国内下载这个 wheel 比较慢torch 包大约 2.3GB。我这边直连速度大概 1.5-2MB/s下了约 20 分钟。阿里云和清华的 PyPI 镜像都不同步 CUDA 版 torch别浪费时间试了。如果下载太慢可以用 curl 手动下 wheel 文件再本地安装curl-L-otorch.whlhttps://download.pytorch.org/whl/cu121/torch-2.5.1%2Bcu121-cp312-cp312-win_amd64.whlpipinstalltorch.whl装完验证一下python-cimport torch; print(torch.cuda.is_available())# 输出 True 才是 GPU 版本完整安装步骤# 克隆仓库gitclone https://github.com/hygef-v4/RotoFox.gitcdRotoFox/backend# 创建并激活虚拟环境Python 3.10-3.12python-mvenv .venv .venv\Scripts\activate# 安装 PyTorch CUDA 版必须先装pipinstalltorch2.5.1torchvision0.20.1 --index-url https://download.pytorch.org/whl/cu121# 安装其余依赖pipinstall-rrequirements.txt# 安装 SAM2 框架python scripts/setup_sam2.py# 下载模型权重--yes 自动选推荐模型12GB显存会选 Largepython scripts/setup_models.py--yes# 启动后端python main.py --no-auth然后新开一个终端启动前端cdRotoFox/frontendnpminstallnpmrun dev浏览器打开http://localhost:1420就能看到界面了。MatAnyone2 模型是可选的用于导出时的毛发边缘精炼。GitHub releases 下载在国内比较慢我这次没装上用 SAM2 原始蒙版效果也已经够用了。后续可以手动下载matanyone2.pth放到backend/checkpoints/目录。实际操作抠一只睡觉的小狗测试用的视频是一段 5 秒的绿幕小狗1438x108030fps共 151 帧。小狗是白色卷毛趴在绿色背景上睡觉。第一步导入视频打开 RotoFox 界面点左上角 Import 按钮选择视频文件。视频会被抽帧缓存5 秒的视频大约 3-5 秒处理完。第二步标记主体这一步是最关键的。左侧工具栏有三个标记工具Include绿色号点击标记前景区域Exclude红色-号点击排除背景区域Box拖拽画框定义主体范围我一开始用 Box 工具框选结果蒙版只覆盖了部分区域。后来发现直接用 Include 工具在小狗身上点一下效果反而更好——SAM2 会自动识别整个主体。从截图可以看到只点了一下红色蒙版就覆盖了小狗全身包括白色卷毛和耳朵。右下角显示 “ADD 1 pts”说明只用了一个标记点。如果蒙版有缺口切换到 Include 工具在缺失区域补点就行。如果多抠了背景用 Exclude 工具在背景上点击排除。第三步检查效果左侧 VIEW MODE 区域可以切换视图Overlay原始视频 红色蒙版叠加方便看标记位置Isolated黑色背景 抠出的主体直接预览抠像效果切到 Isolated 视图小狗完整地从绿色背景中分离出来了毛发边缘比较干净没有明显的绿边。这个视图是检查缺口最直观的方式哪里没抠到一目了然。第四步传播到全部帧确认第一帧蒙版没问题后点右下角Track按钮。SAM2 会自动把蒙版传播到视频所有帧。151 帧大约用了 40 秒进度条走完后可以拖动时间轴抽查中间帧和最后一帧。如果某帧跟踪跑偏直接跳到那帧补点再点 Track 重新传播就行不需要从头来。第五步导出透明视频点左下角Export按钮导出设置如下格式选 MOVProRes 4444唯一支持 Alpha 通道的视频格式渲染类型选 Transparent真实透明通道点 Start Exporting 等待导出完成MP4 不支持透明通道千万别选。WebM 也支持透明但兼容性差ProRes 4444 MOV 是后期合成的标准格式。效果验证导出的文件是 152.8MB 的 MOV 文件用 ffprobe 检查编码信息Stream #0:0: Video: prores (4444) (ap4h), yuva444p12le, 1438x1080, 30 fpsyuva444p12le里的a就是 Alpha 通道确认透明通道存在。提取第一帧分析 Alpha 通道非零像素占比 56.3%——小狗大约占画面一半多一点这个比例是合理的。把导出的 MOV 拖进剪映或 PR背景会自动透明可以直接叠加到任意背景上。我测试了叠加到星空、草地、室内三种背景边缘过渡自然没有闪烁也没有明显绿边。一些实际感受优点很突出本地运行隐私有保障素材不用上传对动物的识别效果比 RVM 这类人像模型好太多操作简单标记一下点 Track 就行不需要逐帧手K导出标准 ProRes 4444后期流程无缝衔接也有不足安装门槛不低Python 版本和 PyTorch CUDA 这两个坑新手容易踩MatAnyone2 毛发精炼模型国内下载困难没有它边缘少了一点细节界面是英文的虽然按钮不多但对纯小白还是有一点学习成本必须有 N 卡A 卡和核显用户基本用不了CPU 能跑但慢到不可用整体来看RotoFox 适合有一定动手能力、需要批量处理绿幕动物素材、且在意素材隐私的创作者。如果你做 AI 漫剧需要大量动物或非人物体的抠像素材这个工具值得花时间装一下。后续如果装上 MatAnyone2毛发边缘还能再提升一个档次到时候再补一篇对比测试。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →