SAM2(Segment Anything 2)徹底解剖:動画でも“何でもセグメント”を実現する革新的モデルの全貌

こんにちは、ゆずかきです。
今回は、「Segment Anything Model 2(SAM2)」 という、新たに登場した画像・動画領域における汎用(Foundation)モデルについて、論文をガッツリ読み込みつつ解説してみようと思います。

このSAM2は、Meta FAIRの研究チーム(Nikhila Ravi ら)がarXivにて2024年10月に公開した論文

Segment Anything Model 2 (SAM2): arXiv:2408.00714 [cs.CV]
をベースにしており、「映像(動画)でも“何でもセグメンテーションできる”」というビジョンの実現を目指して構築された大規模モデルです。

前作のSegment Anything Model(通称SAM)も非常に注目を浴びましたが、今回は動画にも対応し、さらにモデルの設計や巨大データセットの作成など、かなり充実したアップデートとなっています。
論文タイトルにあるように「SegmentAnythinginImagesandVideos」――その名のとおり、静止画だけでなく動画やAR/VR、ロボット制御など幅広い応用を視野に入れたモデルとなっています。

本記事では、SAM2の狙い・背景・アーキテクチャから、そのために作成された大規模動画データセット“SA-V”の仕組みや、実験で得られた結果・考察や今後の展望まで、論文の内容を丁寧に網羅してみたいと思います。

論文URL
👇
SAM 2: Segment Anything in Images and Videos


§本記事の構成

  • はじめに: SAM2とは?
  • 論文の背景: なぜ動画対応が必要だったのか
  • 従来手法との比較:どこが画期的か?
  • SAM2のアーキテクチャ & 新タスク「PVS」の概要
  • データセット: SA-V (Segment Anything Video) の大規模化
  • 主要な実験結果と考察
  • Promptable Video Segmentation (PVS)
  • Semi-supervised VOS
  • Image Segmentation (Segment Anything)
  • SOTA手法との比較
  • 課題と今後の展望
  • まとめ
  • おわりに
  • 🔑ポイントまとめ

それでは順を追って見ていきましょう。


§はじめに: SAM2とは?

まず、Segment Anything Model というプロジェクトをご存じでしょうか。2023年前後に大きく話題になった「SAM」は、Meta AI(旧Facebook AI)研究チームが発表した、“どんなオブジェクトでも、プロンプト(クリックやボックスなど)を与えればセグメンテーションマスクを即座に返してくれる” という汎用モデルでした。

今回の SAM2 (Segment Anything Model 2) は、それをさらに 動画 にまで拡張したアップデート版です。具体的には、

  • 画像だけでなく、動画フレームを連続処理する
  • ストリーミングメモリを活用し、過去フレームの情報を統合
  • ユーザーが途中でプロンプトを追加しても、その履歴を保持しつつ再推論可能
    といった仕組みを実現しています。

また、論文では、大規模動画データセット「SA-V」(Segment Anything Video Dataset)の収集にもフォーカスしており、なんと 35.5M(3,550万)個のマスク を含むというスケール感。これに加えて既存の画像データ(SA-1Bなど)を含む大規模学習により、“動画でも、何でも切り抜く” という夢をより現実に近づけているわけです。


§論文の背景: なぜ動画対応が必要だったのか

論文冒頭では、なぜ “Segment Anything” を動画に拡張したのかが説明されています。前作のSAMは静止画において「何でも切り抜き」を実現しましたが、現実世界では動くオブジェクトを扱うことが非常に多い。

  • 自動運転 などでの物体追跡
  • AR/VR アプリケーションでユーザーの動作や周囲環境をリアルタイムに切り抜く
  • 動画編集(背景切り抜きやオブジェクトへのエフェクト付与)
  • ロボット制御(物体の姿勢や移動追従)

ところが、動画セグメンテーションは画像とはまた違った問題があります。

  • フレーム間でオブジェクトが大きく変形・変位する
  • 照明や画質の違い、カメラのブレ
  • 多数フレームを扱うための計算効率

既存の手法では、たとえば Video Object Segmentation (VOS)Interactive VOS (iVOS)、あるいは Video Tracking のように、動画用タスクは色々ありますが、それぞれ特定の場面や制約が多い(例えば、初期フレームのマスクを与えて追跡するだけ、など)。

しかし、Metaの提唱する「Promptable Visual Segmentation (PVS)」という新しい考え方は、“任意のフレーム、任意のタイミングで、人間がクリックやボックスでオブジェクトを指示し、モデルがそのオブジェクトを全フレームにわたってセグメンテーションしてくれる” という仕組み。
しかも必要に応じて再度任意のフレームで追加のプロンプトを与えれば、モデルは “メモリ” を使って再計算し、修正を全フレームへ反映できる――というのが大きな特徴なんですね。


§従来手法との比較:どこが画期的か?

1. Interactive Video Segmentation (iVOS)の新たなステージ

既存のiVOS手法(クリックやスクリブル入力などでオブジェクトを指定し、フレーム間を追跡)は確かにありました。ただ、多くは画像用のSAMを単独で使い、あとは別モデルのトラッカーを併用していたりして、修正が煩雑。フレームごとに再度マスクを取り直して合成したり…というプロセスでした。

SAM2 なら、1つの統合モデル が「クリック → マスク生成 → 動画全フレームへ適用 → 途中で再クリックあれば修正して再適用」という一連の操作を完結。
これによって大幅に操作が簡易になり、さらに精度も上がることが実証されています。

2. 大規模動画データセットでの学習

従来のVOS系データセットは、YouTube-VOS(約20万マスク)やDAVIS(2〜3万マスク)などが有名ですが、それらはいずれもカテゴリが限られている、またはスケールが小さい
SA-V (Segment Anything Video) は、50.9K(5万超)動画 & 35.5M(3,550万)マスク という破格の規模。
当然、これだけの多様性をカバーするデータがあることで、クラスに縛られずあらゆるオブジェクトやパーツを切り出せるスキルが身につくわけです。

3. 画像にもそのまま対応が可能

論文中には「動画は1フレームが画像に相当する」ので、SAM2は画像もちゃんと扱えると説明されています。

  • 動画的には「フレーム数 = 1」となれば、従来のSAMのように画像のPromptable Segmentationとして振る舞う
  • 実際、画像タスクに対してもSAMより精度が良く、かつ6倍高速

という結果が示されており、単なる拡張ではなく性能自体もアップしている点が興味深いです。


§SAM2のアーキテクチャ & 新タスク「PVS」の概要

では、具体的に“Promptable Visual Segmentation (PVS)” とは何か、そこから SAM2の構造 はどうなっているのか、順に見ていきましょう。

PVS: Promptable Visual Segmentation

PVS は、先述したように「ユーザーの任意のフレームに対して、クリック・ボックス・マスクなどのプロンプトを与えると、そのオブジェクトを動画全体でセグメンテーションする」というタスクです。

  • フレームを超えてオブジェクトを追跡し、スパッとマスクを返す
  • オブジェクトが一部フレームで消失していても(たとえば被写体が画面外に出る)、モデルは「そこにはマスク無し」と返す
  • 途中でモデルがオブジェクトを見失ったら再クリック → もう一度モデルが全フレームのマスクを修正してくれる

このようなインタラクティブな動画セグメンテーションを1つのモデルでやり切るのがSAM2の大きな狙いです。

SAM2の構造概略

論文中のFig.3(こちらの記事ではテキストで)で示されるように、SAM2は Transformer 系のアーキテクチャであり、ストリーミングメモリ を活用しています。
大まかな流れは下記のようになります(図式化すると、SAMのマスクデコーダ部が動画対応になり、かつメモリバンクが生えたイメージ)。

  1. Image Encoder (Hiera, MAE Pre-trained)
  • フレームごとに画像エンコーダが走り、ストライド16や32の特徴マップを抽出。
  • これはSAMも同様ですが、SAM2向けに大規模MAE事前学習モデル「Hiera」ベースを使うことでより高速 & 強力な特徴を得るとのこと。
  1. Memory Attention
  • 過去フレームで生成された“メモリ”(オブジェクトの特徴、マスク情報など)を参照して、現在フレームのセグメンテーションを補助。
  • メモリはFIFOキュー的に保持され、最大Nフレーム分と、プロンプトフレーム分を保存できる。
  • フレームごとに“self-attention”と“cross-attention”を繰り返し、「現在フレーム × 過去フレームのメモリ」 から良いセグメンテーション表現を得る。
  1. Prompt Encoder & Mask Decoder
  • クリックやボックスなどのプロンプト情報を埋め込みベクトルにして、メモリと合流させる。
  • マスクを出力するトークンを用意し、最終的にピクセルレベルのマスクを生成。
  • SAMと同様、IoU推定ヘッド(そのマスクが正しそうかどうかを予測)も付いているが、“今回はフレームにオブジェクトが存在しない” という追加ヘッドも導入。
  1. Memory Encoder
  • 得られたマスクを特徴量に加えて“記憶” として格納しておく。以後のフレーム計算で参照できるようにする。
  • “オブジェクトポインタ” と呼ばれる高次元情報を短いベクトルで保持し、トランスフォーマーのCross-Attention時に参照する。

要は、“画像だけなら普通のSAMとして動作、複数フレームであれば過去のメモリを参照しつつリアルタイム推論” という仕組みを整えたというわけですね。
論文中での利点は以下にまとめられています。

  • 推論がストリーミング可能:フレームを逐次読み込み、すぐにセグメンテーションが得られる
  • 大きいモデルなのに、メモリ使用量を抑えられる(全フレームを一括で保持するのではなくFIFOで保持)
  • “途中のオブジェクト見失い”にも対処しやすい:追加クリックなどがあれば、その情報をメモリに再度書き込んで全フレーム再計算

§データセット: SA-V (Segment Anything Video) の大規模化

ここで論文の肝となる“SA-V (Segment Anything Video)” データセットについて解説しましょう。

動画スケールが圧倒的

  • 50.9K(約5万)動画
  • 35.5M(3,550万)のマスク
  • 全体で196時間分の映像
  • 1動画あたり平均13.8秒
  • オブジェクトサイズもバリエーション豊富(小物から大物まで)

既存のYouTube-VOS(20万弱のマスク)やDAVIS(2〜3万マスク)に比べて、50倍以上 のボリューム感です。

収集手順:SAM2をアノテーション支援に活用し、3段階でデータを巨大化

論文では、「データエンジン」 と呼ぶモデル→アノテータ→モデルのループでデータ構築を行ったと記載があります。具体的には

  1. Phase1: 静止画SAMを使って各フレームで手作業(フレーム単位にマスク取得)→ 時間かかるが高品質。
  2. Phase2: 簡易版のSAM2マスク伝播を導入 → 最初のフレームでマスクを描き、次フレーム以降はモデルが自動追跡 → 人間が修正しながらマスク完成。
  3. Phase3: フル版SAM2を使ってクリックやボックスなどを挿入しながら、高速かつ高精度にアノテーション。

こうして、最終的にアノテータが“これはOK”と認定したマスクだけを採用し、さらに自動的にマスク生成したもの(Auto)を加えて、多種多様なオブジェクトを集めたとのこと。
論文には、Phase3では「1フレームあたり4.5秒」という高速化を実現し、Phase1と比べて8.4倍ほど高速になった数字も載っています。それも「モデルが一貫してメモリを持ってくれるから」フレームごとの再描画が不要になるわけですね。

トレーニング用データmix

このSA-Vに加えて、画像用のSA-1B(前作のSegment Anything画像データセット)や、他のVOSデータセット(YouTube-VOS, DAVIS, MOSEなど)も組み合わせてSAM2を学習。
結果として、

  • 画像タスク(=0フレーム or 1フレーム) でも
  • 動画タスク(=多数フレーム) でも

どちらも高精度に動くモデルを完成させたとのことです。


§主要な実験結果と考察

本論文では、以下のタスクで大量の実験を行い、ゼロショット性能やSOTAとの比較を示しています。ざっと重要な結果をかいつまんで紹介します。

1. Promptable Video Segmentation (PVS)

これは前述のとおり、ユーザーが好きなフレームにクリックを打ち、モデルが全フレームにわたってオブジェクトをセグメントするという設定です。
さらにオフライン評価(何度も動画を往復して誤りの多いフレームを選んで修正)と、オンライン評価(動画を一方向に再生しながら誤りを検知したら修正)を用意し、どれだけ精度が高いか・何回クリックが必要かを測っています。

  • SAM2は、既存ベースライン(SAM + XMem++など)に比べて、3倍少ないクリック数で同等かそれ以上の精度を達成。
  • 動画1本あたりのアノテーション時間も、他手法より格段に短い。

非常にインタラクティブなシナリオでは、モデルのメモリ機構が効いて“1度指定したオブジェクトは多少外見が変わっても追跡を続けられる”とのことです。

2. Semi-supervised VOS

これは従来からあるタスクで、「動画の最初のフレームに完全なマスクを与え、以降はモデルが追従セグメンテーション」をする設定です(DAVIS, YouTube-VOSなどで有名)。
SAM2は、この設定にも対応可能。(プロンプトを“最初のフレームのマスク”とみなし、あとはメモリに基づいて全フレーム処理。)

実際、YouTube-VOSやDAVIS2017など計17種類のベンチマークで比較したところ、

  • 従来SOTA(XMem++やCutieなど)を大きく上回る精度を記録
  • 特に、SA-Vなどのオープンワールドに近いデータでもきちんとセグメンテーションが可能
  • 大きいバックボーンを使えばリアルタイム(30fps超)で動きつつ高精度、というトレードオフも良好

3. Image Segmentation (Segment Anything)

さらに画像の従来タスク、いわゆる「1枚の画像にクリックを与えたらそのオブジェクトを切り抜く」という点でも、

  • SAM(ViT-H) より精度が高い
  • かつ、6倍高速

という結果が示されています(※Hieraベースの高速化やメモリ効率向上の恩恵が大きい模様)。

4. 他SOTA手法との比較

論文終盤には、従来のVideo Object Segmentation SOTA勢(DeAOT, XMem, Cutie, STCNなど)との大規模比較表が並んでいます。
結果として、多くのベンチマークでSAM2が最高精度を塗り替え、特に

  • 長時間動画(LVOS, LVOSv2)
  • 大きく外見が変化するオブジェクト
  • オブジェクトが一時的にフレーム外へ消えるケース

でも頑健に動作することが報告されています。

論文中の定量的な数値をまとめると、例えばMOSE, DAVIS17, YouTube-VOS2019 などでのJ&Fスコアが 76〜90%超とかなり高く、従来手法を上回っています。
また、SA-VのVal/Testセットにおいては、Cutieなど有力モデルを15ポイント以上上回るなど、非常に大きな差を示したそうです。


§課題と今後の展望

