om-ai-lab/VLX-Seek

VLX-Seek is a device-native vision-language model that enables machines to see, understand, and reason about the visual world with high precision.

TL;DR

VLX‑Seek は、エッジデバイスエージェント(ドローン、ロボット、カメラなど)が画像に が含まれているか、そして どこ にあるかを正確に理解できるオープンソースの視覚言語モデル(VLM)です。モデルにバウンディングボックスの数値を出力させるのではなく、VLX‑Seek はまず候補領域を生成し、各領域を特別な「領域トークン」に変換し、その後言語モデルにこれらのトークンを 選択 または 参照 させる仕組みです。その結果、検出、参照表現理解、OCR、数え上げ、VQA などの細粒度認識タスクにマッピング可能な、コンパクトで解析可能なトークンベースの回答が得られます。


リポジトリに含まれるもの

項目 説明
inference.py 10 B の VLX‑Seek チェックポイントを読み込み、オプションの領域検出器(WeDetect)を実行し、検出または VQA のための JSON と視覚結果を出力するコマンドラインデモ。
vlx_seek/vlx_seek パッケージ) モデルアーキテクチャ、ハイブリッド細粒度領域エンコーダ(HFRE)、トークンから領域へのマッピング、および VLXSeekWorker Pythonラッパー。
requirements.txt Python‑3.10+ 依存関係(PyTorch、transformers など)。
docs/ 詳細な推論ガイド、サポートされるタスク、APIリファレンス。
demo/ README で使用されるサンプル画像。
assets/ ロゴ、例題の結果スクリーンショット、コミュニティQRコード。
resources/(オプション) 下載した VLX‑Seek チェックポイントおよび WeDetect 検出器の重みを格納する場所。

コアアイデア

  1. 領域優先パイプライン – 軽量な検出器がボックスを提案;各ボックスが 領域トークン<obj0><obj1>、…)に変換される。
  2. ハイブリッド細粒度領域エンコーダ(HFRE) – 基本のVLMの高レベル意味的パスウェイと、詳細豊富な局所パスウェイを統合し、LLMトークンと同じ空間に埋め込みを生成する。
  3. トークンベースの推論 – 言語モデルは画像トークン、テキストクエリ、領域トークンを受け取り、数値座標ではなく領域ID(例:<obj2><obj5>)を出力することで回答する。これにより、短く、解析しやすく、LLMが自然にエンティティを選択する方法と整合する。
  4. オープンボキャブラリ&拒否 – 一致する領域がない場合、「none」と回答できるため、誤検出(ホールーシュレーション)が減少する。

できること

  • オープンボキャブラリ検出 – 任意のオブジェクトを指定(例:"orange; apple")。
  • 参照表現理解 – 自然言語で記述された特定のインスタンスを特定。
  • 領域OCR / キャプション生成 – 選択されたボックスのテキストを読み取り、詳細なキャプションを生成。
  • 数え上げ – 一致する領域の数を返す。
  • 汎用VQA – いかなる提案も不要な画像全体に関する質問に回答。
  • マルチステップ視覚推論 – 領域トークンが通常の言語トークンであるため、モデルは比較・対比・選択理由の説明が可能。

すぐに始める(クイックスタート)

# 1. クローンしてインストール
git clone https://github.com/om-ai-lab/VLX-Seek.git
cd VLX-Seek
pip install -r requirements.txt

# 2. 検出を実行(提案は自動生成)
python inference.py \
  --image-path demo/demo_image.jpg \
  --task detection \
  --text "orange; apple"

# 3. VQAを実行(提案は不要)
python inference.py \
  --image-path demo/demo_image.jpg \
  --task vqa \
  --text "What fruits are in the image?"

初回実行時に、Hugging Face から 10 B チェックポイント(omlab/VLX-Seek-1.5-10B)と WeDetect 検出器(wedetect_base_uni.pth)がダウンロードされます。結果はJSON形式で出力され、<image>_result.png として保存されます。

Python API(開発者向け)

from vlx_seek_worker import VLXSeekWorker

worker = VLXSeekWorker("omlab/VLX-Seek-1.5-10B", device="cuda")

# 検出 – 内部検出器でボックスを提案
out = worker.run(
    image_path="demo/demo_image.jpg",
    task="detection",
    text="orange; apple"
)
print(out["region_refs"])   # 例:["<obj2>", "<obj5>"]
print(out["boxes"])        # 実際の [x1,y1,x2,y2] 座標

run メソッドは、独自の提案を提供したい場合に bbox_list を受け入れます。

モデルサイズとパフォーマンス

  • VLX‑Seek 1.5‑10B – 10 B パラメータ、推論コードとともにリリース。0.6 B および 3 B の小型バージョンも計画中。
  • 高速推論 – 線形アテンション層と簡素化された提案パイプラインにより、エッジGPUでのレイテンシが低減。
  • ホールーシュレーションの低減 – ハードネガティブ学習と明示的な None 出力形式により、ターゲットが見つからない と正確に判断できるようになる。

詳細情報を探す場所


まとめ

VLX‑Seek は視覚領域を一等の言語トークンに変換し、大規模言語モデルがオブジェクトについて 推論 できるようにします。座標文字列を単に 吐き出す よりも、これは低消費電力でリアルタイムに動作するエムベデッドシステムにとって特に有用です。正確な細粒度の接地を維持しつつ、推論を高速かつ解析可能に保つ設計です。

関連

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