facebookresearch/sam3

The repository provides code for running inference and finetuning with the Meta Segment Anything Model 3 (SAM 3), links for downloading the trained model checkpoints, and example notebooks that show how to use the model.

SAM 3 是什麼?

SAM 3(帶概念的分割一切)是 Meta 的最新「基礎模型」,用於圖像與影片的可提示分割。它在早期的 分割一切 模型(SAM 1/2)基礎上擴展,增加了透過簡短文字短語或少量範例塊描述,分割任意開放詞彙概念的所有實例的能力。實際上,您可以向模型輸入如 「所有紅色汽車」「戴帽子的人」 這樣的提示,它將為場景中所有匹配的物件返回掩碼、邊界框與置信度分數,適用於靜態影像與影片串流。


為何重要

  • 開放詞彙分割 – SAM 3 可以理解 數十萬個名詞短語(SA‑CO 基準測試包含 27 萬個獨特概念),遠超舊檢測器的封閉類別範圍。
  • 統一的影像 + 影片流程 – 單一模型包含一個 DETR 風格的檢測器(文字條件化)與一個 SAM 2 風格的 Transformer 跟蹤器,因此您可以使用相同的權重進行單影像推論、互動式優化或多幀影片追蹤。
  • 可擴展的資料引擎 – 團隊自動標註了超過 400 萬個獨特概念,創建了迄今為止最大的高品質開放詞彙分割資料集,推動了模型的出色性能(在新 SA‑CO 基準測試中達到人類水準的約 75–80%)。
  • 存在性標記與解耦設計 – 特殊標記幫助模型區分非常相似的提示(例如 「穿白色衣服的球員」「穿紅色衣服的球員」),檢測器-追蹤器的分離設計減少任務干擾,使 848M 參數模型能高效擴展。

快速入門(程式碼範例)

# 圖像範例 – 文字提示
from sam3.model_builder import build_sam3_image_model
from sam3.model.sam3_image_processor import Sam3Processor

model = build_sam3_image_model()          # 加載預設檢查點(需要 HF 存取權限)
processor = Sam3Processor(model)
processor.set_image("my_photo.jpg")
out = processor.set_text_prompt(state=processor.state, prompt="all dogs")
# out 包含掩碼、邊界框、分數
# 影片範例 – 開始會話並新增提示
from sam3.model_builder import build_sam3_video_predictor

vid = build_sam3_video_predictor()
resp = vid.handle_request({"type": "start_session", "resource_path": "my_video.mp4"})
sess = resp["session_id"]
resp = vid.handle_request({
    "type": "add_prompt",
    "session_id": sess,
    "frame_index": 0,
    "text": "people playing soccer"
})
outputs = resp["outputs"]  # 每幀的掩碼、邊界框、分數

該倉儲附帶 Jupyter 筆記本,逐步示範這些步驟、批量推論,甚至一個SAM 3 Agent,可串聯多個提示以解決更複雜的查詢。


核心元件

元件 作用
檢測器 DETR 風格,基於文字、幾何與範例塊條件化。尋找與提示匹配的物件。
追蹤器 重用 SAM 2 的 Transformer 編碼器-解碼器,跨影片幀傳播掩碼並支援互動式優化。
存在性標記 幫助模型區分非常相似的文本提示。
視覺編碼器 檢測器與追蹤器共享的骨幹網路,使模型大小維持在 848M 參數。

基準測試與效能

任務 指標(越高越好) SAM 3 人類
影像實例分割(SA‑Co/Gold) cgF1 54.1 72.8
影像框檢測(LVIS) AP 48.5
影片分割(SA‑V test) cgF1 30.3 53.1
影片追蹤(SA‑V pHOTA) pHOTA 58.0 70.5

這些數字顯示,SAM 3 正在縮小與人類表現的差距,同時支援遠超以往的詞彙量。


如何取得模型

  1. 在 Meta 的 Hugging Face 倉儲(facebook/sam3)中請求檢查點的存取權限。
  2. 使用 hf auth login 進行認證(或設定 HF_TOKEN)。
  3. 安裝套件(參見 安裝 部分),執行範例。

誰開發了它?

來自 Meta 超智慧實驗室(核心貢獻者、實習生與專案負責人)的大型跨領域團隊共同完成了論文、程式碼、資料引擎與基準測試的開發。README 列出了超過 40 名貢獻者,涵蓋研究、工程與產品領域。


授權與貢獻

程式碼以 SAM 授權(Meta 自訂授權)發布。歡迎透過常規的拉取請求流程進行貢獻;詳情請參閱 CONTRIBUTING.md 與行為準則。


TL;DR

  • SAM 3 = 一個單一模型,能以簡短文字短語或少量視覺範例描述的任何內容進行 檢測、分割與追蹤
  • 支援 影像與影片,支援 開放詞彙提示(數十萬個概念)。
  • 配備一個 大規模自動標註資料集新的存在性標記架構SA‑CO 基準測試的最尖端結果
  • 在 Hugging Face 上請求存取後,透過 pip install -e . 安裝,使用提供的筆記本開始實驗。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案