語義分割 是什麼?

Semantic Segmentation:語義分割 的完整解釋

對圖像中每個像素進行類別標記,將整張圖像分解為具有語義意義的區域的電腦視覺任務。

語義分割(Semantic Segmentation)是電腦視覺領域中最精細的圖像理解任務之一,要求模型對圖像中的每一個像素都做出類別判斷,而非僅識別圖像整體(分類)或標記物件邊界框(偵測)。

任務層次比較

電腦視覺的圖像理解任務從粗到細可分為:

  • 影像分類(Image Classification):判斷整張圖像屬於什麼類別(狗/貓)
  • 物件偵測(Object Detection):標記圖中每個物件的邊界框(Bounding Box)與類別
  • 語義分割(Semantic Segmentation):對每個像素分類,但同類物件共用標籤
  • 實例分割(Instance Segmentation):不僅分類每個像素,還區分同類別的不同個體
  • 全景分割(Panoptic Segmentation):語義分割與實例分割的統一框架

主要模型架構演進

全卷積網路(FCN, Fully Convolutional Network) FCN(2015)是語義分割的開創性工作,將 VGG 等分類網路的全連接層替換為卷積層,實現端對端的像素級預測。透過反捲積(Transposed Convolution)進行上採樣,輸出與輸入等尺寸的分割圖。

編解碼架構(Encoder-Decoder) U-Net(2015,醫療影像)與 SegNet 採用對稱的編解碼結構:編碼器(Encoder)逐步縮小特徵圖提取語義,解碼器(Decoder)逐步放大還原空間分辨率。U-Net 的跳躍連接(Skip Connection)將編碼器的高分辨率特徵與解碼器的高語義特徵結合,保留細節邊界。

擴張卷積(Dilated/Atrous Convolution) DeepLab 系列(DeepLabv1 至 DeepLabv3+)引入擴張卷積,在不縮減特徵圖分辨率的情況下擴大感受野(Receptive Field),避免多次池化造成的空間信息損失。DeepLabv3+ 結合 ASPP(Atrous Spatial Pyramid Pooling)捕捉多尺度上下文。

Transformer-based 架構 SegFormer(2021)與 Mask2Former(2022)將視覺 Transformer(ViT)的自注意力機制引入語義分割,透過全局注意力捕捉長距離像素關係。Mask2Former 提出統一框架,同時支援語義、實例與全景分割。

SAM(Segment Anything Model) Meta AI 於 2023 年發布的 SAM 以大規模預訓練支援零樣本(Zero-shot)的通用分割,透過互動式提示(點擊、框選、文字)生成分割掩碼,顯著降低了語義分割在新場景中的部署門檻。

關鍵技術挑戰

  1. 類別不平衡:背景像素往往遠多於前景物件像素,訓練時需使用 Focal Loss、Dice Loss 或加權交叉熵。
  2. 邊界精度:小物件與細長物件(如柵欄、電線)的邊界難以精確分割。
  3. 遮擋與細小物件:被遮擋或像素極少的物件難以正確分類。
  4. 計算效率:像素級預測的計算量遠高於圖像分類,實時應用(如自動駕駛)需要輕量化架構(如 BiSeNet、Fast-SCNN)。

評估指標

  • 像素準確率(Pixel Accuracy):正確分類的像素比例(對類別不平衡不敏感,不推薦單獨使用)
  • 平均交並比(mIoU, mean Intersection over Union):各類別 IoU 的平均值,IoU = 真陽性 / (真陽性 + 假陽性 + 假陰性),是語義分割的主流評估指標
  • Dice Coefficient:2×TP / (2×TP + FP + FN),在醫療影像中常用,等同於 F1 Score 的像素版本

應用場景

  • 自動駕駛:區分道路、車道線、行人、車輛、障礙物,用於路徑規劃與碰撞避免
  • 醫療影像:腫瘤分割、器官定位(CT、MRI)、視網膜病變識別
  • 衛星遙感:土地覆蓋分類、農田識別、洪水範圍監測
  • 工業品質檢測:識別產品表面的缺陷區域
  • 增強現實(AR):場景理解用於虛擬物件融合
  • 圖像編輯:自動摳圖與背景替換(如手機的人像模式)

中英對照與常見說法

說法 出現場合
語義分割、語意分割 台灣兩種寫法都常見
语义分割 簡體寫法
Semantic Segmentation 英文原名
像素級分類 描述它在做什麼的說法

三種分割任務的差別

任務 做什麼 同類的兩個物件
語義分割 每個像素分到一個類別 不區分,兩個人都標成「人」這一類
實例分割(instance segmentation,实例分割) 每個像素分到一個類別且區分個體 區分,人 1 與人 2 分開
全景分割(panoptic segmentation) 前兩者合併 可數物件區分個體,天空道路這類不可數的只分類別

判斷該用哪一種,看你需不需要「數得出來」。計算車流量、追蹤個別行人要用實例分割;判斷可行駛區域、算植被覆蓋率用語義分割就夠。

物件偵測的差別則是輸出形狀:偵測給的是矩形框,分割給的是逐像素的遮罩。斜放的長條物體、樹枝、道路這類形狀,矩形框裡大半是背景,分割才描述得準。

主要架構

全卷積網路(FCN) 是起點,把分類網路最後的全連接層換成卷積,讓輸出保持二維空間結構。

U-Net是最廣為使用的架構,尤其在醫療影像。它的編碼器逐層下採樣抓語意、解碼器逐層上採樣還原解析度,並用跳接(skip connection)把編碼器同層的細節直接送到解碼器。這解決了分割最核心的矛盾:要判斷是什麼需要大範圍的語意,要定位邊界需要高解析度的細節,跳接讓兩者都保得住。

DeepLab 系列 用空洞卷積(dilated convolution)在不降低解析度的前提下擴大感受野,並用多尺度的空洞空間金字塔池化處理大小差異很大的物件。

Transformer 類(SegFormer、Mask2Former)近年在多數基準上領先,靠的是全域注意力帶來的長距離脈絡。

評估與資料的實務要點

主要指標是 mIoU(mean Intersection over Union):每個類別各算預測遮罩與標準答案的交集除以聯集,再取所有類別的平均。

類別不平衡是常態。 一張街景圖裡道路與天空佔掉大半像素,交通號誌可能只佔千分之一。用純像素準確率評估會嚴重誤導,這也是評估一定要用 mIoU 而不是準確率的原因。訓練時則常用加權交叉熵或 Dice 損失來補償。

標註成本極高。 逐像素標一張街景圖可能要一小時以上,這是分割資料集普遍偏小的原因,也是自監督預訓練與合成資料在這個任務上特別有價值的原因。

常見問題