SAM2論文解讀-既實現了視頻的分割一切,又比圖像的分割一切SAM更快更好

code:https://github.com/facebookresearch/sam2/tree/main
demo:https://sam2.metademolab.com/
paper:https://ai.meta.com/research/publications/sam-2-segment-anything-in-images-and-videos/

這是SAM
SAM
這是SAM2
在這里插入圖片描述

Facebook出品,繼SAM在圖像上分割一切后,SAM2實現了效果優異的視頻上的分割一切

  • 構建了能通過用戶交互持續改進模型與數據的數據引擎,收集了迄今為止規模最大的視頻分割數據集。
  • 該模型采用簡單的Transformer架構,配備流式內存以實現實時視頻處理。
  • 在視頻分割方面,SAM2準確度優于現有方法,且交互次數減少至三分之一;
  • 在圖像分割領域,相比"可分割任意模型"(SAM),SAM2精度更高且速度提升6倍(1024分辨率下實現130 FPS的圖像分割速度)。

針對的核心問題

  1. 圖像分割向視頻領域的擴展不足
    現有圖像分割模型(如SAM)無法直接處理視頻中的時空動態特性,如物體運動、變形、遮擋、光照變化等,且視頻數據具有時間維度,需要高效處理長序列幀。

  2. 視頻分割數據集的局限性
    傳統視頻分割數據集(如DAVIS、YouTube-VOS)規模較小,主要覆蓋完整物體,缺乏對物體部分遮擋/重現場景的覆蓋,難以支持“分割任意物體”的泛化能力。

  3. 交互式視頻分割的效率與精度平衡
    現有方法需大量人工交互(如多次點擊或重新標注),且模型難以在實時處理中保持高精度,尤其在復雜場景下容易丟失目標。

數據:交互式數據收集框架

  • 三階段迭代優化
    • Phase 1:基于SAM的逐幀手動標注,確保高質量空間掩碼。
    • Phase 2:引入SAM 2 Mask進行掩碼傳播,減少手動標注工作量(速度提升5.1倍)。
    • Phase 3:全功能SAM 2支持點/掩碼混合提示,利用內存機制進一步提升效率(速度提升8.4倍)。
  • 自動掩碼生成(Auto Masklet)
    • 通過網格點提示自動生成掩碼,覆蓋小物體和背景區域,提升數據多樣性。
    • 最終構建SA-V數據集:包含50.9K視頻、3550萬掩碼,是現有最大視頻分割數據集(比YouTube-VOS多53倍掩碼)。

任務定義

  • 核心目標:給定輸入視頻,通過在任意視頻幀上提供交互式提示(如點、框、掩碼),分割并跟蹤目標對象的時空掩碼(masklet),即生成覆蓋整個視頻的時空一致分割結果。
  • 交互性:用戶可在任意幀添加提示以迭代優化分割結果。例如,在某一幀糾正分割錯誤后,模型會將修正傳播到整個視頻,減少重復標注成本。
  • 對比半監督視頻對象分割(VOS)
    VOS通常僅在第一幀提供掩碼提示,且聚焦于完整物體跟蹤;PVS支持多幀任意提示,并可分割物體部分(如“人的手臂”),覆蓋更廣泛的“任意物體”場景。

模型

在這里插入圖片描述
(其中紅色線是手繪的,因為原圖中沒標注這部分,圖像編碼器的部分特征通過跳躍連接直接輸給mask decoder,來提高掩碼精度)

一、總體設計

  • 統一框架:SAM 2是首個統一處理圖像和視頻分割的基礎模型,將圖像視為單幀視頻,通過**流內存機制(Streaming Memory)**擴展SAM的靜態分割能力至動態視頻場景。
  • 輸入與輸出:接受視頻中任意幀的點、框、掩碼提示,輸出目標對象的時空掩碼(masklet),支持通過迭代提示逐步優化分割結果。

二、核心組件

1. 圖像編碼器(Image Encoder)
  • 采用23年的層次化視覺Transformer(Hiera),基于MAE預訓練,支持多尺度特征提取(共4各stage),其中高分辨率的1,2stage特征直接輸給mask decoder,3,4stage輸給memory attention。
