Image Matting
图像抠图通过估计像素级前景透明度来保留头发等细节,从而实现自然抠图和逼真的背景合成。
图像抠图是估计图像中前景对每个像素贡献程度的过程。其输出 alpha 遮罩会保留单根毛发、动物皮毛和柔和边缘等半透明细节,让主体可以自然地置于其他背景上。这项任务也称为 alpha 抠图,属于计算机视觉领域,可用于精确抠图和图像合成。用于实体相框的卡纸以及医疗场所的地垫是“matting”的其他含义。
Alpha 遮罩的工作原理#
Alpha 遮罩是一个单通道图像,像素值介于 0 和 1 之间:0 表示背景,1 表示完全不透明的前景,中间值表示部分前景覆盖或透明度。Alpha 描述像素的混合情况;模型的置信度则表示对预测结果的确定程度。细发丝可能只占据一个像素的一部分,因此即使发丝本身不透明,也会产生介于 0 和 1 之间的 alpha 值。
标准合成关系为 image = alpha * foreground + (1 - alpha) * background。抠图根据现有图像估计这些分量;合成则将提取出的前景与替换背景结合起来。估计前景颜色也很重要:如果保留头发周围原背景的颜色,新合成图像中就会出现彩色边缘。
图像分割将像素划分到不同区域。语义分割分配类别标签,而实例分割则区分单个物体。抠图估计连续的前景不透明度。Ultralytics YOLO26分割支持通过将实例掩码转换为透明抠图来实现物体隔离;这些掩码还可以为单独的抠图细化阶段提供初始前景轮廓。
三分图与抠图方法#
三分图包含三个区域:已知前景、已知背景,以及包含边界或透明材质的未知区域。这种数据标注形式可以约束估计问题。与交互式分割类似,它只需少量输入,就能让用户引导提取过程。若错误地将头发标记为确定的背景,其 alpha 值就会被强制设为零,从而将头发从抠图中去除。
闭式抠图由 Anat Levin、Dani Lischinski 和 Yair Weiss 于 2006 年提出,通过《自然图像抠图的闭式解》,利用局部前景和背景颜色假设构建稀疏线性系统。求解该系统即可估计整个未知区域的 alpha 值。
深度学习方法通过标注样本学习外观和边界模式。Ning Xu、Brian Price、Scott Cohen 和 Thomas Huang 于 2017 年提出了《深度图像抠图》,将卷积神经网络编码器-解码器与细化步骤结合起来。其 Adobe 抠图数据集和 Composition-1k 测试集已成为广泛采用的评估资源。将前景合成到各种背景上,可以通过数据增强扩展训练数据。
在 Python 中估计遮罩#
PyMatting alpha 估计 API实现了闭式抠图。使用 pip install pymatting pillow 安装,然后在示例图像上指定前景和背景种子区域。这里,三分图中的灰色值表示留给求解器估计的像素。
from urllib.request import urlopen
import numpy as np
from PIL import Image
from pymatting import estimate_alpha_cf
with urlopen("https://ultralytics.com/images/bus.jpg") as response:
photo = Image.open(response).convert("RGB")
photo.thumbnail((256, 256))
image = np.asarray(photo, dtype=np.float64) / 255.0
# 将天空标记为背景,并将公交车的一块区域标记为前景。
trimap = np.full(image.shape[:2], 0.5)
trimap[:20, :] = 0.0
trimap[120:145, 115:145] = 1.0
alpha = estimate_alpha_cf(image, trimap)
matte = Image.fromarray(np.uint8(np.clip(alpha, 0, 1) * 255))
matte.save("alpha_matte.png")保存的灰度图像显示了估计出的前景贡献:前景种子区域为白色,背景种子区域为黑色,其他区域则显示估计出的过渡效果。
应用场景与质量评估#
人像编辑、产品摄影和电影合成会使用遮罩,在替换背景时保留精细边界。人像视频抠图会将这一操作扩展到视频帧;边界不稳定会产生明显闪烁。MODNet提供了一个可验证的示例:它可以从 RGB 输入中进行无需三分图的人像提取,以实现实时推理。图像修复则是在选定区域内合成内容。
抠图评估会将预测的 alpha 值与参考遮罩进行比较。Christoph Rhemann 及其同事于 2009 年提出的感知驱动抠图基准采用绝对差之和、均方误差、梯度误差和连通性误差。这些指标可以补充交并比等区域重叠度量:梯度误差衡量 alpha 过渡中的差异,而连通性误差衡量前景连通结构受到的破坏。










