はじめに
Vision Agentは、LandingAI(Enda Wuのチーム)によって開発され、GitHubでホストされているオープンソースプロジェクトです。高度なエージェントフレームワークとマルチモーダルモデルを使用し、画像検出、ビデオトラッキング、オブジェクトカウントなどの様々なシナリオに対して、シンプルなプロンプトで効率的なビジョンAIコードを生成します。Vision Agentは複雑な視覚タスクを自動化するように設計されており、開発者はタスクの説明を提供するだけで実行可能なコードを得ることができるため、視覚AI開発の敷居を大幅に下げることができます。現在、3,000以上のスタータグを獲得しており、コミュニティは非常に活発で継続的に更新されています。
応用例は以下の通り。 エージェントによる物体検出:注釈やトレーニングを必要としない視覚的物体検出ツール
機能一覧
- 自動コード生成ユーザーによって入力されたタスク記述に基づいて、画像またはビデオのビジュアルAIコードを生成します。
- オブジェクトの検出とカウント画像やビデオ内の特定のオブジェクトを検出し、それらをカウントするためのサポート(ヘッドカウントなど)。
- ビデオフレーム解析映像からフレームを抽出し、オブジェクトのトラッキングやセグメンテーションを行います。
- 視覚化ツールバウンディングボックスオーバーレイとスプリットマスクの画像/ビデオビジュアライゼーションを提供します。
- マルチモデル対応様々なオープンソースのビジュアルモデルを統合し、ユーザーが必要に応じて切り替えることができます。
- カスタムツール・エクステンション特定のタスク要件を満たすために、新しいツールやモデルを追加することができます。
- 配備サポート迅速なプロトタイピングと本番環境へのデプロイをサポートするコードを生成します。
ヘルプの使用
インストールと使用方法
Vision AgentはPythonベースのライブラリで、ユーザーはGitHub経由でソースコードを入手し、ローカル環境にインストールする必要がある。以下は、インストールと使用方法の詳細です:
設置プロセス
- 環境準備
- Python 3.8以降がコンピュータにインストールされていることを確認してください。
- GitHubからリポジトリをクローンするためにGitをインストールする。
- オプション:仮想環境を推奨する(例
ヴヴ
もしかしたらコンダ
)を使って依存関係を分離する。
- クローン倉庫
ターミナルを開き、以下のコマンドを実行して、Vision Agentのソースコードを取得する:git clone https://github.com/landing-ai/vision-agent.git cd vision-agent
- 依存関係のインストール
リポジトリディレクトリに、必要な依存関係をインストールします:pip install -r requirements.txt
特定のモデルを使用する必要がある場合(例. アンソロピック またはOpenAI)の場合は、APIキーの追加設定が必要です。
- インストールの確認
以下のコマンドを実行して、インストールが成功したかどうかを確認する:python -c "import vision_agent; print(vision_agent.__version__)"
バージョン番号が返されれば(例えば0.2)、インストールは完了です。
主要機能の使用
ビジョンエージェントの中核機能は、プロンプトからコードを生成し、ビジョンタスクを実行することです。以下は、主な機能の詳細なステップバイステップの手順です:
1.ビジュアルAIコードの生成
- 手続き::
- Vision Agentモジュールをインポートする:
from vision_agent.agent import VisionAgentCoderV2 agent = VisionAgentCoderV2(verbose=True)
- タスクの説明とメディアファイルを準備する。例えば、画像に写っている人数を数える:
code_context = agent.generate_code([ {"role": "user", "content": "この画像の人数を数える", "media": ["people.png"]}. ])
- 生成されたコードを保存する:
with open("count_people.py", "w") as f. f.write(code_context.code)
- Vision Agentモジュールをインポートする:
- 機能説明画像パスとタスクの説明を入力すると、Vision Agentは自動的にオブジェクト検出とカウントのロジックを含むPythonコードを生成します。生成されたコードは、以下のような組み込みツールに依存します。
countgd_object_detection
.
2.物体検出と視覚化
- 手続き::
- 画像を読み込み、検出を実行する:
import vision_agent.tools as T image = T.load_image("people.png") dets = T.countgd_object_detection("person", image)
- バウンディングボックスを重ね合わせ、結果を保存します:
viz = T.overlay_bounding_boxes(image, dets) T.save_image(viz, "people_detected.png")
- 結果の視覚化(オプション):
インポート matplotlib.pyplot as plt plt.imshow(viz) plt.show()
- 画像を読み込み、検出を実行する:
- 機能説明この関数は、画像中の指定された物体(例えば「人物」)を検出し、画像上にバウンディングボックスを描画する。
3.ビデオフレーム解析とトラッキング
- 手続き::
- ビデオフレームを抽出する:
frames_and_ts = T.extract_frames_and_timestamps("people.mp4") frames = [f["frame"] for f in frames_and_ts] (f["フレーム"] for f in frames_and_ts])
- オブジェクトトレースを実行する:
tracks = T.countgd_sam2_video_tracking("person", frames)
- ビジュアライゼーション・ビデオを保存する:
viz = T.overlay_segmentation_masks(frames, tracks) T.save_video(viz, "people_tracked.mp4")
- ビデオフレームを抽出する:
- 機能説明映像からフレームを抽出し、オブジェクトを検出して追跡し、最後に動的なシーン分析に適したセグメンテーションマスクで映像を可視化する。
4.他のモデルの設定
- 手続き::
- 他のモデル(例えばAnthropic)を使用するために設定ファイルを修正する:
cp vision_agent/configs/anthropic_config.py vision_agent/configs/config.py
- APIキーを設定します:
キーを環境変数に追加する:export ANTHROPIC_API_KEY="your_key_here"
- コード生成タスクを再実行する。
- 他のモデル(例えばAnthropic)を使用するために設定ファイルを修正する:
- 機能説明ヴィジョンエージェントは、デフォルトで複数のモデルをサポートしており、ユーザーは必要に応じてモデルを切り替えることで、作業の効率を高めることができます。
作業工程例:コーヒー豆充填率の算出
コーヒー豆の入った瓶の画像があり、充填率を計算したいとします:
- タスクの説明を書き、実行する:
agent = VisionAgentCoderV2() code_context = agent.generate_code([ {"role": "user", "content": "瓶の何パーセントがコーヒー豆で満たされていますか?", "media": ["jar.jpg"]}. ])
- 生成されたコードを実行する:
生成されるコードは以下のようなものだ:from vision_agent.tools import load_image, florence2_sam2_image image = load_image("jar.jpg") jar_segments = florence2_sam2_image("jar", image) beans_segments = florence2_sam2_image("coffee beans", image) jar_area = sum(segment["mask"].sum() for segment in jar_segments) beans_area = sum(segment["mask"].sum() for segment in beans_segments) パーセンテージ = (beans_area / jar_area) * 100 if jar_area else 0 print(f "充填率: {percentage:.2f}%")
- コードを実行して結果を得る。
ほら
- 入力画像またはビデオが正しいフォーマットであることを確認してください(例:PNG、MP4)。
- 依存関係の問題が発生した場合は
pip install --upgrade vision-agent
. - コミュニティサポート:LandingAIのDiscordコミュニティに参加し、アドバイスを受けてください。