2. 內存注意力模塊(Memory Attention)
  • 通過Transformer塊實現當前幀與Memory Bank中的歷史內存的交互。
  • 其中自注意力(Self-Attention)處理當前幀特征,交叉注意力(Cross-Attention)關聯Memory Bank中的空間特征對象指針(Object Pointers)
3. 提示編碼器與掩碼解碼器(Prompt Encoder & Mask Decoder)
  • 提示編碼器:與SAM完全兼容,支持稀疏提示(點/框)和密集提示(掩碼),通過位置編碼和卷積嵌入提示信息。
  • 掩碼解碼器
    • 多掩碼預測:處理歧義提示時輸出多個掩碼,如果后續提示仍存在歧義,則選擇最高IoU的掩碼進行傳播。
    • 遮擋預測頭:新增分支預測目標是否在當前幀可見,輔助內存更新和分割校正。
    • 跳躍連接(Skip Connections):引入圖像編碼器的高分辨率特征,提升掩碼細節精度(圖中手繪的紅色線)。
4. 內存編碼器

內存編碼器的實際輸入是預測得到的mask,以及image encoder得到的圖像嵌入,將mask下采樣后跟圖像嵌入逐元素相加,并經過一個輕量的卷積層得到最終的編碼信息。

5.Memory Bank
  • FIFO隊列:存儲最近N幀的內存M個提示幀的信息,統稱為spatial features,平衡時間上下文和計算成本。
  • 對象指針:輕量級向量存儲每幀的語義摘要,增強跨幀語義一致性,用以捕獲高層語義信息(如掩碼解碼器輸出的token),后續實驗驗證這個指針很有效。

與SAM的對比

維度SAMSAM 2
處理對象單幀圖像圖像+視頻(時空序列)
核心機制靜態提示-分割流內存+時間注意力+迭代提示優化
速度(FPS)21.7(ViT-H)130(Hiera-B+,圖像)/43.8(視頻)
交互效率依賴單幀多次點擊跨幀內存復用,交互次數減少3倍
數據集規模SA-1B(11M圖像)SA-V(50.9K視頻,3550萬掩碼)

訓練策略:圖像與視頻聯合優化

1. 預訓練(圖像優先)
  • 數據:SA-1B圖像數據集(11M圖像)。
  • 目標:學習基礎視覺特征和提示響應能力,與SAM初始化一致。
  • 技術細節
    • 損失函數:焦點損失 + 骰子損失(比例20:1),L1損失監督IoU預測。
    • 數據增強:水平翻轉,Resize至1024×1024,過濾掩碼面積>90%的樣本。
2. 全訓練(圖像+視頻聯合)
  • 數據混合
    • 圖像數據:15.2% SA-1B;
    • 視頻數據:70% SA-V + 14.8% Internal數據集 + 開源VOS數據集(如DAVIS/YouTube-VOS)。
  • 交替訓練策略:按數據規模比例交替采樣圖像和視頻批次,視頻批次處理8幀序列,圖像批次處理單幀。
  • 模擬交互式提示
    • 采樣8幀的序列,并隨機選擇最多2幀進行提示,在訓練期間根據真實掩模和模型預測的概率性接收矯正點擊(模擬用戶迭代優化),初始提示及概率為掩碼(50%)、正點擊(25%)或框(25%)
  • 數據增強
    • 視頻:水平翻轉、仿射變換、顏色抖動、隨機灰度化;
    • 馬賽克變換(10%概率):將視頻幀拼接為2×2網格,強制模型區分相似目標(附錄D.2.2)。
3. 微調(長視頻優化)
  • 目標:提升長視頻中的長時依賴建模能力。
  • 方法
    • 采樣16幀長序列,僅使用SA-V和Internal數據中“高編輯幀”樣本(前50%最難樣本);
    • 凍結圖像編碼器,僅微調內存和注意力模塊,學習率降至原值1/2,訓練50k迭代。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/910060.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/910060.shtml
英文地址,請注明出處:http://en.pswp.cn/news/910060.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

WPF 的RenderTransform使圖標旋轉180°

