Visual Prompting
ポイントやボックスでAIモデルを誘導する視覚的プロンプティングを探求しましょう。Ultralytics YOLOとSAMがどのように正確なセグメンテーションと効率的なデータアノテーションを実現するかを学びます。
ビジュアルプロンプティングは、コンピュータビジョンにおける新しい手法であり、ユーザーがポイント、バウンディングボックス、スクリブルなどの空間的または視覚的な手がかりを提供することで、画像内の特定のオブジェクトや領域にAIモデルの焦点を導きます。テキスト記述に主に依存する従来のprompt engineeringとは異なり、ビジュアルプロンプティングでは、Artificial Intelligence (AI)システムとのより正確で直感的な対話が可能になります。この手法は、最新のfoundation modelsの機能を活用して、大規模な再学習や大量のラベル付きデータセットを必要とせずに、セグメンテーションや検出などのタスクを実行します。重要なものに効果的に「ポイント(指し示し)」することで、ユーザーは汎用モデルを新しいタスクに即座に適応させ、人間の意図と機械の認識のギャップを埋めることができます。
ビジュアルプロンプティングのメカニズム#
その核心において、ビジュアルプロンプティングは、モデルの処理パイプラインに空間情報を直接注入することによって機能します。ユーザーがオブジェクトをクリックしたり、ボックスを描いたりすると、これらの入力は座標ベースの埋め込みに変換され、ニューラルネットワークが画像の特徴と統合します。このプロセスは、Segment Anything Model (SAM)のようなインタラクティブなアーキテクチャの中心であり、モデルは幾何学的プロンプトに基づいてマスクを予測します。
ビジュアルプロンプティングの柔軟性により、さまざまな種類のインタラクションが可能です。
- ポイントプロンプト: ユーザーが特定のピクセルをクリックして、対象となるオブジェクトを指定します。モデルは、この選択をオブジェクト全体の境界まで拡大します。
- ボックスプロンプト: bounding boxを描画すると、大まかな位置情報が得られ、その領域に含まれるすべてのものをセグメント化または分類するようにモデルに指示します。
- 落書き(スクリブル)プロンプト: オブジェクト上にフリーハンドの線を描くことで、オブジェクトが重なっていたり、似たようなテクスチャを持っていたりする複雑なシーンを明確にするのに役立ちます。
CVPR 2024で発表された最近の研究では、人間のアノテーターが手動でポリゴンをトレースするのではなく、単純なクリックでモデルの予測をリアルタイムで修正できるため、ビジュアルプロンプティングがdata annotationに必要な時間を大幅に短縮することが強調されています。
ビジュアルプロンプティングとテキストプロンプティングの比較#
どちらの手法もモデルの動作を導くことを目的としていますが、ビジュアルプロンプティングをテキストベースの手法と区別することが重要です。Text-to-image生成またはゼロショット検出は、セマンティックな記述(例:「赤い車を見つけて」)を解釈するためにnatural language processing (NLP)に依存しています。ただし、言語は、正確な空間位置や抽象的な形状を記述するには、あいまいであるか不十分である場合があります。
ビジュアルプロンプティングは、ピクセル空間自体に指示をグラウンディング(根拠付け)することで、このあいまいさを解決します。たとえば、medical image analysisでは、放射線科医が疑わしい結節をクリックする方が、テキストでその正確な座標や不規則な形状を記述しようとするよりもはるかに正確です。多くの場合、最も強力なワークフローは両方のアプローチを組み合わせたもので、セマンティックフィルタリングにはテキストを使用し、空間的な精度にはビジュアルプロンプトを使用します。この概念はmulti-modal learningとして知られています。
実社会での応用#
ビジュアルプロンプティングの適応性の高さは、さまざまな業界での急速な採用につながっています。
- インタラクティブな医療診断: 医師はビジュアルプロンプティングツールを使用して、MRIスキャン内の腫瘍や臓器を分離します。関心領域をクリックするだけで、3Dの体積測定値を即座に生成でき、正確なtumor detectionと手術計画を支援します。
- スマート写真編集: Adobe Photoshopやモバイルアプリなどのコンシューマー向けソフトウェアでは、ビジュアルプロンプティングが「マジック選択」ツールを駆動します。ユーザーは人やオブジェクトをタップして背景を削除したり、ターゲットを絞ったフィルターを適用したりすることができ、手動のマスク作成スキルを必要とせずに、基盤となるinstance segmentationテクノロジーを利用できます。
- AI in Roboticsにおいて、ロボットはビジュアルインターフェースを介して特定のアイテムを拾うように指示できます。オペレーターがロボットのカメラフィード内のオブジェクトをクリックすると、ロボットが把持座標に変換するビジュアルプロンプトが提供され、倉庫でのhuman-in-the-loop自動化が促進されます。
Ultralyticsによる実装#
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()モデルの俊敏性の向上#
ビジュアルプロンプティングは、「プロンプト可能な」コンピュータビジョンへの移行を表しており、モデルは静的な「ブラックボックス」ではなく、インタラクティブなツールになります。この機能は、ユーザーからのフィードバックを取り入れることでモデルが急速に改善されるactive learningループに不可欠です。
これらの機能を本番環境に統合したい開発者向けに、Ultralytics Platformは、データセットを管理し、動的な入力を処理できるモデルをデプロイするためのツールを提供します。研究が進むにつれて、ビジュアルプロンプトとlarge language models (LLMs)の間のより緊密な統合が見られるようになり、現在テキストを処理しているのと同じ流暢さで視覚的入力について推論できるシステムが実現すると期待されています。






