モデル・技術

Segment Anythingとは?1億枚のマスクで「何でも」を学んだ——汎用セグの原点

読み:せぐめんと・えにぃしんぐ / 英:Segment Anything(SAM)

更新日: 読了目安:約7分

Segment Anything(通称 SAM)は、Metaが2023年に公開した画像の汎用セグメンテーション基盤モデルです。従来のMask R-CNNが「人・車など決め打ちクラス」を学習するのに対し、SAMは1,100万枚・10億超のマスクで「切り出し方」そのものを学び、点や枠のプロンプトだけで任意の輪郭を返す——本記事はアーキテクチャの部品名より、「なぜラベル地獄を終わらせようとしたか」に焦点を当てます。

試験で問われる見方

Segment Anything単独の過去問はまだ少ない一方、辞典の定義は「プロンプトで任意物体をセグメントする基盤モデル」です。試験ではセグメンテーションの種類G-317TF-116)と代表モデルとの違いG-326)を土台に整理します。

誤答では、SAM=物体検出だけG-021)、SAM=画像生成SAM=形態素解析G-022)など、別タスクとのすり替えに注意します。

ラベル地獄からの脱却

画像認識の実務では、「何をラベルするか」がボトルネックになります。物体検出なら箱とクラス、セグメンテーションなら画素ごとのマスク——対象クラスを増やすほど、アノテーションコストは爆発します。

Segment Anythingは、クラス一覧を先に決めない設計を採りました。大規模データ(SA-1Bなど)で「点を置けばその周辺の物体らしい輪郭が返る」という汎用的な切り出し能力を学習し、下流タスクではプロンプトで対象を指定します。

  • 従来 — クラスごとに教師データを用意 → そのクラスだけ検出・セグ
  • SAM — 切り出し能力を汎用学習 → 利用時にプロンプトで対象指定
  • 試験向け — 「固定クラス教師あり」vs「プロンプト駆動の汎用セグ」の対比

Anythingの意味

名前の Anything は「犬でも車でもコップでも、プロンプトで指したものなら切り出せる」という野心を表します。モデル内部に「80クラス」「1000クラス」といった閉じた語彙表は持たない——これが基盤モデルとしてのセグメンテーションの転換点です。

観点教師ありセグ(例: Mask R-CNN)Segment Anything
対象の決め方学習済みクラスを自動検出ユーザーのプロンプト
未知クラス学習外は検出しにくいプロンプトがあれば切り出し可能
出力箱+クラス+マスクマスク中心
試験G-326汎用セグ・基盤モデル(G-396)

プロンプトで対象を指定

SAMの「プロンプト」は、テキスト指示だけではありません。空間的なヒントが中心です。

プロンプトユーザーの操作試験向け
点(ポジティブ/ネガティブ)「ここにある/ここは違う」最小クリックでマスク取得
矩形(ボックス)「この範囲の主対象」検出框に近いがマスク出力
既存マスク「この形を修正して」インタラクティブ編集

FCNセマンティックセグメンテーション(画素ごとに「道路」「空」などクラスを一括付与——個体は区別しない)の代表であるのに対し、SAMはプロンプトで個体レベルのマスクを得ます。インスタンスセグに近い出力を、クラス名なしで実現する——と整理すると、G-317・TF-117との接続が明確になります。

基盤モデルとしての位置づけ

SAMは、大規模データで事前学習し、下流タスクへ転用されることを想定した基盤モデルです(G-396)。BERTがテキスト理解の共通基盤であるのと同様、SAMは「画像から領域を切り出す」共通エンジンとして使われます。

  • アノテーション支援 点1つでマスク草案 → 人間が修正してラベルコスト削減
  • 画像編集 背景ぼかし・物体消去・切り抜き合成の前処理
  • 下流パイプライン 切り出した領域を別の認識・計測モデルへ渡す

SAMは画像を新しく描くモデルではありません。Stable Diffusionなどの生成モデルと組み合わせて「切り出した部分だけ編集する」——パイプラインの部品として使われることはありますが、生成そのものは別タスクです。

SAM 2との関係

SAM 2(Segment Anything Model 2)は、SAMの後継です。SAMが静止画の汎用セグを確立したのに対し、SAM 2は動画フレーム間で対象を追跡しながらマスクを更新する点を強化しました。

観点Segment Anything(SAM)SAM 2
主な入力画像画像+動画系列
時系列フレーム独立が基本フレーム間追跡
公開2023年2024年
試験汎用セグの原点として整理動画セグの拡張として整理

試験では世代の細部より、「プロンプト駆動の汎用セグメンテーション」という共通の設計思想を押さえるのが先です。

すり替えに注意

誤った説明正しい理解
SAM=SSD/YOLOマスク出力のセグ vs 物体検出(G-021)
SAM=Stable Diffusion領域切り出し vs 画像生成
SAM=Mask R-CNNプロンプト駆動の汎用セグ vs 固定クラス教師あり
SAM=形態素解析画像の領域分割 vs 文章の分割(G-022)
SAM=FCNの別名プロンプト指定の個体マスク vs 画素一括クラス分類
Anything=全自動で何でも検出プロンプトで対象を指定する必要がある

よくある質問

Segment Anythingは何をする技術ですか?

画像の中から、ユーザーが点や矩形などで指定した物体の輪郭(マスク)を切り出す汎用セグメンテーションの基盤モデルです。あらかじめ決めたクラス名(人・車など)に縛られず、プロンプトで「何でも」対象を分離できる点が特徴です。

Segment AnythingとSAM 2は同じですか?

同じ系譜ですが別世代です。Segment Anything(SAM)は2023年に公開された静止画向けの汎用セグメンテーションモデルです。SAM 2はその後継で、動画フレーム間の追跡を強化したモデルとして位置づけられます。

Segment Anythingは物体検出モデルですか?

いいえ。物体検出はバウンディングボックスとクラスを推定するタスクです。Segment Anythingは画素単位のマスク(領域の輪郭)を出力するセグメンテーション向けモデルで、ユーザーのプロンプトで対象を指定する設計が特徴です。