背景去除的核心原理

从简单的绿幕算法,到 U²-Net 深度神经网络。
带你深入像素世界,看懂计算机视觉的“读心术”。

点击“一键抠图”时,服务器上的 GPU 正在进行数十亿次浮点运算。本文将带你像算法工程师一样,拆解从 像素计算深度学习 的完整技术栈。

阶段一:色键技术 (Chroma Key)

传统的“绿幕”原理:基于颜色差异的简单数学判定。

核心算法

IF (Green > Red + Tol AND Green > Blue + Tol) THEN Alpha = 0 ELSE Alpha = 1

像素探针

移动鼠标到画面上
Canvas 实时渲染

阶段二:深度学习模型 (U²-Net)

现代 AI 如何通过“嵌套 U 型结构”理解复杂的语义和细节。

U²-Net 架构示意图
输入图像
Encoder (编码)
Decoder (解码)
RSU-1
RSU-2
RSU-3
RSU-1
RSU-2
RSU-3
Alpha Mask
RSU块 (嵌套U结构)
上采样融合

语义分割 (Semantic Segmentation)

不同于绿幕,AI 并不关心具体的颜色值。它通过 卷积神经网络 (CNN) 对每个像素进行分类:"这是人脸" vs "这是树叶"。即使颜色相近,也能根据形状、纹理和上下文区分它们。

训练数据

模型在 COCO, DUTS, ADE20K 等包含数万张标注图片的数据集上训练。它“看”过成千上万种光照条件下的人像,具有极强泛化能力。

为什么是 U²-Net?

普通网络越深越容易丢失细节。U²-Net 采用嵌套 U 型结构,既能捕捉全局语义,又能保留局部细节(如发丝)。这是 remove.bg 等工具背后的核心流派。

阶段三:Alpha Matting 与未知区域

对于半透明边缘(如发丝),AI 需要解一个复杂的数学方程。

语义分割生成的 Mask 通常是非黑即白的。对于实心物体没问题,但对于头发、烟雾、婚纱等半透明物体,我们需要 Alpha 通道(0.0 - 1.0 的灰度)。

核心概念:Trimap (三分图)

前景 (Foreground): 绝对保留 (Alpha=1)
背景 (Background): 绝对移除 (Alpha=0)
未知区域 (Unknown): 需要解算 Alpha

模型仅在“未知区域”的像素上应用高成本的 Matting 算法,通过周围像素的颜色相关性,推算出每个像素的前景占比。

最终 Alpha Matte
二值掩码 (0/1)
拖动对比

核心 AI 模型

U²-Net

SOTA 显著性检测,remove.bg 核心变体

高精度 人像
MO
MODNet

专为实时人像 Matting 设计,无需 Trimap

实时 视频会议
De
DeepLabV3+

Google 开发的通用语义分割模型

通用 稳定

工业界应用流程

Step 1: 粗略分割 (Segmentation)

输入原图,通过 CNN 生成低分辨率掩码 (Mask)。确定大概的人体轮廓。

Step 2: 边缘精修 (Refinement)

识别“未知区域”(如发丝边缘),生成 Trimap。

Step 3: Alpha Matting

解算透明度,并在合成时进行色彩溢出修正 (De-spill)。