Visual Prompting
ポイントやボックスでAIモデルを誘導する視覚的プロンプティングを探求しましょう。Ultralytics YOLOとSAMがどのように正確なセグメンテーションと効率的なデータアノテーションを実現するかを学びます。
Visual prompting is an emerging technique in computer vision where users provide spatial or visual cues—such as points, bounding boxes, or scribbles—to guide an AI model's focus toward specific objects or regions within an image. Unlike traditional prompt engineering which relies primarily on text descriptions, visual prompting allows for more precise and intuitive interaction with Artificial Intelligence (AI) systems. This method leverages the capabilities of modern foundation models to perform tasks like segmentation and detection without requiring extensive retraining or large labeled datasets. By effectively "pointing" at what matters, users can adapt general-purpose models to novel tasks instantaneously, bridging the gap between human intent and machine perception.
Link to this sectionビジュアルプロンプティングのメカニズム#
その本質において、ビジュアルプロンプティングは空間情報をモデルの処理パイプラインに直接注入することで機能します。ユーザーがオブジェクトをクリックしたりボックスを描画したりすると、これらの入力は座標ベースの埋め込みに変換され、ニューラルネットワークが画像の特徴と統合します。このプロセスは、Segment Anything Model (SAM)のようなインタラクティブなアーキテクチャの核心であり、モデルは幾何学的なプロンプトに基づいてマスクを予測します。
ビジュアルプロンプティングの柔軟性により、さまざまな種類のインタラクションが可能です。
- ポイントプロンプト: ユーザーが特定のピクセルをクリックして、対象となるオブジェクトを指定します。モデルは、この選択をオブジェクト全体の境界まで拡大します。
- ボックスプロンプト: BBoxを描画することで大まかな位置情報を提供し、そのエリア内に含まれるすべてのものをセグメント化または分類するようにモデルに合図を送ります。
- 落書き(スクリブル)プロンプト: オブジェクト上にフリーハンドの線を描くことで、オブジェクトが重なっていたり、似たようなテクスチャを持っていたりする複雑なシーンを明確にするのに役立ちます。
CVPR 2024で発表された最近の研究では、ビジュアルプロンプティングによってデータアノテーションに必要な時間が大幅に短縮されることが強調されています。人間のアノテーターは、手作業でポリゴンをトレースする代わりに、簡単なクリック操作でリアルタイムにモデルの予測を修正できるためです。
Link to this sectionビジュアルプロンプティングとテキストプロンプティングの比較#
両方の手法はモデルの動作を誘導することを目的としていますが、ビジュアルプロンプティングをテキストベースの手法と区別することが重要です。テキストから画像への生成やゼロショット検出は、自然言語処理 (NLP)を利用して(「赤い車を見つけて」といった)意味的な記述を解釈します。しかし、言語は曖昧である可能性があり、正確な空間的位置や抽象的な形状を記述するには不十分な場合があります。
ビジュアルプロンプティングは、指示をピクセル空間そのものに根付かせることでこの曖昧さを解決します。例えば、医療画像分析において、放射線科医が疑わしい結節をクリックする方が、テキストでその正確な座標や不規則な形状を記述しようとするよりもはるかに正確です。多くの場合、最も強力なワークフローは両方のアプローチを組み合わせたものです。意味的なフィルタリングにはテキストを使用し、空間的な精度にはビジュアルプロンプトを使用します。これはマルチモーダル学習として知られる概念です。
Link to this section実社会での応用#
ビジュアルプロンプティングの適応性の高さは、さまざまな業界での急速な採用につながっています。
- インタラクティブな医療診断: 医師はビジュアルプロンプティングツールを使用して、MRIスキャン内の腫瘍や臓器を分離します。関心領域をクリックするだけで、3D体積測定値を即座に生成でき、正確な腫瘍検出や手術計画の立案を支援します。
- スマート写真編集: Adobe Photoshopやモバイルアプリなどのコンシューマー向けソフトウェアにおいて、ビジュアルプロンプティングは「マジック選択」ツールを支えています。ユーザーは人物やオブジェクトをタップして背景を削除したり、ターゲットを絞ったフィルターを適用したりすることができ、手動でのマスク作成スキルを必要とせずに基礎となるインスタンスセグメンテーション技術を活用できます。
- ロボット操作: ロボティクスにおけるAIにおいて、ロボットは視覚的なインターフェースを通じて特定のアイテムを拾い上げるように指示を受けることができます。オペレーターがロボットのカメラ映像内のオブジェクトをクリックすると、その視覚的なプロンプトがロボットによって把持座標に変換され、倉庫内でのヒューマン・イン・ザ・ループ自動化が促進されます。
Link to this sectionUltralyticsによる実装#
Ultralyticsエコシステムは、特にFastSAMやSAMなどのモデルを通じてビジュアルプロンプティングのワークフローをサポートしています。これらのモデルを使用すると、開発者はプログラムから点またはボックスの座標を渡し、セグメンテーションマスクを取得できます。
以下の例は、ultralyticsパッケージを使用して画像にポイントプロンプトを適用し、特定の座標にあるオブジェクトをセグメント化するようにモデルに指示する方法を示しています。
from ultralytics import SAM
# Load the Segment Anything Model (SAM)
model = SAM("sam2.1_b.pt")
# Apply a visual point prompt to the image
# The 'points' argument accepts [x, y] coordinates
# labels: 1 indicates a foreground point (include), 0 indicates background
results = model("https://ultralytics.com/images/bus.jpg", points=[[300, 350]], labels=[1])
# Display the segmented result
results[0].show()Link to this sectionモデルの俊敏性の向上#
ビジュアルプロンプティングは、「プロンプト可能な」コンピュータビジョンへのシフトを表しています。モデルはもはや静的な「ブラックボックス」ではなく、インタラクティブなツールとなっています。この機能は、ユーザーのフィードバックを取り入れることでモデルが迅速に改善されるアクティブラーニングループにとって不可欠です。
これらの機能を本番環境に統合しようとする開発者向けに、Ultralytics Platformでは、データセットを管理し、動的な入力を処理できるモデルをデプロイするためのツールを提供しています。研究が進むにつれて、ビジュアルプロンプトと大規模言語モデル (LLM)の統合はさらに緊密になると予想されます。これにより、現在テキストを処理しているのと同じ流暢さで視覚的な入力について推論できるシステムが実現するでしょう。






