7月18日、MarkTechPostが「NVIDIA Released DeepStream 9.1: Bringing Agentic AI to Vision AI With 13 Skills and Multi-View 3D Tracking」と題した記事を公開した。NVIDIAがリリースしたDeepStream 9.1では、自然言語プロンプト1行でマルチカメラ3D追跡パイプラインを構築できる13のエージェントスキルが中核の革新であり、従来ネックだった手動キャリブレーション作業も自動化された。映像AI開発の工程を根本から変えうるアップデートとして注目に値する。
自然言語プロンプトでパイプラインを構築する「エージェントスキル」
13のエージェントスキルがDeepStream 9.1の最大の差別化点だ。DeepStream 9.0時点ではdeepstream-devとimport-vision-modelの2スキルのみだったが、今回一気に13スキルへ拡張された。設定ファイルを手で編集する代わりに、Claude Code・Codex・Cursorといったコーディングエージェントに自然言語で意図を伝えるだけでパイプラインを組み立てられる。
セットアップは以下の通り。
git clone https://github.com/NVIDIA/DeepStream.git
cd DeepStream
# スキルをエージェントのスキルディレクトリにコピー(Codex例)
mkdir -p ~/.codex/skills
cp -r skills/* ~/.codex/skills/
エージェント起動後、以下の1行プロンプトでリファレンスアプリを動かせる。
deploy mv3dt on the 12-camera sample dataset
このプロンプトを受けてMV3DTスキルが前提条件の検証、コンテナの取得、KafkaとMosquittoブローカーのインストール、モデルウェイトのダウンロード、パイプライン設定の生成、追跡の起動を順に実行する。キャリブレーションファイルが不足している場合はAMCスキル(後述)が自動的に起動する。
従来のDeepStreamパイプライン構築では、GStreamerエレメントの接続・TensorRT設定・メッセージブローカー連携といった複数レイヤーの知識が求められ、習熟コストが高かった。エージェントスキルはこの障壁を大幅に下げる設計となっている。
複数カメラをまたいだ物体追跡が自動化
DeepStreamはNVIDIAが提供するGStreamerベースのストリーミング解析ツールキットで、複数ストリーム・複数モデルの推論をNVIDIA GPU上で実行する。TensorRT推論、物体追跡、メッセージブローカー連携などを組み合わせたパイプラインを構築できる。
DeepStream 9.0以前では、複数カメラにまたがって同一人物を追跡するには、手動のカメラキャリブレーション(カメラの光学特性や設置位置を事前に測定・較正する作業)と複雑な座標計算が必要だった。OpenCVなど既存のキャリブレーションツールでも作業自体は可能だが、チェッカーボードパターンの設置や設備停止時間が発生するうえ、DeepStreamパイプラインへの統合は別途実装が必要だった。DeepStream 9.1はこれをMulti-View 3D Tracking(MV3DT)とAutoMagicCalib(AMC)の2機能でエンドツーエンドに解決する。
MV3DT:カメラをまたいでも同一IDを維持
MV3DTの仕組みは4段階で動く。
検出: 各カメラストリームで物体検出を実行。対応モデルは以下の3種類。
- PeopleNetTransformer: Transformerベースの人物検出器。歩行者シーンのデフォルト。
- PeopleNet v2.6.3: DetectNet_v2アーキテクチャベースの高効率検出器。
- RT-DETR 2D: 歩行者・輸送機器・フォークリフトに対応するマルチクラス検出器。
単眼3D知覚: 各カメラはYAMLキャリブレーションファイルに格納された3×4投影行列を使用し、2Dバウンディングボックスを地平面仮定を用いて3Dワールド座標に逆投影する。
マルチビュー紐付け: MQTT(IoT分野で広く使われる軽量なPub/Subメッセージプロトコル)でトラックレット(各カメラが短期間に生成した追跡軌跡の断片)を共有し、3Dワールド空間上での近接度によって同一人物の観測を照合する。
出力: オンスクリーンディスプレイ(OSD)でタイル表示、Bird's-Eye View(俯瞰マップ)、Kafkaによるprotobufフォーマットのメタデータ(センサーID、オブジェクトID、3Dバウンディングボックス)の3形式でストリーミング出力される。
AMC:チェッカーボード不要のキャリブレーション
MV3DTはカメラキャリブレーション済みであることが前提だが、従来この作業にはチェッカーボードパターンの設置と設備停止時間が必要だった。AMCはこれを不要にする。
既存の映像ファイルまたはストリームから追跡済みオブジェクトを分析し、各カメラの内部パラメータ(焦点距離・主点・レンズ歪みなど、カメラ固有の光学特性)と外部パラメータ(回転・並進・ワールド座標上の位置など、カメラの設置状態)を推定する。内部では以下の5段階パイプラインが動く。
- カメラ軌跡抽出
- 単一視点の幾何補正
- マルチビュートラックレット照合
- バンドル調整(Bundle Adjustment):複数カメラ・複数フレームにわたる3D点とカメラパラメータを同時に最適化する手法
- オプションのVGGT(Visual Geometry Grounded Transformer)による精製
AMCはREST APIとWebインターフェース付きのマイクロサービスとして動作し、ユーザーが用意するのはレイアウト画像と数点のアライメントポイントだけだ。
DeepStream 9.0との比較
| 機能 | DeepStream 9.0 | DeepStream 9.1 |
|---|---|---|
| エージェントスキル数 | 2(deepstream-dev, import-vision-model) | 13スキル |
| マルチカメラ3D追跡 | スキルとして非提供 | MV3DTスキル+リファレンスアプリ |
| カメラキャリブレーション | 手動 | AutoMagicCalib(AMC)マイクロサービス |
| Jetsonサポート | JetPack 7.1 GA | JetPack 7.2(Orin、Thor) |
| サンプルデータセット | なし | 4カメラ・12カメラMV3DT用セット |
| 配布形態 | NGCパッケージ+GitHubソース | 統合GitHubモノレポ(CC-BY-4.0 AND Apache-2.0) |
ユースケース
元記事が挙げている具体的なデプロイ例は以下の通りだ。
- 倉庫の安全管理: RT-DETR 2Dを使い、フォークリフト近辺の作業者を通路をまたいで1つのIDで追跡する。
- 小売分析: カメラゾーン間でショッパーを追跡し、再識別エラーなく滞在時間を計測する。
- スマートビル監視: フロアをまたいだ在室者数をカウントし、KafkaメタデータをダッシュボードへフィードするSmartCity application as a serviceも構成可能。
- ロボティクス・スマートシティ: 一貫したワールド座標を共有してナビゲーションやインシデントレビューに活用する。
詳細はNVIDIA Released DeepStream 9.1: Bringing Agentic AI to Vision AI With 13 Skills and Multi-View 3D Trackingを参照していただきたい。