MultiMatte 2026 背景除去モデルはプロンプト対応マッティングで SAM 3 のセグメンテーションを向上

MultiMatte はプロンプト対応のアルファマッティングを SAM 3 に追加し、すべてのベンチマーク分割で優れた結果を達成

MultiMatte は Feyn によってリリースされ、SAM 3 の 860M パラメータのうちわずか 2.27% を LoRA アダプタで変更するだけで、DIS‑VD ベンチマークで S‑measure 0.901 を達成しました。これは SAM 3 の 0.667 と比べて顕著な改善です。この進歩は、小さな低ランク更新によってバイナリセグメンテーション器が高品質なマットジェネレータに変化可能であり、元のテキストプロンプトの整合性も維持できることを示しています。


プロンプト対応マッティングはバイナリマスクの曖昧境界問題を解決

SAM 3 はテキストプロンプトで記述されたオブジェクトに対してバイナリマスクを返しますが、これは半透明や細かい構造(例:髪)を表現できません。MultiMatte はバイナリ出力を、各ピクセルに連続的な不透明度値を割り当てるアルファマットに置き換え、曖昧な境界の正確な抽出を可能にします。5つの高解像度 DIS 分割において、SAM 3 の S‑measure は 0.649 から 0.703 の範囲でしたが、MultiMatte は 0.893 から 0.923 の範囲を達成しました。


低ランク微調整(LoRA)は SAM 3 のテキスト整合性を保持

MultiMatte は、パラメータ効率的な微調整(PEFT)を用いて、各タワー(CLIPテキストタワーを含む)のアテンションおよび MLP 投影部に rank‑16 のアダプタを使用して LoRA で訓練されています。対象となる線形層は事前学習済み重みを固定したまま、小さな2つの行列を学習して低ランク更新を加えます。アダプタはリリースされた重みに統合されているため、推論には追加のライブラリが不要です。


学習データと目的関数

  • 画像: 19,953 枚の多様な画像(注目オブジェクト、 camouflage、髪、海洋シーン)。
  • ステップ数: 14,000 ステップの学習。
  • 損失関数: Focal loss + Dice loss。SAM 3 と同じセマンティックセグメンテーションの目的関数。
  • プロンプト監視: 4,949 枚の画像(セット全体の 24.8%)に人間が書いたラベル(ターゲットオブジェクト名)が含まれており、新しいマットヘッドが SAM 3 の既存のテキスト整合性を利用することを学習させます。

ベンチマーク結果は一貫した向上を示す

分割 SAM 3 MultiMatte Δ S‑measure
DIS‑VD 0.667 0.901 +0.233
DIS‑TE1 0.667 0.901 +0.234
DIS‑TE2 0.703 0.923 +0.220
DIS‑TE3 0.685 0.921 +0.235
DIS‑TE4 0.649 0.893 +0.244
DAVIS‑S (トレーニングの兄弟なし) 0.913 0.979 +0.066
DUT‑OMRON (トレーニングの兄弟なし) 0.792 0.901 +0.109

すべての分割で改善が見られ、トレーニング混合に兄弟データがないデータセットで最大の絶対的改善が得られていることから、強力な汎化能力が示されています。S‑measure の変化が 0.002 未満のものは測定ノイズとして扱います。


微調整後でもプロンプト制御は価値を発揮

LoRA アダプタによる微調整後でも、概念名の提供は性能向上に寄与します。DIS‑VD において、実際の概念名を提示すると、勾配ステップなしで SAM 3 に 0.150 の S‑measure 上昇をもたらし、MultiMatte にも依然として 0.036 の貢献が残っています。これにより、再訓練後もプロンプトパスが生存していることが確認されました。


NoBg ライブラリによる簡単な推論

MultiMatte は nobg Python パッケージを通じて配布されています。LoRA アダプタは統合済みのため、直接使用可能です:

from nobg import AutoModel, AutoProcessor

model = AutoModel.from_pretrained("feyninc/multimatte")
processor = AutoProcessor.from_pretrained("feyninc/multimatte")

# デフォルトプロンプト(概念名なし)
cutout = model.predict(processor, "photo.jpg")
cutout.save("output.png")

# プロンプト付き除去("the dog" を保持)
cutout = model.predict(processor, "photo.jpg", "the dog")

predict は RGBA カットアウトを返します。return_type="tensor" を設定すると、生のマットが得られます。


コミュニティからのフィードバックは現実世界での堅牢性を強調

"ほとんどの背景除去ツールが失敗する画像(色が似た馬とフェンス)で試してみましたが、MultiMatte は完璧に処理できました!" – zurtri

"デモはクライアントサイドですか?Preview.app → Tools → Remove Background という現在のワークフローと一致しています。" – peterldowns

"remove.bg が Canva に統合されるタイミングでちょうど良いですね;これは素晴らしいです!" – FlamingMoe

これらのコメントは、MultiMatte が色が似た前景/背景の難しいケースに対応でき、ユーザーがその導入の容易さを評価していることを裏付けます。


参考文献

  1. Meta. SAM 3: Concepts で何かをセグメントする. arXiv:2511.16719, 2025.
  2. Hu et al. LoRA: Large Language Models の低ランク適応. arXiv:2106.09685, 2021.
  3. Thinking Machines Lab. Regret なしの LoRA. 2025. https://thinkingmachines.ai/blog/lora/
  4. Lin et al. Dense Object Detection における Focal Loss. arXiv:1708.02002, 2017.
  5. Sargsyan & Navasardyan. FlowDIS: Flow Matching を用いた言語誘導二分画像セグメンテーション. CVPR 2026. arXiv:2605.05077.

Sources

関連

  • プロジェクト
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch