1990 年的 Photoshop 用魔棒工具抠图,选不中头发丝;2024 年手机 APP 一键抠图,头发细节都保留。中间发生了四代技术迭代,每一代都解决了上一代的死穴。
第一代:颜色选取(魔棒 / 色域)
原理:选中一个像素,向外扩展所有颜色相近的像素。
擅长:纯色背景 + 纯色前景,比如白纸上的红章。
死穴:
- 渐变背景全部失效
- 半透明、发丝、毛边处理不了
- 阴影和高光区域颜色接近背景,会被一起抠掉
这代工具至今还在。身份证照片换底色这种任务用它完全够。
第二代:边缘检测(魔术棒 / Magic Wand)
原理:Sobel/Canny 算子找出图像的梯度突变(边缘),按边缘包围的闭合区域分割。
擅长:主体有清晰轮廓的情况,比如剪影、几何形状。
死穴:
- 边缘模糊时(景深虚化、运动模糊)失效
- 纹理复杂时会把纹理内部当成多个”边缘”
- 无法处理”无明显边缘”的物体(比如玻璃、水)
第三代:GrabCut(基于图割)
2004 年微软提出,至今在 Photoshop 和开源库里大量使用。
原理:
- 用户画一个矩形框标出”大概位置”
- 算法假设框内是前景,框外是背景
- 建立图论模型(每个像素是节点,像素间相似度是边权),用最小割算法分割
- 迭代优化:用户可以画几笔”肯定前景”和”肯定背景”来修正
擅长:大部分日常图片。边缘质量显著超过前两代。
死穴:
- 需要用户交互:画框、点修正
- 发丝、透明织物仍然难处理
- 批量化做不了——每张图要人工干预
第四代:深度学习语义分割
2015 年之后的主流。U-Net、DeepLab、Mask R-CNN 等模型让抠图变成”端到端”任务——输入一张图,直接输出每个像素”是前景”的概率。
原理:
- 训练阶段:用百万张已抠好的图(带 Alpha 通道)训练神经网络
- 推理阶段:网络学到了”人像边缘应该是什么样”的先验知识
- 无需用户标注任何信息
擅长:
- 发丝级精度(有专门的 Matting 网络,如 MODNet、RVM)
- 透明物体(玻璃杯、纱巾)
- 强光、弱光、复杂背景
新的限制:
- 模型只擅长训练过的类别(人像模型抠人像很准,抠猫可能差)
- 模型文件大(几十到几百 MB),移动端需要压缩
- 极端情况(头发和背景颜色几乎一致)仍可能失败
工具选择看场景
| 场景 | 合适的工具 |
|---|---|
| 证件照换底色(纯色背景) | 魔棒(一代)或 AI 人像抠图 |
| 电商商品图(白底抠商品) | GrabCut 或 AI |
| 人像去背景(有发丝) | 必须用 AI |
| 批量处理(上百张图) | 只能用 AI |
| 半透明、玻璃、水 | 只能用专业 Matting 模型 |
| 非常规物体(雕塑、艺术品) | 魔棒 + 手动修正 |
Alpha 通道是什么
抠图结果不是”抠出来 + 扔掉背景”这么简单。专业抠图输出的是带 Alpha 通道的图像:
- 每个像素额外存一个值 0-255
- 0 = 完全透明
- 255 = 完全不透明
- 128 = 半透明(发丝边缘、玻璃)
只有 PNG、WebP、TIFF 等格式支持 Alpha,JPG 不支持。导出时选错格式会把所有半透明像素强制变成不透明或白色。
一键 AI 抠图
上传图片自动识别前景、保留发丝级边缘、支持换任意背景色 / 替换背景图,导出带 Alpha 的 PNG——比自己练习 Photoshop 钢笔工具快 100 倍。