論文 · arXiv 2304.02643
Segment Anything
三句話總結
- 🎯 在無需針對特定任務微調的情況下,分割未見過的視覺概念並適應多樣化的下游分割任務。
- 🔧 提出了可提示分割任務、具備均攤即時遮罩解碼器的 Segment Anything Model (SAM),以及三階段資料引擎。
- 📈 在 SA-1B(涵蓋 1100 萬張影像的 11 億個遮罩)上訓練後,SAM 可零樣本遷移至邊緣偵測、物件候選生成與實例分割,在 23 個資料集中的 16 個上超越互動式基準模型。
摘要
我們介紹了 Segment Anything (SA) 專案:一個針對影像分割所提出的新任務、模型與資料集。透過在資料收集迴圈中使用我們的高效模型,我們建構了迄今為止(遙遙領先)最大的分割資料集,在 1100 萬張取得授權且尊重隱私的影像上擁有超過 10 億個遮罩。該模型經過專門設計與訓練以支援可提示性(promptable),使其能夠零樣本遷移至新的影像分布與任務。我們在多項任務上評估了其能力,發現其零樣本表現令人驚艷——通常可與先前完全監督式的結果相媲美,甚至更勝一籌。我們於 https://segment-anything.com 發布 Segment Anything Model (SAM) 以及包含 10 億個遮罩和 1100 萬張影像的相應資料集 (SA-1B),以促進電腦視覺基礎模型的研究。
英文原文摘要
We introduce the Segment Anything (SA) project: a new task, model, and dataset for image segmentation. Using our efficient model in a data collection loop, we built the largest segmentation dataset to date (by far), with over 1 billion masks on 11M licensed and privacy respecting images. The model is designed and trained to be promptable, so it can transfer zero-shot to new image distributions and tasks. We evaluate its capabilities on numerous tasks and find that its zero-shot performance is impressive -- often competitive with or even superior to prior fully supervised results. We are releasing the Segment Anything Model (SAM) and corresponding dataset (SA-1B) of 1B masks and 11M images at https://segment-anything.com to foster research into foundation models for computer vision.
論文解讀
問題與動機
在網路規模資料上預訓練的基礎模型徹底改變了 NLP 與視覺語言對齊(例如 CLIP),但通用電腦視覺仍缺乏能夠在多樣化分割任務中實現廣泛零樣本泛化能力的基礎系統。與網路規模的圖文語料庫相比,現有的影像分割資料集規模較小,且傳統的分割架構通常綁定於固定的語義類別或專門的互動式設定。
為了建構用於分割的視覺基礎模型,作者同時解決了三個核心要素:
- 任務:什麼樣的目標能夠實現通用的零樣本遷移?
- 模型:什麼樣的架構能即時支援靈活的提示,同時解決固有的視覺模糊性(visual ambiguity)?
- 資料:當網際網路資料缺乏密集遮罩標註時,該如何獲取網路規模的分割遮罩?
核心概念
- 可提示分割任務(Promptable Segmentation Task):模型必須在給定任何提示時返回有效的分割遮罩——例如前景/背景點、邊界框、密集遮罩或自由格式文字。當提示具有模糊性時(例如衣服上的單個點),模型必須輸出多個合理的階層式遮罩(子部件、部件、整體)。
- 非對稱均攤架構(SAM):計算量大的影像編碼器每張影像僅執行一次以產生嵌入,而輕量級提示編碼器與雙層 Transformer 解碼器可在網頁瀏覽器中的 CPU 上以約 的速度評估提示。
- 飛輪資料引擎(Flywheel Data Engine):三階段標註管線:
- 輔助手動:SAM 在瀏覽器中協助標註人員,將每個遮罩的標註時間從 34 秒降至 14 秒(收集了 430 萬個遮罩)。
- 半自動:SAM 偵測出高信心度的遮罩,引導標註人員關注未標註、較不明顯的物件(額外收集了 590 萬個遮罩)。
- 全自動:SAM 在均勻的 點網格以及放大的影像切塊(crops)上接收提示,產生 SA-1B 中的 11 億個遮罩。
方法細節
模型架構
SAM 由三個組件構成:
- 影像編碼器(Image Encoder):經 MAE 預訓練的 Vision Transformer(預設為 ViT-H/16),透過視窗注意力與四個全域注意力區塊進行調適,處理 的輸入以產生 256 通道的 嵌入。
- 提示編碼器(Prompt Encoder):
- 稀疏提示:點和邊界框使用位置編碼加上可學習的類型嵌入,映射為 256 維向量。自由格式文字則使用 CLIP 的文字編碼器進行編碼。
- 密集提示:輸入遮罩(解析度低 )透過步幅為 2 的 卷積進行降採樣,並逐元素加至影像嵌入中。
- 遮罩解碼器(Mask Decoder):雙層修改型 Transformer 解碼器。它透過交替的提示自注意力與雙向交叉注意力(標記至影像與影像至標記)來更新提示標記與影像嵌入。影像特徵透過轉置卷積上採樣 ,隨後 MLP 將輸出標記投影以產生動態線性分類器,逐點套用於上採樣後的特徵。
模糊感知輸出與損失函數
單一提示往往描述多個巢狀結構。SAM 藉由同時預測 3 個遮罩及其對應的估計 IoU 分數來處理模糊性。在訓練期間,反向傳播僅套用於候選預測中的最小損失: 輔助預測頭則最小化預測 IoU 與真實 IoU 之間的均方誤差: 當提供多個提示時,SAM 會使用第四個專用輸出標記輸出單一明確的遮罩。
實驗結果
- 零樣本點到遮罩遷移:在 23 個多樣化的分割資料集上(包括第一人稱視角、水下、航空和顯微鏡影像),SAM 使用單一中心點提示在 23 個資料集中的 16 個上優於 RITM(差距最高達 IoU)。當透過 oracle 選擇器從 SAM 的 3 個預測中解決模糊性時,SAM 在所有 23 個資料集上皆勝過 RITM。人類品質評分一致給予 SAM 顯著更高的評價(滿分 10 分中介於 7 到 9 分之間)。
- 零樣本邊緣偵測(BSDS500):在零樣本設定下,使用 網格搭配 Sobel 濾波與邊緣 NMS 進行評估,SAM 達到 0.768 的 ODS 與 0.928 的 R50,與 HED 等監督式模型表現相當(ODS 0.788, R50 0.923)。
- 零樣本物件候選生成(LVIS v1):SAM 在無類別監督的情況下達到 59.3 的 AR@1000,在中型物件(81.6 vs. 80.8)、大型物件(86.9 vs. 87.0)以及罕見類別(65.8 vs. 58.3)上皆優於完全監督式的 ViTDet-H 基準模型。
- 零樣本實例分割:當以 ViTDet 邊界框作為提示時,SAM 在 COCO 上達到 46.5 AP,在 LVIS 上達到 44.7 AP。在人工評估中,標註者一致認為 SAM 的遮罩比完全監督的 ViTDet 輸出更乾淨且品質更高。
局限性與未來方向
- 精細細節與極端縮放:相較於明確縮放至局部切塊的繁重計算量互動式方法,SAM 可能會遺漏超精細結構或產生微小的斷開組件。
- 完整管線延遲:雖然提示解碼是即時的(),但執行龐大的 ViT-H 影像編碼器並非即時。
- 語義理解:SAM 產出的是與類別無關的遮罩;若無可組合的外部分類器,它無法原生提供語義或全景類別標籤。
- 文字到遮罩提示:與幾何提示相比,零樣本對齊 CLIP 的文字提示管線仍處於初步階段且較為敏感。
關鍵術語
- promptable segmentation task
- 定義在給定任意輸入提示(例如點、邊界框、遮罩或文字)時,輸出有效分割遮罩為目標的任務。
- SAM
- Segment Anything Model;一種由龐大的 ViT 影像編碼器、提示編碼器與均攤即時輕量級遮罩解碼器組成的視覺模型。
- SA-1B
- Segment Anything 1-Billion 資料集,包含跨 1100 萬張高解析度且尊重隱私的影像中,自動生成的超過 11 億個遮罩。
- data engine
- 用於將遮罩標註擴展至網路規模的三階段人機協同(model-in-the-loop)框架(輔助手動、半自動與全自動)。
- ambiguity-aware modeling
- 一種設計選擇,解碼器針對單一提示輸出 3 個階層式遮罩及其預測 IoU,且僅從損失最低的預測中計算訓練梯度。
- amortized real-time inference
- 每張影像僅計算一次高計算量的影像嵌入,使後續以提示為條件的遮罩解碼能在 CPU 上以約 50ms 執行。
- zero-shot transfer
- 在不微調權重的情況下,利用提示工程評估預訓練的可提示模型在下游任務與未見過的影像分布上的表現。
- stable mask filtering
- 一種品質過濾機制,用於選取當 logit 機率圖在 與 進行閾值化時,二值化形狀變化微乎其微的遮罩。
常見問題
當單個點可能代表多個物件時,SAM 如何處理模糊性?
SAM 會同時輸出三個遮罩(通常代表子部件、部件與整體)以及預測的 IoU 信心度分數。在訓練期間,它僅反向傳播誤差最低之預測的損失。
SA-1B 中的 11 億個遮罩是人工標註的嗎?
不是,SA-1B 中釋出的遮罩有 99.1% 是透過在 1100 萬張影像上的均勻點網格提示 SAM 完全自動生成的,並經過了廣泛的信心度與穩定性過濾。
SAM 能根據文字描述分割影像嗎?
可以,這作為探索性的概念驗證。SAM 在訓練時將遮罩的 CLIP 影像嵌入作為提示標記輸入,從而允許在推論時使用來自 CLIP 文字編碼器的文字嵌入來提示 SAM。
如果人類認為 SAM 的遮罩品質更高,為什麼 SAM 在 COCO 上的遮罩 AP 會低於 ViTDet?
監督式模型學習了 COCO 真實標籤中存在之特定資料集的多邊形偏誤、邊界平滑假影以及非模態(amodal)慣例;而零樣本 SAM 輸出的則是符合人類知覺的清晰模態(modal)視覺邊界,但這會與具偏誤的標註產生 IoU 差距因而受到懲罰。
本頁解讀由 AI 根據論文生成,可能有錯誤;細節請以原文為準。