AI · AI 圖片
AI 去背是怎麼運作的?
簡答
AI 去背工具會用影像分割網路替每個像素打分,從 0(背景)到 1(主體)。這張分數圖會成為影像的 alpha 通道:主體處不透明、其他地方透明,頭髮等柔邊處則為半透明。結果必須存成有 alpha 的格式,通常是 PNG,否則背景會回來。
開啟AI 去背簡單說:遮罩變成 alpha 通道
一張照片有紅、綠、藍三個色彩通道。去背圖需要第四個通道,稱為 alpha,用來表示每個像素的不透明度。去背就是自動填好這個 alpha 通道的工作。
模型不會畫新的背景,也不會移動像素。它只對每個像素回答一個問題:這個像素有多少屬於主體?照片的顏色值維持原樣。當你把結果放在棋盤格或新背景上時,由 alpha 值決定哪些部分會透出來。
- 照片會先縮放到模型的工作尺寸。許多模型使用固定的正方形尺寸;以 BiRefNet 為例,它是以 1024 × 1024 訓練與測試的。
- 網路為每個像素輸出一個數字,最後的 sigmoid 步驟會把它壓進 0 到 1 的範圍。
- 分數圖會放大回原始照片的尺寸。
- 分數成為 alpha 通道(8 位元影像中為 0 到 255),檔案再以 alpha 編碼輸出。
由於第 3 步是把較小尺寸算出的遮罩放大,超大照片上的細緻邊緣其實只是估計值。這就是為什麼一張 6000 像素的商品照,中間看起來很銳利,輪廓卻略微模糊。
影像分割與摳圖(matting)的差別
去背結合了兩個研究領域,兩者的差異可以解釋大部分邊緣問題。
| 影像分割(segmentation) | 摳圖(matting) | |
|---|---|---|
| 回答的問題 | 這個像素是主體還是背景? | 這個像素有多少比例是主體? |
| 典型輸出 | 大多是 0 或 1 的遮罩 | 從 0 到 1 連續變化的 alpha 遮色片 |
| 額外輸入 | 通常不需要 | 傳統方法需要 trimap:確定主體、確定背景,以及未知的帶狀區域 |
| 擅長 | 整個物體、商品、乾淨的輪廓 | 頭髮、毛皮、煙霧、動態模糊、薄紗 |
| 典型缺點 | 邊緣生硬,像剪紙 | 速度慢,且需要對形狀有不錯的初步估計 |
分割決定物體在哪裡,摳圖決定邊緣如何融合。髮絲尖端的一個像素可能 30% 是頭髮、70% 是天空,所以正確的 alpha 約為 0.3,而不是 0 或 1。經典的深度學習摳圖方法 Deep Image Matting,會輸入影像加上手繪的 trimap,並在未知區域內預測這個小數值。
一鍵去背工具省略了 trimap。屬於二分影像分割(dichotomous image segmentation)系列的模型,例如 IS-Net 和 BiRefNet,是用輪廓非常精細的高解析度影像訓練的,因此不需使用者輸入就能跟上細小結構。它們的輸出仍是分割分數,而不是真正物理意義上的遮色片,但由於分數是連續的,產生的柔邊在大多數照片中看起來與摳圖相去不遠。
為什麼輸出必須是 PNG(或 WebP)
JPEG 沒有 alpha 通道。如果把去背圖存成 JPEG,每個透明像素都得有個顏色,工具會填上白色或黑色。你剛去掉的背景,就被一個純色背景取代了。
| 格式 | Alpha 通道 | 壓縮 | 適用場合 |
|---|---|---|---|
| PNG | 有,8 或 16 位元 | 無損 | 要進一步編輯、列印或設計檔案的去背圖 |
| WebP | 有 | 有損或無損 | 網頁用的較小去背圖 |
| JPEG | 無 | 有損 | 已套用純色背景的最終圖片 |
| AVIF | 有 | 有損或無損 | 支援的環境中用於網頁傳輸 |
PNG 規格採用非預乘(unassociated)方式儲存 alpha:半透明像素的顏色維持完整強度,alpha 則另外存放。因此 PNG 很適合當作母檔,之後放到任何背景上,都不會出現先前混合造成的深色邊緣。
如果平台要求白底的 JPEG,請先在工具中套用白色背景再匯出 JPEG,並把 PNG 留作母檔。
困難情況:頭髮、毛皮、玻璃、陰影
- 頭髮和毛皮。單根髮絲在模型的工作尺寸下細於一個像素,所以在模型看到之前就已經部分遺失。一撮撮的頭髮通常能保留,飛散的髮絲則會淡掉。對著單色、對比強烈的牆面拍攝,比任何設定都更有幫助。
- 顏色相近。黑狗在黑沙發上,或白襯衫在白牆前,會讓網路幾乎找不到邊緣。它只能靠對形狀的知識判斷,可能會切進主體裡面。
- 玻璃、水和薄紗。酒杯大部分是透過它看到的背景。分割模型必須二選一:保留酒杯(連同裡面的舊背景),或是整個拿掉。兩者在物理上都不正確;真正的透明需要遮色片加上玻璃的真實顏色,而單張照片給不出這些資訊。
- 陰影與倒影。商品的接觸陰影屬於地面,所以多數去背工具會把它刪掉,商品看起來就像懸浮在空中。許多商店照片之後補上柔和的陰影會更好看。
- 鏤空處。手臂與身體之間的空隙,或把手、腳踏車輪內部,都是背景。好的高解析度模型能抓到這些地方,較弱的模型則會把它們填滿。
- 顏色溢染。綠色或其他顏色的光反彈到主體邊緣,在背景消失後仍留在 RGB 值裡。放到新背景上,就會變成一圈有色的邊。
如何得到更乾淨的去背圖
品質大多取決於照片,而不是工具。以下是簡短的檢查清單:
- 拍攝時讓主體與背景在顏色和亮度上都有明顯對比。
- 讓主體保持清晰。動態模糊和邊緣的淺景深會變成不確定的 alpha。
- 讓主體填滿畫面。主體佔畫面比例越大,縮放到模型輸入尺寸後保留的細節越多。
- 把結果分別放在深色與淺色背景上檢查。白底看不出來的光暈,在黑底會現形,反之亦然。
- 頑固的區域用編輯軟體的柔邊橡皮擦或遮罩筆刷手動修,並且在 PNG 母檔上作業。
- 必須完美的人像髮絲,在自動去背後,請改用搭配 trimap 的摳圖工具,或使用邊緣精修筆刷。
特定工具的操作步驟,請參考去除照片背景的逐步教學。例如 cv.cm 的去背工具在瀏覽器中執行 BiRefNet,照片不會上傳,並可匯出透明 PNG,或把主體放在白底、純色背景或原圖的模糊版本上。
限制與合理期待
自動去背現在已經足以應付大多數商品上架圖、大頭照和簡報。但它無法取代廣告或電影製作中細緻的遮罩工作。模型只知道它在訓練資料中學到的東西:罕見的物體、重疊的人物,或不明確的主體(三個人當中哪一個是主體?),都可能產生出人意料的遮罩。
模型也不知道你想保留什麼。如果你只想要杯子而不要握著杯子的手,自動去背通常兩者都會保留,因為訓練資料把手和杯子視為同一個前景。請先裁切,或事後擦掉多餘的部分。
最後,去背並不會移除其他資訊。GPS 位置等 EXIF 資料可能仍在原始檔案中。如果要公開分享去背圖,請匯出新檔案,必要時移除中繼資料。
常見問題
為什麼我的去背圖有白色或灰色的外框?
邊緣像素仍帶有舊背景的顏色,而且那裡的 alpha 是半透明的。請把去背圖放在深色背景上檢查,然後在編輯軟體中稍微縮減或柔化邊緣,或是改用顏色更接近新背景的底色重拍。
為什麼我存檔後背景變成黑色或白色?
檔案被存成沒有 alpha 通道的格式,通常是 JPEG。請存成 PNG 或 WebP 才能保留透明。
AI 能把透明玻璃或瓶子去背嗎?
只能大致做到。單張照片無法告訴模型玻璃有多透明,所以它不是保留玻璃並讓舊背景透出來,就是去掉太多。做商品目錄時,請把玻璃拍在單純的淺色背景上,再手動編輯。
AI 去背跟綠幕一樣嗎?
不一樣。綠幕(色度鍵)是去掉一個已知的顏色,在光線均勻時很可靠。AI 去背沒有已知的顏色,必須辨識主體,所以可用於任何背景,但在細微邊緣處較難預測。
去背之後畫質會變差嗎?
如果匯出成 PNG,主體像素會保留原本的顏色,只有 alpha 改變。畫質損失發生在邊緣(遮罩以較小尺寸計算再放大),以及匯出成有損格式時。