點擊「一鍵去背」時,伺服器上的 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²
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)。