只是記錄一下思想&#xff1a; 本來想找兩個對稱的圖標給按鈕用&#xff0c;但是另一個找不到&#xff0c;就想到可不可以旋轉180實現另一個圖標的效果&#xff0c;問了一下DeepSeek&#xff1a; <Path Width"30" Height"30" Margin"1"Data…

Matplotlib 繪圖庫使用技巧介紹

目錄 前言 Matplotlib 簡介 快速入門 圖形結構解剖 常用繪圖函數 子圖與布局 單行多列子圖&#xff1a; 網格布局&#xff1a; 自定義位置&#xff1a; 樣式與標注 中文字體與科學計數 圖例、網格、坐標軸 動態圖與動畫 三維繪圖 常見問題與技巧 前言 Matplotli…

【Java基礎算法】1.相向指針練習

??博客主頁:程序員葵安 ??感謝大家點贊????收藏?評論??? 一、兩數之和 Ⅱ(167) 1.1 題目介紹 給你一個下標從 1 開始的整數數組 numbers ,該數組已按 非遞減順序排列 ,請你從數組中找出滿足相加之和等于目標數 target 的兩個數。如果設這兩個數分別是 nu…

“開放原子園區行”太原站:openKylin以開源之力,賦能產業發展

在數字化與智能化浪潮驅動下&#xff0c;開源技術已成為全球科技創新與產業升級的核心引擎&#xff0c;并為培育新質生產力開辟關鍵路徑。為加速開源生態建設&#xff0c;賦能區域經濟高質量發展&#xff0c;由開放原子開源基金會、山西省工業和信息化廳、山西轉型綜合改革示范…

【Elasticsearch】自定義相似性算法

在 Elasticsearch 中&#xff0c;可以通過自定義相似度算法來優化搜索結果的相關性。以下是幾種常見的自定義相似度算法的方法&#xff1a; 1. 使用內置相似度算法 Elasticsearch 默認使用 BM25 算法&#xff0c;但也可以切換到其他內置的相似度算法&#xff0c;如 TF-IDF 或布…

【對比】DeepAR 和 N-Beats

1. DeepAR 1.1 核心思想 提出者&#xff1a;亞馬遜&#xff08;Amazon&#xff09;團隊于2018年提出。目標&#xff1a;針對多變量時間序列進行概率預測&#xff08;Probabilistic Forecasting&#xff09;&#xff0c;輸出預測值的分布&#xff08;如均值、方差、置信區間&a…

Spring Boot單元測試終極指南:從環境搭建到分層測試實戰

Spring Boot測試終極指南&#xff1a;從環境搭建到分層測試實戰 掌握MockMvc與分層測試策略&#xff0c;讓你的代碼質量提升一個維度 一、環境搭建&#xff1a;Maven依賴深度解析 Spring Boot測試的核心依賴在pom.xml中配置如下&#xff1a; <dependencies><!-- 核心…

卷積類型總結

1. 標準卷積 (Convolution) 原理&#xff1a; 一個包含 K 個濾波器的卷積層&#xff08;每個濾波器大小為 FxF x C_in&#xff09;在輸入特征圖上滑動。在每個位置&#xff0c;濾波器與輸入圖像的局部區域進行逐元素相乘再求和&#xff08;點積運算&#xff09;&#xff0c;得到…

HP iLO使用實例:Integrated Lights-Out

文章目錄 參考名詞解釋iLODMTF SMASH CLP命令HP提供的命令VSPBIOS啟動順序BIOS指令啟動時報的電源錯誤如果ilo登陸不上去參考 ilo命令 https://support.hpe.com/hpesc/public/docDisplay?docId=c03334058 名詞解釋 iLO 從字面理解:Integrated Lights-Out,就是整合燈出;…

【前端隱蔽 Bug 深度剖析:SVG 組件復用中的 ID 沖突陷阱】

前端隱蔽 Bug 深度剖析&#xff1a;SVG 組件復用中的 ID 沖突陷阱 創建時間: 2025/6/20 類型: &#x1f50d; Bug 深度分析 難度: ????? 高級 關鍵詞: SVG、ID 沖突、Vue 組件、隱蔽 Bug、技術分析 &#x1f4d6; 引言 在前端開發的世界里&#xff0c;有一類 Bug 特別令…

