Visual Prompting
視覚プロンプティングでは、言葉の代わりにクリック、ボックス、マスク、またはサンプル画像を使って、ビジョンモデルに対象を指示します。SAMやオープンセット検出器での活用方法を解説します。
ビジュアルプロンプティングとは、言葉で対象を説明する代わりに、クリック、ボックス、手描きの線、マスク、例などで画像自体に印を付け、コンピュータービジョンモデルに何をセグメントまたは検出するかを伝える手法です。MetaのSegment Anything Model (SAM)など、プロンプトに対応した基盤モデルは、各印を埋め込みに変換し、再学習なしで指定された物体のマスクを予測します。ビジュアルプロンプトは特定の個体を指し示すか、見つけたい対象の例を示します。これにより、特定の欠陥や見慣れない部品など、テキストプロンプトで名前を付けにくい対象を扱いやすくなります。名称が似ているビジュアルプロンプトチューニングは、ファインチューニング中に追加の入力トークンを学習するプロンプトチューニング手法であり、画像に印を付ける人はいません。
ビジュアルプロンプティングの仕組み#
2023年にMetaが、1,100万枚の画像に対する11億個のマスクを含むSA-1Bデータセットとともに公開したSAMは、処理を3つの部分に分けます。大規模な画像エンコーダーであるビジョントランスフォーマーは画像ごとに1回実行され、軽量なプロンプトエンコーダーは点とボックスを位置埋め込みに変換し、マスクデコーダーは両者を組み合わせて約50ミリ秒でマスクを予測します。ウェブブラウザー上では、新たにクリックするたびに結果がインタラクティブに更新されます。クリック1回では、シャツを指しているのか着ている人を指しているのかが曖昧なため、SAMはそれぞれに品質スコアを付けて3つの候補マスクを返せます。MetaのSAM 2 (2024)は動画にもプロンプトを拡張し、クリックした物体を過去のフレームの情報を使って後続フレームまで追跡します。SAM 2.1はUltralyticsパッケージで実行でき、クリックは前景を示すラベル1または背景を示すラベル0が付いた点として指定します。
from ultralytics import SAM
# MetaのSAM 2.1ベースモデルを読み込みます
model = SAM("sam2.1_b.pt")
# 暗いコートを着た男性を前景クリック1回で指定します(ラベル1)
results = model("https://ultralytics.com/images/bus.jpg", points=[280, 600], labels=[1])
result = results[0]
# クリックした物体に対して予測されたマスクを画像に保存します
result.save(filename="sam_point_prompt.jpg")保存された画像には、SAM 2.1が1回のクリックから予測したマスクが表示されます。インタラクティブセグメンテーションでは、マスクが適切になるまでこの手順を繰り返します。Ultralytics Platformのスマートアノテーションモードもこの仕組みを利用します。クリックはそれぞれSAMの点プロンプトになり、現在のマスクの外側をクリックするとその領域が追加され、内側をクリックすると削除されます。結果はデータセットのタスクに応じて、ポリゴン、ボックス、または回転ボックスとして保存されます。
ビジュアルプロンプトの種類#
- 点とボックス: 前景や背景をクリックして領域を選択または除外します。物体を囲む大まかなボックスはクリックより曖昧さが少なく、検出器のボックスを使ってセグメンターに自動でプロンプトを与えることもできます。
- マスクと手描きの線: 前の手順で作成した粗いマスクや、物体の上に描いた線を使うと、クリックだけではうまくいかない予測を修正できます。
- 見本ボックス:1つの見本を囲むボックスで、同じ種類の物体をすべてモデルに検索させます。そのため、1種類のネジをすべて数える場合も、見本ボックスは1つで済みます。T-Rex2やYOLOEなどのオープンセット検出器と、MetaのSAM 3(2025年)は、このような見本プロンプトに対応しています。
- コンテキスト内の例: マスクやエッジマップなど、目的の出力を対応付けた見本画像によってタスク自体を定義します。モデルは類推に基づいて新しい画像の出力を完成させます。
- 視覚言語モデル向けのマーク: Set-of-Markプロンプトでは画像領域に番号付きのマークを描き、モデルが回答内で「領域3」のように参照できるようにすることで、視覚的なグラウンディングを改善します。
実際のアプリケーション#
- データアノテーション: 物体ごとに数回クリックすることで、ポリゴンの各点をなぞる作業を置き換え、インスタンスセグメンテーションデータセットの構築コストを削減できます。
- 医用画像: MedSAMは、10種類の画像診断モダリティにわたる1,570,263組の医用画像とマスクを使ってSAMを適応させたモデルです。臨床医が臓器や病変をボックスで囲むと、その輪郭が返されます。
- ロボティクス: オペレーターがロボットのカメラ映像内で物体をクリックすると、生成されたマスクによって、把持計画に使う物体の正確なピクセル範囲をロボットに示せます。










