Segment Anything: A New Paradigm for Image Segmentation
ICCV 2023
Project Page by Meta AI
Paper
github
とりあえずProject Pageのdemoを試してみてください!
モデルのすごさが分かります!
概要
Segment Anything (SA)プロジェクトは、新しいタスク、モデル、およびデータセットを用いた画像セグメンテーションのための基盤モデルを提案している.本プロジェクトでは、効率的なモデルをデータ収集ループに組み込み、1億以上のセグメンテーションマスクを含む史上最大のセグメンテーションデータセットを構築した.このモデルは、プロンプトエンジニアリングを通じて、新しい画像分布やタスクへのゼロショット転移を可能にするよう設計・訓練されている.多くのタスクにおいて、ゼロショットでのパフォーマンスは驚くほど高く、従来の完全教師あり学習モデルと競合するか、上回ることがある.
従来手法との比較
従来の画像セグメンテーション手法には以下のような問題があった:
- 限定されたデータセット: 大規模なセグメンテーションデータセットが存在せず、特定のタスクやデータ分布に対するゼロショット転移が困難であった
- 柔軟性の欠如: 特定のタスクに特化したモデルが多く、他のタスクへの応用が難しかった
- リアルタイム性の欠如: インタラクティブな使用に適したリアルタイム性能を持つモデルが少なかった
新規性
Segment Anythingの新規性は以下の点にある:
- プロンプト可能なセグメンテーションタスク: 画像内の任意のセグメンテーションプロンプトに対して、有効なセグメンテーションマスクを返すタスクを定義している
- Segment Anything Model (SAM): 画像エンコーダ、プロンプトエンコーダ、マスクデコーダの3つのコンポーネントからなるモデルで、リアルタイムでのインタラクティブな使用が可能であり、曖昧さに対処できる
- データエンジン: 自動データ収集を支援する効率的なモデルを用いて、1億以上のセグメンテーションマスクを収集するデータエンジンを構築している
方法論
- プロンプト可能なセグメンテーションタスク: プロンプトとして、前景/背景の点、粗いボックスやマスク、自由形式のテキストなどを使用できる.モデルは、これらのプロンプトに基づいて有効なセグメンテーションマスクを返す
- SAMの設計: 画像エンコーダが画像埋め込みを計算し、プロンプトエンコーダがプロンプトを埋め込み、軽量なマスクデコーダがセグメンテーションマスクを予測する.プロンプトエンコーダとマスクデコーダは、ウェブブラウザ上で50ms以内に実行される
- データエンジン: 手動支援、半自動、および完全自動の3つのステージでデータ収集を行い、最終的に1億以上の高品質なセグメンテーションマスクを生成する
結果と評価
Segment Anythingは、COCO、ADE20K、LVISなどのセグメンテーションベンチマークにおいて、高品質なマスクを生成し、ゼロショット転移で優れた性能を発揮している.たとえば、COCOデータセットでは、SAMは従来の手法と比較して高い精度を示し、多くのタスクにおいて競争力のある性能を達成している.
結論
Segment Anythingプロジェクトは、画像セグメンテーションの基盤モデルを構築するための新しいタスク、モデル、およびデータセットを提案している.このアプローチにより、ゼロショットでのタスク適応が可能となり、多くの応用分野で高い性能を発揮することが期待される.SAMとSA-1Bデータセットのリリースにより、今後のコンピュータビジョン研究の進展が期待される.
githubのコード試す時
入力:
- セグメントしたい画像
- segmentation promptのいずれか
出力:
- segmentのmask領域