とはいえ、論文でもいくつかの限界・課題が指摘されています。

  1. 長時間動画でのドリフト
  • オブジェクトが長い間画面外にあったり、非常に似たオブジェクトが複数出てくると、モデルが混乱しやすい。
  • メモリを工夫しているが、それでも環境によっては見失うケースがある(ただし追加フレームでクリックプロンプトすれば補正は可能)。
  1. 微細なパーツや高速移動への対応
  • 髪の毛や非常に細い部位など、フレーム間で大きく形状が変化する場合は、まだ取りこぼしや誤りが混入する可能性。
  1. 注釈者の意図と違うパーツを取りがち
  • 1クリックしかない場合、「タイヤ」だけを取りたいのか「自転車全体」なのか判別が難しい。
  • SAM2は複数マスクを同時に提示するが、ユーザーが都度正しい方を選択する必要がある。
  1. 学習コスト・計算コストの高さ
  • 35.5Mマスクのデータセットを使い、巨大なモデルで学習しているため、訓練コストは莫大。
  • 推論は高速化したとはいえ、非常に大きなモデルを動かすため、GPUメモリなどのリソースも要する。
  1. ディープフェイク等のリスク
  • これは論文で直接言及されていませんが、動画オブジェクトを簡単に抽出できる技術の社会影響には注意が必要。
  • 著作権やプライバシーの懸念があるケースも。

こうした課題を踏まえつつ、論文では「さらなるモデル拡大」や「他のモダリティ(音声やテキスト情報)との融合」による拡張可能性が示唆されています。また、
“将来的には全てのコンテンツを、プロンプト一つでセグメンテーションできる技術”
が重要になるだろう、と言及しています。


§まとめ

Segment Anything Model 2 (SAM2) は、Metaの研究チームが提案する「動画領域における汎用セグメンテーション」を実現するモデルでした。
主なポイントを簡潔にまとめると、

  1. Promptable Visual Segmentation (PVS):フレームを跨いだオブジェクト指定&修正が可能な、インタラクティブ動画セグメンテーションの新タスク。
  2. 巨大データセット「SA-V」:5万本・3,550万マスクという過去最大級の動画セグメンテーションデータセットを構築。
  3. ストリーミングメモリアーキテクチャ:動画フレームを順次処理しつつ、過去の予測をメモリに格納し、必要に応じて修正もできる。
  4. 従来手法を大幅に上回る精度:17種の動画ベンチマーク(VOSタスクなど)でSOTA性能を示し、画像のSegment AnythingタスクでもSAMを上回る結果。
  5. 課題:長時間動画での混乱、リソースコスト、正しいパーツの選別など、いくつかの未解決点。

とはいえ、この論文は間違いなく「動画における汎用セグメンテーション」の一里塚となるものであり、今後の研究やアプリケーションにも大きく寄与するはず。


§おわりに

本記事では、SAM2: Segment Anything in Images and Videos の論文をベースに、大規模データセット構築からアーキテクチャ、実験結果、今後の展望まで幅広く解説しました。
個人的には、“動画でも1フレームだけ指示したら、あとはモデルが全フレームで自動マスク” してくれるのは非常にロマンがありますし、画像版SAM以上に実用性が高いと感じます。

実際、動画編集、AR、ロボティクス、監視カメラ分析など、多様な場面で「Promptableで何でも切り抜ける」というのは圧倒的な時短・効率化をもたらしそうです。
まだ課題は多々ありますが、現時点でもSOTAを超える性能が出ているというのは驚きですし、今後さらに進化していくのは間違いありません。

最後までお読みいただき、ありがとうございました!


🔑この記事のポイントまとめ

  • SAM2 とは:動画版Segment Anythingを実現する大型モデル(Meta FAIR発)。
  • PVS (Promptable Visual Segmentation):任意フレーム+クリック/ボックス/マスクで動画全体のオブジェクトを切り抜き可能。
  • SA-Vデータセット:3,550万マスク規模という、過去類を見ない巨大動画データ。
  • 実験結果:動画セグメンテーション(VOS)・画像セグメンテーション(SAタスク)ともにSOTA級性能。
  • 課題と展望:長時間追跡やリソース負荷などはまだ発展途上。将来的にはあらゆるモダリティと組み合わせた“何でも切り抜き”が目標か。

画像解析

Posted by yuzukaki-dialog