cv.cm

AI · AI 圖片

AI 去背是怎麼運作的?

閱讀約 7 分鐘

簡答

AI 去背工具會用影像分割網路替每個像素打分,從 0(背景)到 1(主體)。這張分數圖會成為影像的 alpha 通道:主體處不透明、其他地方透明,頭髮等柔邊處則為半透明。結果必須存成有 alpha 的格式,通常是 PNG,否則背景會回來。

開啟AI 去背

簡單說:遮罩變成 alpha 通道

一張照片有紅、綠、藍三個色彩通道。去背圖需要第四個通道,稱為 alpha,用來表示每個像素的不透明度。去背就是自動填好這個 alpha 通道的工作。

模型不會畫新的背景,也不會移動像素。它只對每個像素回答一個問題:這個像素有多少屬於主體?照片的顏色值維持原樣。當你把結果放在棋盤格或新背景上時,由 alpha 值決定哪些部分會透出來。

  1. 照片會先縮放到模型的工作尺寸。許多模型使用固定的正方形尺寸;以 BiRefNet 為例,它是以 1024 × 1024 訓練與測試的。
  2. 網路為每個像素輸出一個數字,最後的 sigmoid 步驟會把它壓進 0 到 1 的範圍。
  3. 分數圖會放大回原始照片的尺寸。
  4. 分數成為 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 值裡。放到新背景上,就會變成一圈有色的邊。

如何得到更乾淨的去背圖

品質大多取決於照片,而不是工具。以下是簡短的檢查清單:

  1. 拍攝時讓主體與背景在顏色和亮度上都有明顯對比。
  2. 讓主體保持清晰。動態模糊和邊緣的淺景深會變成不確定的 alpha。
  3. 讓主體填滿畫面。主體佔畫面比例越大,縮放到模型輸入尺寸後保留的細節越多。
  4. 把結果分別放在深色與淺色背景上檢查。白底看不出來的光暈,在黑底會現形,反之亦然。
  5. 頑固的區域用編輯軟體的柔邊橡皮擦或遮罩筆刷手動修,並且在 PNG 母檔上作業。
  6. 必須完美的人像髮絲,在自動去背後,請改用搭配 trimap 的摳圖工具,或使用邊緣精修筆刷。

特定工具的操作步驟,請參考去除照片背景的逐步教學。例如 cv.cm 的去背工具在瀏覽器中執行 BiRefNet,照片不會上傳,並可匯出透明 PNG,或把主體放在白底、純色背景或原圖的模糊版本上。

限制與合理期待

自動去背現在已經足以應付大多數商品上架圖、大頭照和簡報。但它無法取代廣告或電影製作中細緻的遮罩工作。模型只知道它在訓練資料中學到的東西:罕見的物體、重疊的人物,或不明確的主體(三個人當中哪一個是主體?),都可能產生出人意料的遮罩。

模型也不知道你想保留什麼。如果你只想要杯子而不要握著杯子的手,自動去背通常兩者都會保留,因為訓練資料把手和杯子視為同一個前景。請先裁切,或事後擦掉多餘的部分。

最後,去背並不會移除其他資訊。GPS 位置等 EXIF 資料可能仍在原始檔案中。如果要公開分享去背圖,請匯出新檔案,必要時移除中繼資料。

常見問題

為什麼我的去背圖有白色或灰色的外框?

邊緣像素仍帶有舊背景的顏色,而且那裡的 alpha 是半透明的。請把去背圖放在深色背景上檢查,然後在編輯軟體中稍微縮減或柔化邊緣,或是改用顏色更接近新背景的底色重拍。

為什麼我存檔後背景變成黑色或白色?

檔案被存成沒有 alpha 通道的格式,通常是 JPEG。請存成 PNG 或 WebP 才能保留透明。

AI 能把透明玻璃或瓶子去背嗎?

只能大致做到。單張照片無法告訴模型玻璃有多透明,所以它不是保留玻璃並讓舊背景透出來,就是去掉太多。做商品目錄時,請把玻璃拍在單純的淺色背景上,再手動編輯。

AI 去背跟綠幕一樣嗎?

不一樣。綠幕(色度鍵)是去掉一個已知的顏色,在光線均勻時很可靠。AI 去背沒有已知的顏色,必須辨識主體,所以可用於任何背景,但在細微邊緣處較難預測。

去背之後畫質會變差嗎?

如果匯出成 PNG,主體像素會保留原本的顏色,只有 alpha 改變。畫質損失發生在邊緣(遮罩以較小尺寸計算再放大),以及匯出成有損格式時。

全部 AI 教學