SAM 2
Meta 2024 · 論文
一行要約 — Segment Anythingをビデオへストリーミングメモリアテンションアーキテクチャで拡張し、フレームをまたいでオブジェクトを一貫して追跡・セグメント化する。同時に静止画に対してもSAMより高精度かつ6倍高速である。
問題
SAMは各画像を独立にセグメント化するため、ビデオに適用するとフレーム間でオブジェクトの同一性が失われる——しかしロボティクス、AR、ビデオ編集はいずれも、動き・変形・オクルージョン・照明変化を通じて、しばしば低品質なフレーム単位の入力(ブレ、カメラの動き)の下でも、同じオブジェクトを時間を通じて一貫してセグメント化することを必要とする。SAM 2は**プロンプト可能な視覚的セグメンテーション(Promptable Visual Segmentation, PVS)**を提起する。ビデオの任意のフレームに対するクリック/ボックス/マスクを与えられ、そのオブジェクトの時空間マスク(「マスクレット」)をビデオ全体にわたって予測し、任意のフレームでの追加プロンプトによって精緻化可能とする。既存のVOSモデルはこの意味でプロンプト可能ではなく、ビデオマスクのアノテーションは乏しかった——そのためモデルとデータセットを一緒に構築する必要があった。
手法とアーキテクチャ
SAMをストリーミングに一般化したもの——フレームを一つずつ消費し、メモリが空のときこのモデルはまさに画像上のSAMである。
- 画像エンコーダ: MAE事前学習された階層型ViTであるHieraがフレームごとに一度実行され、条件付けされていない多スケール埋め込みを生成する。階層構造によって、デコーダへの高解像度スキップ接続(メモリアテンションを迂回する)が可能になり、鮮明なマスクが得られる。
- メモリアテンション: 個のTransformerブロックが現在のフレームの特徴を過去に条件付ける——各ブロックは自己注意を行い、その後メモリバンクのエントリ(プロンプトされたフレームとプロンプトされていないフレームの空間メモリ、およびオブジェクトポインタ)へのクロスアテンションを行い、その後MLPを適用する。通常のアテンションであるため効率的なカーネルが適用可能である。
- プロンプトエンコーダ + マスクデコーダ: SAMと同様(点/ボックス/マスク; 複数の候補マスクによる曖昧性の処理)に加え、オブジェクトが現在のフレームにそもそも存在するかどうかを予測する新しいオクルージョンヘッド——ビデオでは、有効なプロンプトに対して可視な対象が存在しない場合がある。
- メモリエンコーダ: 予測されたマスクを畳み込みモジュールでダウンサンプルし、条件付けされていないフレーム埋め込みと要素ごとに加算し、軽量な畳み込み層で融合する。
- メモリバンク: 最大個の直近フレームメモリと最大個のプロンプトされたフレームメモリ(例えばVOSでは最初のフレームのメモリは常に保持される)からなるFIFOキューを空間特徴マップとして保存し、それに加えてオブジェクトポインタのリスト——マスクデコーダの出力トークンから得られる高レベルのオブジェクト意味情報を運ぶ軽量なベクトル——を保持する。
学習は画像とビデオの両方に対して同時に行われる。8フレームのシーケンスに対して最大2つのプロンプトされたフレームを用い、修正クリックはグラウンドトゥルースとモデル予測からサンプリングされる。初期プロンプトはグラウンドトゥルースマスク(p=0.5)、正のクリック(p=0.25)、またはボックス(p=0.25)である。
データエンジン(3段階): フェーズ1では、フレーム単位のSAMアノテーションを6 FPSで実施——37.8秒/フレーム、1.6万個のマスクレット; フェーズ2では、SAM 2 Maskが最初のフレームのマスクを伝播——7.4秒/フレーム(5.1倍の高速化)、6.35万個のマスクレット; フェーズ3では、完全なSAM 2をループ内で使用し、時折修正クリックを加える——4.5秒/フレーム(同等品質で8.4倍の高速化)、19.7万個のマスクレット、さらに別途の検証パスとカバレッジのための自動グリッドプロンプトマスクレットを併用。結果: SA-V——5.09万本のビデオ、64.26万個のマスクレット、3550万個のマスク、これまでのどのVOSデータセットよりも53倍多いマスク(自動生成分を除くと15倍)を持ち、CC-BY 4.0で公開された。
実験結果
- 対話型ビデオセグメンテーション: 9個のデータセットにわたり、SAM 2はオフライン設定・オンライン設定の両方でにおいてSAM+XMem++およびSAM+Cutieを上回り、3倍以上少ない対話操作でより高い精度を達成する。
- 半教師付きVOS(最初のフレームのマスクプロンプト)、: SAM 2(Hiera-L)はMOSE valで77.9、DAVIS 2017 valで90.7、LVOS valで78.0、SA-V val/testで77.9/78.4、YouTube-VOS 2019で89.3を記録する——最良の既存手法であるCutie-base+のMOSE 71.7、SA-Vでの約61/63と比べると、既存のVOSが「ビデオ内で何でもセグメント化する」ことからいかに遠かったかがわかる。
- 速度: 単一のA100上でHiera-B+で43.8 FPS、Hiera-Lで30.2 FPS——リアルタイムストリーミング。
- 画像セグメンテーション: 37データセットのSAベンチマークにおいて、SAM 2はSA-23で追加データなしに1クリックmIoU 58.9を達成し、SAMの58.1を上回りつつ6倍高速(より小さいが効果的なHieraエンコーダ)。SA-1B + ビデオの混合で学習するとこれは61.4に向上する。
- データのアブレーション: データエンジンによるデータの追加は、DAVIS/MOSE/YouTube-VOSのみでの学習と比較して、9個のゼロショットVOSデータセットにおいて平均+12.1 をもたらす; 精度はSA-Vの学習データ量に対してべき乗則に従う。
SLAMにおける意義
フレーム単位のマスクだけではSLAMには不十分である——システムは時間を通じて同じオブジェクトを見ていることを認識してセマンティックマップを構築し、動的シーンを扱う必要がある。SAM 2のストリーミングメモリ設計はSLAMパイプラインの逐次的な性質と整合する。時間的に一貫したマスクレットは、動的物体の除去、オブジェクトレベルのマッピング、データアソシエーションのための持続的なインスタンス同一性を可能にし、オクルージョンヘッドはマップ維持が対処すべき消失/再出現を明示的にモデル化する。時空間的なセマンティックマッピングシステム(Khronosスタイルなど)はこの能力の自然な利用者である。
関連ノート
- SAM — 画像のみの前身
- Grounding DINO — 追跡対象を指定するテキストプロンプト
- Khronos — 時空間的なメトリック・セマンティックマッピング
- DynaSLAM — 古典的SLAMにおける動的物体マスキング