IDEA 中 Tomcat 部署 Java Web 項目(Maven 多模塊 非 Maven 通用版)

引言 Java Web 開發中&#xff0c;Tomcat 是最常用的 Servlet 容器&#xff0c;而項目類型通常分為 Maven 管理&#xff08;依賴自動處理、多模塊聚合&#xff09; 和 非 Maven 純手工管理&#xff08;手動引入 jar 包、配置項目結構&#xff09;。本文覆蓋 兩種項目類型 的 T…

當建筑學會“行走”:MiC建筑如何重塑醫療空間

當塔吊林立的工地被智能化工廠取代&#xff0c;當混凝土現澆的轟鳴被精密模塊的無聲拼接覆蓋&#xff0c;建筑行業正經歷著自鋼筋混凝土革命以來最深刻的范式轉移。模塊化集成建筑&#xff08;MiC&#xff09;技術&#xff0c;這場以“制造組裝”為核心的新型工業化浪潮&#x…

計算機網絡八股第二期

計算機網絡八股第二期 1.講一講從輸入網址到網頁顯示之間發生了什么&#xff08;從網絡的角度&#xff09; 想想一下你從網店買一本書&#xff0c;從輸入網址到網頁顯示其實和你從網店買一本書差不多&#xff0c;網店發給你的是實體而網絡傳輸的是文字&#xff0c;圖片等等資…

FPGA基礎 -- Verilog 的值變轉儲文件(VCD:Value Change Dump)

Verilog 的“值變轉儲文件&#xff08;VCD&#xff1a;Value Change Dump&#xff09;”&#xff0c;這是一項在仿真調試中至關重要的技術&#xff0c;可以幫助你“看見”RTL中每個信號隨時間的變化過程。 一、什么是 Verilog 的值變轉儲文件&#xff08;VCD&#xff09; VCD …

流水燈芯片74HC138 → 74HC164 → 74HC595核心功能、引腳作用及芯片定位

一、74HC138&#xff1a;精準的“8選1開關” 核心作用 用3根控制線&#xff08;A0-A2&#xff09;實現8路嚴格單選&#xff0c;同一時刻僅1路輸出低電平&#xff08;其他7路高電平&#xff09;。 &#x1f4cc; 本質&#xff1a;二進制地址譯碼器&#xff0c;不是數據寄存器。…

鴻蒙Next倉頡語言開發實戰教程:懶加載

今天要分享的是倉頡開發語言中的懶加載。 先和初學者朋友們解釋一下什么是懶加載。懶加載在代碼中叫做LazyForEach&#xff0c;看到名字你一定能猜到它和ForEach的功能類似。只不過和ForEach的一次性加載所有數據不同&#xff0c;懶加載會根據屏幕可使區域按需加載數據&#x…

Linux 內核同步管理全解:原理 + 實戰 + 考點

&#x1f525; 推薦&#xff1a;《Yocto項目實戰教程&#xff1a;高效定制嵌入式Linux系統》 京東正版促銷&#xff0c;歡迎支持原創&#xff01; 鏈接&#xff1a;https://item.jd.com/15020438.html 一、為什么需要同步機制&#xff1f; Linux 是一個支持 多核并發 搶占式調…

效果成本雙突破!快手提出端到端生成式推薦系統OneRec!

近日&#xff0c;快手推薦模型團隊提出了一個端到端生成式推薦系統OneRec&#xff0c;該系統采用Encoder-Decoder架構&#xff0c;引入了基于獎勵機制的偏好對齊方法&#xff0c;借助強化學習增強模型效果&#xff0c;可在獎勵模型引導下直接生成契合用戶偏好的視頻內容。通過極…

flex布局 項目屬性

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>flex布局 項目屬性</title> <link href"css/k.css" rel"stylesheet" /> </head> <bod…

SpringBoot擴展——應用Web Service!

應用Web Service Web Service是一個SOA&#xff08;面向服務的編程&#xff09;架構&#xff0c;這種架構不依賴于語言&#xff0c;不依賴于平臺&#xff0c;可以在不同的語言之間相互調用&#xff0c;通過Internet實現基于HTTP的網絡應用間的交互調用。Web Service是一個可以…