通用分割模型 是什麼?

Segment Anything Model:通用分割模型 的完整解釋

Meta提出的大規模基礎模型,能對任意圖像進行實例分割,採用提示工程實現靈活的互動式分割。

核心概念

Segment Anything Model的核心創新在於其通用性和交互性。傳統的分割模型針對特定數據集或任務進行訓練,泛化能力有限。SAM則在大規模多樣化資料集(約11M圖像,1.1B遮罩)上訓練,學習通用的分割知識,能對任意新圖像進行分割。

SAM採用提示工程(Prompt Engineering)的思想。用戶可以通過多種提示方式(如點擊物體、畫邊界框、輸入文本描述)指導模型進行分割。模型設計為快速響應這些提示,實現實時互動。這與傳統的機器學習範式不同,傳統範式需要預先定義任務和訓練模型,而SAM是訓練一次,通過提示適應不同任務。

SAM的架構包含三個主要組件:圖像編碼器(高效處理高分辨率圖像)、提示編碼器(處理多種形式的提示)和輕量級的解碼器(快速生成分割遮罩)。這樣的設計使得圖像編碼可以進行一次並緩存,後續提示可以快速處理。

運作原理

SAM的運作流程如下:

首先是圖像編碼。輸入圖像被輸入到一個基於Vision Transformer的圖像編碼器(通常是ViT-H,具有16×16的補丁大小)。編碼器輸出高分辨率的特徵圖(1024×1024×768),捕捉圖像的豐富語義和空間信息。為了在推理時高效,這個編碼可以預先計算並緩存。

接著是提示編碼。SAM支持多種提示形式:點(前景點或背景點)、邊界框、粗略遮罩和文本(後續版本支持)。不同提示形式有各自的編碼器。例如,點提示被編碼為嵌入向量,邊界框被編碼為兩個點的嵌入,遮罩被輸入到一個小型卷積網絡。如果沒有提示,使用一個默認的學習嵌入表示。

然後進行特徵融合和解碼。提示嵌入與圖像編碼的特徵結合(通常通過自注意力融合)。然後通過一個輕量級解碼器(包含Transformer層和上採樣操作)生成分割遮罩。解碼器輸出多個可能的遮罩以及對應的置信度分數,允許模型表達分割的不確定性。

最後是遮罩後處理。SAM通常輸出多個遮罩候選和置信度。用戶可以選擇置信度最高的遮罩,或互動選擇。對於邊界精度要求高的應用,可以使用SAM輸出的低分辨率遮罩作為初始化,應用反向傳播優化遮罩邊界。

多輪互動:SAM支持逐步精煉分割。用戶可以添加額外的點(「還要包含這個區域」或「排除這個區域」),模型根據累積的提示生成改進的遮罰。這種互動過程模擬了人類標註者的工作流。

SAM的訓練目標是二元分割損失(交叉熵損失和Dice損失)以及輔助的損失(如置信度分數的監督)。訓練資料包含多樣化的圖像和對應的多個遮罩標籤(同一物體可能有多個合理的分割)。

實際應用

Segment Anything Model在多個領域創造了新的應用可能。

在互動式分割中,SAM使用戶只需點擊或畫框就能精確選取物體,大幅加速標註工作。在內容編輯軟件中,SAM可被整合為快速選取工具。

在自動資料標註中,SAM可用於自動為大量未標註圖像生成分割遮罰初始化,然後由人工審核和修正。這大幅降低了標註成本。Meta發布的SA-1B資料集(10億個分割遮罰)就是用SAM半自動標註的。

在遠程感應和醫學影像分析中,SAM已被應用於衛星影像分割、醫學掃描的器官分割等。其零樣本性質使其能快速適應新的影像類型。

在物體追蹤中,SAM與追蹤模型結合,用於視頻中的物體分割追蹤。

在3D重建中,SAM生成的2D分割被用於指導3D物體重建。

在機器人應用中,SAM幫助機器人視覺系統識別和分割場景中的物體,支持機械臂操作和抓取。

SAM的輕量級版本(MobileSAM)也被開發用於邊緣設備部署。

常見誤區

誤區一:SAM可以在任何圖像上完美分割。實際上,SAM的分割品質取決於提示質量和圖像特性。複雜場景、細小物體、遮擋物體等情況下,SAM可能失敗。它是一個強大的工具,但不是魔法。

誤區二:SAM無需微調就能用於特定領域。雖然SAM具有零樣本能力,但在特定領域(如醫學影像)的分割精度可能不如特定領域訓練的模型。微調或在領域資料上進行少樣本學習仍有價值。

誤區三:SAM的多遮罰輸出都同等有效。實際上,SAM為每個遮罰輸出置信度分數,反映模型對該遮罵的確信度。應優先選擇高置信度遮罵。

誤區四:提示越多越好。實際上,許多情況下單個點或邊界框就足以正確分割。過多提示可能引入噪聲或相互衝突,反而降低性能。

與相關技術的比較

  • SAM vs 傳統分割模型:傳統模型針對特定任務訓練,泛化差;SAM通用且零樣本。傳統模型可能在特定領域精度更高,SAM的優勢是靈活性和快速適應。

  • SAM vs DETR檢測:DETR進行邊界框檢測和分類,SAM進行像素級分割。兩者可結合使用,DETR檢測物體,SAM分割其邊界。

  • SAM vs 實例分割模型:Mask R-CNN等模型在訓練資料集上表現優異,但泛化能力弱;SAM泛化能力強,精度可能略低。SAM支持互動和多提示,實例分割模型不支持。

  • SAM vs 全景分割:全景分割同時進行語義分割和實例分割,SAM則主要關注實例分割。全景分割預定義類別,SAM無類別限制。

  • SAM vs 基礎模型:SAM是計算機視覺領域的基礎模型,類似BERT/GPT在NLP中的角色。其他視覺基礎模型(如CLIP、MAE)關注表示學習,SAM則專注分割任務。

常見問題