NVIDIA DeepStream 9.1 でマルチカメラ 3D 追跡アプリを構築
本文の状態
日本語全文を表示中
詳細モードで約18分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
NVIDIA Developer Blog
NVIDIA は DeepStream 9.1 をリリースし、AutoMagicCalib と Multi-View 3D Tracking の新機能により、複数カメラ間での物体追跡の自動化と精度向上を実現した。
AI深層分析を開く2026年8月2日 06:49
AI深層分析
キーポイント
複数カメラ間での 3D 追跡の実現
MV3DT スキルが複数の校正済みカメラからの検出情報を統合し、共通の 3D 座標系内で物体 ID を一貫して維持する。
手動キャリブレーションの自動化
AMC スキルによりカメラキャリブレーションが自動化され、人的ミスを減らし開発コストを削減する。
エッジプラットフォームへの対応強化
NVIDIA JetPack 7.2 をサポートし、Orin や Thor などのエッジデバイス上でビジョン AI パフォーマンスを加速させる。
開発プロセスの簡素化とオープンソース化
13 のアジェンティックスキルが提供され、GitHub リポジトリを通じて一元管理されることで導入とカスタマイズが容易になる。
MV3DT の基本機能とアーキテクチャ
複数の較正済みカメラからの検出結果を共有 3D 座標系に投影し、同一オブジェクトの観測を関連付けて一貫したグローバル ID を割り当てる。DeepStream トラッカーを拡張することで、ネットワーク上の較正済みカメラ群全体で分散型マルチビュー 3D トラッキングが可能になる。
重要な引用
Single-camera 2D tracking lacks reliable depth information and typically loses track of the object when it leaves the frame
Current 3D tracking methods require manual camera calibration and complicated calculations.
DeepStream 9.1 introduces a set of powerful agentic skills that help developers move from concept to deployment faster and with greater accuracy.
Each camera independently projects objects into 3D, and the system fuses these inputs to ensure globally consistent tracking.
編集コメントを表示
編集コメント
DeepStream 9.1 の新機能は、実世界での複雑な監視タスクを解決する上で重要な一歩となる。特に自動キャリブレーションと複数視点の統合により、現場導入のハードルが大幅に低下すると予想される。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
広域空間でビデオ解析アプリケーションを開発する際、開発者はカメラ間の移動を続ける同一オブジェクトの追跡が求められます。単一カメラによる 2D 追跡では信頼性の高い深度情報が得られず、オブジェクトがフレーム外に出ると追跡が切れてしまうため、倉庫内の安全監視や小売分析、スマートビルディングのモニタリングといった用途には限界があります。従来の 3D 追跡手法は、手動でのカメラキャリブレーションと複雑な計算を必要としていました。
NVIDIA DeepStream 9.1 は、AutoMagicCalib (AMC) と Multi-View 3D Tracking (MV3DT) を活用してこの課題を解決します。AMC と MV3DT は、複数の自動キャリブレーションされたカメラからの検出結果を統合し、共通の 3D 座標系にマッピングするとともに、ビュー間を通じて一貫したオブジェクト ID を維持します。
本記事では、MV3DT と AMC の詳細、およびビジョン AI パイプラインの開発を簡素化・加速する大きな飛躍である DeepStream 9.1 の使い始めについて解説します。
モジュール性、自動化、エッジパフォーマンスに重点を置いた DeepStream 9.1 では、開発者が概念からデプロイまでをより迅速かつ高精度に進められるよう支援する、一連の強力なエージェント機能(アジェンティック・スキル)が導入されました。
DeepStream 9.1 の新機能:
- ビジョン AI 開発を加速するための 13 種類のエージェント機能が利用可能になりました。
- 複数のカメラストリームにわたる正確でエンドツーエンドのオブジェクト追跡を実現する、マルチカメラ 3D 追跡(MV3DT)スキルが追加されました。
「AutoMagicCalib (AMC)」スキルにより、カメラキャリブレーションが自動化され、手作業の負担軽減と誤差の最小化を実現します。
NVIDIA JetPack 7.2 をサポートし、Orin や Thor などの Jetson エッジプラットフォーム上で、ビジョン AI のパフォーマンスを加速します。
統合された GitHub リポジトリを通じてオープンソースとして提供されており、採用、カスタマイズ、保守がより容易になりました。
*Video 1: DeepStream スキルを使用したエンドツーエンドの MV3DT デプロイ。自然言語のプロンプトから、マルチカメラ 3D トラッキングパイプラインの実行まで*
NVIDIA DeepStream GitHub リポジトリ で入手可能です。DeepStream 9.1 には、包括的なソースコードと参照アプリケーションが含まれています。
MV3DT はカメラ間をまたいでオブジェクトを追跡する
MV3DT は、キャリブレーション済みの複数のカメラからの検出結果を、共有された 3D 座標系に投影します。そして、異なるカメラビューで観測される同一オブジェクトの情報を関連付け、1 つのグローバルに整合したオブジェクト ID を割り当てます。各カメラは独立してオブジェクトを 3D に投影しますが、システムはこの入力を融合させることで、環境全体で一貫性のあるトラッキングを保証します。
これにより、すべてのオブジェクトが環境全体を通じて一意で安定した ID を維持し、位置情報は統一されたワールド座標系内で計算されます。
基盤となるマルチビュー関連付けアルゴリズムや 3D 融合技術の詳細は、研究論文「Fully Distributed Multi-View 3D Tracking in Real-Time」で解説されています。
MV3DT アーキテクチャの理解
「MV3DT」は、DeepStream トラッカーを拡張し、キャリブレーション済みのカメラ群にわたる分散型マルチビュー 3D トラッキングをサポートします。
システム内でのデータフローは以下の通りです。
- 検出機能: DeepStream パイプラインはすべてのカメラストリームを処理し、MV3DT トラッカーが各ビューで独立してオブジェクトを検出し追跡します。標準で 3 つの検出モデルをサポートしています。
- PeopleNetTransformer: トランスフォーマーベースの歩行者検出器で、歩行者シーンでのデフォルトモデルです。
- PeopleNet v2.6.3:
DetectNet_v2アーキテクチャに基づく高効率検出器です。 - RT-DETR 2D: マルチクラス対応の検出器で、歩行者や運搬車、フォークリフトなどを検出する産業環境に最適です。
- 単眼 3D 知覚: 各カメラは YAML ファイルに保存された 3×4 の射影行列を用いて、地面平面を仮定することで、2D バウンディングボックスの検出結果を 3D ワールド座標系へ後方投影します。
マルチビューアソシエーション:トラッカーは、軽量な Pub/Sub メッセージングプロトコルである Message Queuing Telemetry Transport (MQTT) を使用し、カメラ間でトラックレットを共有します。複数のカメラが同一人物を捉えた場合、マルチビューアソシエーションアルゴリズムが 3D ワールド空間における近接度に基づいてそれらのトラックレットをマッチングさせ、単一のグローバルに整合したオブジェクト ID を割り当てます。
出力:追跡結果は以下の 3 つの形式でストリーミングされます。On-Screen Display (OSD) では、カメラ映像のライブグリッド上に 2D/3D バウンディングボックスと共有 ID を重ねて表示します。Bird's-Eye View (BEV) では、レイアウト画像の上に世界座標系におけるオブジェクトの軌跡を示すリアルタイムの 2D 上空マップを提供します。Kafka Messaging では、センサー ID、オブジェクト ID、3D バウンディングボックスなどの構造化された protobuf メタデータをフレームごとに配信し、下流アプリケーションで利用できるようにします。
AutoMagicCalib を用いたカメラネットワークのキャリブレーション方法
MV3DT では、画像ピクセルを 3×4 の射影行列を通じて世界座標に正確にマッピングできるキャリブレーション済みのカメラが必要です。従来の手法は手動で時間がかかるうえ、カメラの前にチェッカーボードなどのキャリブレーションパターンを設置する必要があり、運用の中断や空間内への特殊機器の設置を余儀なくされます。

図 2. 較正後の鳥瞰図(BEV)画像上に表示された軌跡を示す AutoMagicCalib UI の結果ページ
AMC は、既存のビデオファイルやストリームを流れる追跡対象オブジェクトを DeepStream で分析することで、カメラネットワークの較正プロセスを簡素化し自動化します。
AMC は各カメラについて、内側パラメータ(焦点距離、主点、レンズ歪み)と外側パラメータ(回転、並進、世界座標位置)を自動的に推定し、MV3DT などのアプリケーションで利用可能な較正ファイルを生成します。オブジェクトの動きが限定的な場合でも精度と堅牢性を高めるため、必要に応じて VGGT (Visual Geometry Grounded Transformer) というモデルベースのアプローチを採用することも可能です。
内部較正パイプラインは以下の段階を経て実行されます:
- カメラごとの軌跡抽出: DeepStream が各ビデオ内でオブジェクトを検出・追跡し、AMC がその結果の軌跡データを収集します。
- 単一視点での較正と整列: 各カメラを独立して扱い、AMC は軌跡から内側パラメータ(焦点距離、射影行列、レンズ歪み)を推定し、整列されたビューを生成します。
- 複数視点間のトラックレットマッチング: AMC は手動で提供された整合ポイントを用いて、カメラ間およびレイアウトマップとの初期アンカーとしながら、異なるカメラ間のオブジェクトのトラックレットを一致させます。
- バンドル調整: 全カメラパラメータをすべてのビューにわたって共同で微調整し、グローバルな再投影誤差を最小化します。
オプションとして VGGT のキャリブレーションを実行できます。これはモデルベースの別個のキャリブレーションワークフローであり、物体の動きが限定的な場合や、学習された幾何学情報の方がより堅牢なキャリブレーション結果をもたらす場合に役立ちます。
ユーザーはレイアウト画像を提供し、カメラビューとマップ上の対応するランドマークを選択して数点のアライメントポイントを定義するだけで済みます。AMC は REST API と Web インターフェースの両方を備えたマイクロサービスとして提供されています。
NVIDIA DeepStream エージェントスキルでアプリケーションを構築・デプロイする
DeepStream 9.1 では、Claude Code や Codex、あるいは MV3DT や AMC など、任意のコーディングエージェントが利用できるようになったモジュラーなスキルを導入しました。手動でスクリプトを実行したり設定ファイルを編集したりする必要はなく、自然言語のプロンプトで目的を記述するだけで、エージェントがセットアップ、設定、実行を担当します。
DeepStream スキルとコーディングエージェントの詳細については、「NVIDIA DeepStream スキルとコーディングエージェントを使用したビジョン AI パイプラインの構築方法」というブログ記事をご覧ください。
以下のスキルを使用してマルチカメラアプリケーションをデプロイします:
- MV3DT Skill: この包括的なスキルは、MV3DT のデプロイライフサイクル全体を管理します。具体的には以下が含まれます:要件の確認(OS、GPU ドライバー、Docker ランタイム)
- 必要な DeepStream コンテナの取得またはビルド
- Kafka と Mosquitto ブローカーサービスのインストール
検出モデルの重み(PeopleNetTransformer、RT-DETR)をダウンロードします。
データセットから DeepStream パイプライン設定を生成します。
キャリブレーションファイルが見つからない場合、AMC スキルが自動的にトリガーされます。
マルチカメラ追跡パイプライン全体を開始します。
AMC スキル: これらのスキルは AMC のライフサイクルを処理します。amc-setup-calibration-stack は、AMC マイクロサービスコンテナを取得し、サービススタック(Web UI と REST API)を開始します。
amc-run-sample-calibration は、バンドルされたサンプルデータセット上でエンドツーエンドのキャリブレーションを実行します。これは、独自データを扱う前に新しい AMC インストールが正常に動作しているかを確認する際に役立ちます。
amc-run-video-calibration は、動画ファイルとレイアウト画像、アライメントポイントを含む新しいデータセットをキャリブレーションするのに役立ちます。これにより、MV3DT などの下流アプリケーションで直接使用できるキャリブレーション YAML ファイルが生成されます。
amc-run-rtsp-calibration は、RTSP ストリームから直接新しいデータセットをキャリブレーションする際に役立ちます。
最新のスキル一覧は、DeepStream GitHub リポジトリでご確認ください。
以下のワークフローでは、開発者がリポジトリのセットアップから MV3DT アプリケーションの実行までをどのように進めるかを示しています。コーディングエージェントや使用するデータセットに応じて、プロンプトは微調整可能です。
前提条件
- Ubuntu 24.04 (x86_64)
- NVIDIA ドライババージョン 580 以上
- NVIDIA Container Toolkit を備えた Docker
- Claude Code または Codex のインストールと認証済み状態
- NGC API キー(nvcr.io から DeepStream および AMC コンテナをプルするために必要)
AMC 微調整ステップで VGGT モデルを取得するための Hugging Face キー
表示には X11 または VNC リモートデスクトップを使用します(オプション。ヘッドレスモードでは出力ビデオが保存されます)
それでは始めましょう!
ステップ 1: リポジトリのクローンとスキルのインストール
スキルをコーディングエージェントのスキルディレクトリにコピーしてください。パスは使用するエージェントによって異なります。
# Claude Code: ~/.claude/skills/
# Codex: ~/.codex/skills/
# Cursor: ~/.cursor/skills/
Codex 用の例(エージェントのパスは適宜調整してください):
mkdir -p ~/.codex/skills
cp -r skills/* ~/.codex/skills/
スキルはワークスペースレベルでもインストール可能です。これは単一プロジェクトにスコープを限定した設定です。詳細なインストール手順や、ワークスペースレベルでの設定方法は、DeepStream スキルの README をご確認ください。 (原文の技術表記: # Example for Codex (adjust path for your agent):)
ステップ 2:コーディングエージェントの起動
DeepStream リポジトリのルートディレクトリから、コーディングエージェントを起動します。
claude
または
codex
これでセットアップは完了です。以降は、自然言語によるプロンプトで対話を行います。
シナリオ A: 12 カメラのサンプルデータセットで MV3DT を実行 (原文の技術表記: # or)
MV3DT スキルには、キャリブレーション済みで AMC ステップが不要な 4 カメラおよび 12 カメラのサンプルデータセットが含まれています。本例では 12 カメラデータセットを使用します。以下のプロンプトをエージェントに貼り付けてください。
Sample prompt: deploy mv3dt on the 12-camera sample dataset
エージェントが以下の手順をご案内します:
ディスプレイアクセス(X11/VNC)を確認し、ディスプレイが見つからない場合はヘッドレスモードを検出してください。
特権 Docker コマンド(`sudo xhost + および --privileged`)を実行する前に、必ず承認を求めてください。
セットアップスクリプトを実行して、モデルのダウンロード、Kafka と Mosquitto サービスの起動、パイプラインの準備を行います。
DeepStream コンテナを起動し、追跡を開始します。初回実行時はモデルエンジンが構築されて読み込まれるため、数分かかる場合があります。
ディスプレイが接続されている場合、2 つのウィンドウが開きます:
- DeepStreamTest5App: 12 カメラすべての映像をタイル状に並べたグリッド表示。2D および 3D のバウンディングボックスが含まれます。
- Bird’s-Eye View of Multi-View 3D Tracking: 世界座標系におけるリアルタイムの軌道マップです。

どちらのウィンドウでも `q キーを押すと終了できます。エージェントからもその旨が案内されます。ヘッドレスモードでは、実験ディレクトリに出力動画(tiled_display_raw.mp4` および BEV 軌道動画)が生成されます。サンプル出力については、MV3DT リポジトリ の 12 カメラ用 BEV 軌道の GIF をご覧ください。
experiments/deepstream/12cam/
├── config_deepstream.txt # 生成されたパイプライン設定
├── config_tracker.yml # MV3DT トレーカの設定
├── outVideos/ (原文の技術表記: ├── config_deepstream.txt # Generated pipeline config、├── config_tracker.yml # MV3DT tracker config)
│ └── tiled_display_raw.mp4 # 2D および 3D オーバーレイを備えたマルチカメラのグリッド表示
└── bev_outputs/ (原文の技術表記: │ └── tiled_display_raw.mp4 # Multi-camera grid with 2D and 3D overlays)
├── trajectory_video_<timestamp>.mp4 # BEV 軌道動画事前キャリブレーションを行わずにカスタム同期ビデオストリームを使用するには、ディレクトリパスを指定してください。
サンプルプロンプト:deploy mv3dt on these videos ~/my-camera-dataset/videos (原文の技術表記: Sample prompt: deploy mv3dt on these videos ~/my-camera-dataset/videos)
フォルダには、カメラごとに時系列同期されたビデオファイルが順に並んでいる必要があります(例:cam_00.mp4、cam_01.mp4)。また、レイアウト画像として BEV 画像 (layout.png) も用意しておいてください。その後、エージェントは以下の手順を実行します。
動画ソースフォルダの検証を行います。
camInfo/*.yml のキャリブレーションファイルが存在しない場合、キャリブレーションが必要であると検知します。
AMC スキルを順番に自動実行し、まず amc-setup-calibration-stack を呼び出して AMC マイクロサービスを起動した後、amc-run-video-calibration でキャリブレーションを開始します。
キャリブレーションを開始する前に、エージェントがいくつかの構成設定に関する質問を行います。必要に応じて、検出器の種類やキャリブレーション設定を指定してください。
Agent:キャリブレーションに使用する検出器の種類はどちらにしますか?(ResNet または Transformer)
User:ResNet です (原文の技術表記: > Agent: What detector type would you like to use for calibration? (resnet or transformer)、> User: Resnet)
エージェント:キャリブレーション設定ファイルをアップロードしますか?
ユーザー:いいえ、UI で更新します。 (原文の技術表記: > Agent: Do you have a calibration settings file to upload?、> User: No, I will update on the UI)

AMC マイクロサービスが起動し、エージェントから Web UI のアドレスが通知されます。ブラウザでこの URL を開き、カメラ間の対応点とレイアウトマップの整合性を手動で調整してください。設定を保存したら、エージェントに完了を報告します。
> User: alignment is done
AMC はその直後に、軌跡抽出、単一視点の補正、複数視点でのトラックレットマッチング、そしてバンドル調整を含む完全なキャリブレーションパイプラインを実行します。エージェントは処理完了をポーリングし、終了すると MV3DT 互換のキャリブレーションデータをダウンロードして、YAML ファイルを `~/my-camera-dataset/camInfo/` フォルダに配置します。
その後、生成されたキャリブレーションデータを用いて MV3DT が自動的に実行されます。
MV3DT のデプロイが成功すると、以下の出力が得られます。
- ライブ OSD ウィンドウ: 2D および 3D バウンディングボックスと、一貫したオブジェクト ID を表示するカメラ映像のタイルグリッド。任意のカメラをクリックして拡大し、右クリックでグリッドビューに戻れます。
- ライブ BEV ウィンドウ: 上から見た軌跡マップを表示し、スクリーンショットや録画機能を提供します。
- Kafka メタデータストリーム:
mv3dtトピックに送信されるフレームごとのプロトobuf メッセージ。オブジェクト ID、3D バウンディングボックス座標、信頼度スコア、センサー ID を含み、下流の分析システムやダッシュボード、アラートシステムへそのまま利用可能です。
保存された動画:ファイル出力を有効にすると、システムはタイル状の OSD 動画と BEV(Bird's Eye View)軌道動画を保存します。
はじめに
MV3DT と AMC のソースコード、スキル、参考アプリケーション、サンプルデータセットはすべて、DeepStream 9.1 リリースの一部として NVIDIA DeepStream GitHub リポジトリ に公開されています。
- MV3DT 参考アプリ:
`src/apps/reference_apps/deepstream-tracker-3d-multi-view` - MV3DT スキル:
`skills/deepstream-run-mv3dt` - AMC スキル:
`skills/amc-setup-calibration-stack,skills/amc-run-video-calibration,skills/amc-run-sample-calibration,skills/amc-run-rtsp-calibration`
事前構築された MV3DT マイクロサービスは、NVIDIA VSS ブループリントとエージェントスキル と併用して、パイプラインを追加のマイクロサービスやデータベース、エージェントと統合することも可能です。
ご質問やコミュニティでの議論については、NVIDIA DeepStream 開発者フォーラム をご覧ください。
AI算出
主要ニュースainew評価高い
NVIDIA が開発者向けに公開した DeepStream 9.1 の新機能であるマルチカメラ 3D 追跡や自動キャリブレーションは、ビジョン AI エッジ開発における重要な実装知見であり、具体的なバージョン番号と技術的詳細が含まれているため新規性が高い。
6つの評価軸を見る
- AI関連度
- 100
- 情報源の信頼性
- 100
- 新規性
- 75
- 調べる価値
- 75
- 重複の少なさ
- 100
- 日本での有用性
- 50
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み