Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Multimodal RAG

マルチモーダルRAGは、テキストに加えて画像、動画フレーム、音声、ページスキャンを検索し、見つけた情報をもとに視覚言語モデルが回答します。

マルチモーダルRAGは、テキストだけでなく、画像、動画、音声、スキャン文書やレンダリング文書を含むナレッジベースを対象とした検索拡張生成 (RAG)です。質問に応じて、これらのモダリティから最も関連性の高い項目を検索し、視覚言語モデル (VLM)がそれらをもとに回答を生成します。その結果、配線図、製品写真、PDF内のグラフなどを、誰かが事前に作成したテキスト説明だけに頼らず、直接検索して読み取れるようになります。

テキスト以外のデータをインデックス化する方法#

最も単純な方法は、すべてをテキストに変換することです。画像キャプション生成、光学文字認識 (OCR)、音声テキスト変換の書き起こし、物体検出のラベルを使って、各項目を通常のテキストインデックスで検索可能な言葉で記述します。この方法では既存のテキストRAGパイプラインを変更せずに再利用できますが、説明に含まれない情報は失われます。

2つ目の方法では、画像とテキストを同じ共有空間に埋め込みます。対照学習で学習したOpenAIのCLIPやGoogleのSigLIPなどのモデルは、写真とその説明文を近接した埋め込みに変換するため、テキストの質問からベクトルデータベース内の画像を直接検索できます。文書の場合、ColPali (2024)は各ページのスクリーンショットをパッチベクトルのグリッドとして埋め込み、ColBERT方式の遅延インタラクションを使って質問のトークンと照合します。これにより、表やグラフが多いPDFでもOCRやレイアウト解析を省略できます。

その後、検索された画像とテキストの抜粋などを組み合わせて、質問とともにVLMへ渡し、回答を生成します。検索した画像を根拠として回答をグラウンディングすると、ある企業のコントロールパネルのレイアウトなど、モデルが学習時に見ていない視覚的な詳細に関するハルシネーションを減らせます。

共有埋め込み空間での検索#

この例では、2枚の画像からなるナレッジベースを使い、各質問への回答となる画像をCLIP ViT-B/32チェックポイントで選択します。

import requests
from PIL import Image
from transformers import CLIPModel, CLIPProcessor

model = CLIPModel.from_pretrained("openai/clip-vit-base-patch32")
processor = CLIPProcessor.from_pretrained("openai/clip-vit-base-patch32")

# Image knowledge base: CLIP embeds images and text into one shared vector space
urls = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
images = [Image.open(requests.get(url, stream=True, timeout=10).raw) for url in urls]
questions = ["What color is the man's tie?", "How many people are standing next to the bus?"]

# Retrieve: score each question against every image and keep the best match for the VLM
inputs = processor(text=questions, images=images, return_tensors="pt", padding=True)
scores = model(**inputs).logits_per_text
for question, row in zip(questions, scores):
    print(f"{question} -> {urls[row.argmax()].split('/')[-1]}")

ネクタイに関する質問ではzidane.jpgが、バスに関する質問ではbus.jpgが検索されます。CLIPが各質問のテキスト埋め込みを、質問の対象となる写真に最も近く配置するためです。その後の生成処理はUltralytics LLMインターフェースが担います。llm(question, image=...)は質問と検索画像を1回の呼び出しで任意のOpenAI互換視覚言語モデルに渡し、プロバイダーの応答を返します。

  • 視覚的質問応答 (VQA): ユーザーが提供した画像についての質問に回答します。マルチモーダルRAGは、何千もの画像、ページ、クリップから確認対象を最初に見つけます。
  • マルチモーダルモデル:OpenAIのGPTやGoogleのGeminiモデルなど、画像とテキストを一緒に読み取る生成モデルです。マルチモーダルRAGは、これらのモデルに何を見せるかを決定する検索システムです。
  • セマンティック検索: 検索機能のみを指し、モデルではなく人に対して順位付けした結果を返します。

実際のアプリケーション#

  • 製造の保守: 技術者が故障した部品を撮影すると、システムは対応する分解図が載ったマニュアルのページと、同じアセンブリを過去に修理した際の写真を検索します。
  • 小売の検索とサポート: 買い物客の写真から見た目の似たカタログ商品を検索し、アシスタントは商品資料をもとにサイズ適合性や互換性に関する質問に回答します。
  • 文書に関する質問応答: 年次報告書、科学論文、スライド資料では、重要な数値がグラフや表に記載されています。ページ画像検索を使えば、別途テーブルパーサーを用意せずにそれらを見つけられます。
  • 動画理解: サンプリングしたフレームや短いクリップを埋め込みでインデックス化すると、「配送バンはいつ到着しましたか?」といった質問から該当する映像の時間帯を検索できます。そのため、VLMは何時間もの動画ではなく、少数のフレームを読み取ります。

設計上のトレードオフ#

画像はコンテキストのコストが高く、VLMは画像ごとに数百から数千のトークンへ変換するため、パイプラインでは通常、検索結果の上位数枚のみを渡し、その周囲に短いテキストの抜粋を配置します。共有埋め込みを使う検索システムには、学習に由来する制約もあります。CLIPのテキストエンコーダーが読み取れるのは最大77トークンのため、長い質問は照合前に切り詰められます。また、画像全体の埋め込みは、ラベルにあるシリアル番号などの細部より、シーン全体の内容を捉えるのに適しています。OCRで読み取れる細部はテキスト変換によって検索可能な状態を保てるため、多くのシステムはOCRテキストと画像埋め込みの両方をインデックス化し、2つの結果リストをハイブリッド検索で統合します。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう