SuperAPI AI 工具集

rembg-ops

设计与创作

查看项目

更新于 10-13 17:04

技能介绍

用途

rembg-ops 用于把不透明、纯色背景的平面插画转换为干净的透明 PNG,包括头像、贴纸、卡通/矢量艺术以及生成的角色肖像。它的目标是在不重新生成源图的前提下完成抠图。

默认引擎是 rembg 的机器学习模型(isnet-anime)。该技能的核心价值在于提供一套确定性的回退阶梯,用于处理纯 ML 在纯色艺术上出错的场景。

需要知道的一点

rembg 是语义模型,不是色度键控工具。isnet-anime 是针对描边卡通艺术调优的模型,它分割显著主体并忽略背景颜色,因此无法用绿幕来“辅助”它。在纯色艺术上,它有两种可预测的失败方式:

  • 浅色/低显著度主体被丢弃(例如接近白色的月亮、浅色背景上的薄荷色 UFO 被读作“不是主体”)。
  • 烘焙的投影残留为灰色幽灵或不透明偏移块。

这两种情况都能被确定性修复,因为平面贴纸艺术总是有一个纯色背景色加一条封口轮廓。这种几何结构使角落泛洪填充色键变得精确,无论主体多浅。真正重要的轴是“有阴影 vs 无阴影”,而不是“有绿幕 vs 无绿幕”。

使用方式

快速开始:

# 默认:rembg isnet-anime,若主体坍缩则自动回退到色键
python scripts/cutout.py "avatars/*.png" --out cutouts/ --contact-sheet

--contact-sheet 会在棋盘背景上渲染每个抠图结果,让糟糕的蒙版一眼可见。然后用下面的阶梯排查失败项。--json | jq '.data[] | select(.coverage < 0.12)' 可以程序化标记坍缩的主体。

方法阶梯——只对需要的图像升级处理:

  • 干净的模切效果:保持默认(rembg isnet-anime)。
  • 主体消失/淡幽灵(浅色主体):使用 --method colorkey 平面背景色键。
  • 半透明主体看起来透明(玻璃、透明杯子):用 --method colorkey 让色键强制封口内部变为不透明。
  • 半透明灰色阴影幽灵:使用 --flatten-alpha 170 二值化 alpha——丢弃约 50% 的阴影,保留 100% 的主体。
  • 不透明烘焙偏移阴影(在二值化后仍存活):使用 --strip-offset-shadow,基于颜色感知,丢弃未紧贴有色填充的暗像素。

默认的 auto 模式已经在轮廓坍缩时执行 rembg→色键(--min-cov,默认 0.10)。后处理标志是按图像选择性启用的,因为自动检测阴影幽灵并不可靠——需要目视检查联系表,对少数需要的图像升级处理。关于每种方法的原理和原因,见 references/cutout-methods.md。

为什么不重新生成

这里的每种方法都对原始像素做 alpha 蒙版,从不重新渲染主体。这让用户可以在不改变角色外观的前提下抠出 AI 生成的角色艺术(或任何手绘素材)。如果生成器只支持文生图(没有图生图/透明输出标志,例如大多数肖像 CLI),那么本地背景移除是在不重新抽卡导致角色漂移的情况下获得透明背景的唯一方式。

预期的下游形态

抠一次成透明 PNG,然后在应用中合成:透明 PNG 叠加在 CSS 背景色上,再叠加 CSS 硬偏移阴影(用 CSS 绘制,而非烘焙进图像)。这使颜色选择器成为可能——一个素材,任意背景。切勿把阴影烘焙回 PNG。

注意事项

  • isnet-anime 与 u2net:默认 u2net 模型会在卡通艺术上留下烘焙阴影的灰色幽灵和更软的边缘——对平面/描边作品始终传 --model isnet-anime(本技能默认值)。u2net 适合照片。
  • 首次运行 rembg 会下载约 170 MB 模型(之后缓存)。完全离线工作请使用 --method colorkey。
  • 色键会保留主体内部与背景同色的区域(它们不接触边界)——带有与背景同色斑块的主体保持完整。它只移除从图像边缘可达的背景。
  • 与主体断开的装饰(漂浮在背景上的闪光星星)会被色键作为孤岛保留——对贴纸来说通常是想要的;如果不想要,先裁剪掉它们。
  • --strip-offset-shadow 假设是暗色阴影加有色主体填充。对全暗主体它会过度侵蚀;这种情况改用 --flatten-alpha。

依赖

  • pillow + numpy(必需);scipy(可选,更快的泛洪填充);rembg(仅用于 rembg/auto 的 ML 路径——colorkey 和后处理器是纯 Pillow/numpy,不需要下载模型)。

安装命令:

uv pip install pillow numpy scipy rembg   # rembg 可选

限制

关于收费、价格、平台支持范围等细节,资料中暂未提供。