RoadRunner/MATLAB で作る NVIDIA Cosmos-Transfer2.5 Auto Multiview 向け入力動画 — HDマップからフォトリアルなマルチカメラ映像まで
今回はアプリケーションエンジニアリング部の福地がお送りします。
2026/7/15 セミナー”HDマップ×シミュレーションで実現するPhysical AI学習、検証の最前線 ~Dynamic Map Platform × NVIDIA × MathWorks が描くデータ生成エコシステム~ – MATLAB & Simulink“内の「RoadRunner/MATLABを活用したCosmos Transfer用の入力動画生成とその実行」(MathWorks Japan アプリケーションエンジニアリング部)の内容をブログ記事として再構成したものです。
自動運転・ADASの開発では、学習・検証に使えるリアルな走行映像を、狙ったシナリオで十分な量だけ用意することが常に課題になります。実車で雪、霧、逆光、夜間などの悪条件と、カットインや急制動などの危険シナリオを組み合わせた映像を都合よく収集することは困難です。また、ゲームエンジンでフォトリアルなデジタルツインを一から作り込む方法は工数がかかるうえ、実データとシミュレーションデータの見た目の差、いわゆるドメインギャップも課題になります。
NVIDIA Cosmos-Transfer2.5 Auto Multiviewは、道路構造や交通参加者の動きを制御入力として与えながら、複数視点のフォトリアルな走行映像を生成できる自動車向けモデルです。同じ交通シナリオに対して、晴天、雨天、雪、夜間、逆光などの外観条件をテキストプロンプトで指定できるため、実車では収集が難しい条件の映像バリエーションを生成する手段として期待できます。
一方、その活用の鍵となるWorld Scenario Video(WSV)の作成は容易ではありません。マルチカメラWSVでは、道路や物体の3D情報、自車運動、カメラキャリブレーションに基づき、すべての視点で座標、時刻、物体の動き、カメラ姿勢を整合させる必要があります。
本記事では、ダイナミックマッププラットフォーム(以下、DMP)の高精度(HD)マップ、MathWorksのRoadRunner、MATLAB、Simulink、そしてNVIDIAの生成AIモデルCosmos-Transfer2.5 Auto Multiviewを組み合わせ、HDマップからフォトリアルな走行動画のバリエーションを効率的に生成する3社連携ワークフローを紹介します。
今回のワークフローは、DMPの道路データ、MathWorksのシミュレーション技術、NVIDIAの生成AIを接続し、HDマップまたはRoadRunnerシーンから、時空間的に整合したマルチカメラWSVの作成とフォトリアルな映像生成へつなげるものです。
この記事でわかること:
- HDマップ または、RoadRunnerシーン → RoadRunner Scenarioによるシナリオ作成 → MATLAB → Cosmos-Transfer2.5 Auto Multiview という一連のパイプラインの全体像
- Cosmos-Transfer 2.5 Auto Multiviewモデルの入力となる World Scenario Video (WSV) の作り方
- Simulink連携により車両ダイナミクスまで含めたカメラ挙動を再現する方法
- Cosmos-Transfer 2.5 AV Multiview の設定パラメータとテキストプロンプトの実例
- 天候・時間帯バリエーション(晴天/雨天/夜間/霧/逆光/雪)の生成結果
注記: NVIDIA Cosmosの最新世代は、言語、画像、動画、音声、アクションを統合的に扱うオムニモーダルモデルCosmos 3です。Cosmos 3ではSingle ViewのTransfer機能がすでに公開されています。一方、Auto Multiviewについては、今後Cosmos 3での対応が進むことが見込まれますが、本記事の作成時点ではCosmos-Transfer2.5のみが対応しています。そのため、本記事ではCosmos-Transfer2.5 Auto Multiviewを使用したワークフローを紹介します。
結果:RoadRunnerによる仮想シーンをベースにここまでリアルに
ワークフローの詳細に入る前に、生成結果を先にご覧ください。RoadRunnerで作成したシーン(道や標識、建物といった静的な要素)とシナリオ(シーンに対して車両や歩行者などの動きを追加した静的+動的な要素)から、Cosmos-Transfer2.5 Auto Multiviewで生成した6カメラ(左前・前方・右前・左後・後方・右後)の雪景色の走行映像です。
1. ワークフロー全体像:HDマップからリアルな動画まで
まず全体の流れです。出発点はシーンの作成になります。シーンの作成方法は、1.RoadRunnerのGUIを使用してマニュアルでの作成、2.Agentic AIとRoadRunnerのSceneAPIを活用し、自然言語で指示して作成、3.DMPなどの地図ベンダーが提供する高精度マップから作成、の3通りが可能です。。
シーン作成後、RoadRunner Scenarioで車両の動き(シナリオ)を定義します。MATLAB & Simulinkがこれらを World Scenario Video と呼ばれる制御動画(control video)に変換し、最後にNVIDIAのCosmos-Transfer2.5 Auto Multiviewがフォトリアルな動画を生成します。
ポイントは「HDマップにより自動でシーンを作成し、Cosmos-Transfer2.5 Auto Multiviewにより写実的な動画を生成」できること、です。デジタルツイン環境の作り込みに工数をかけず、リアルな動画のバリエーション生成までを最小工数で実現します。
2. 鍵となる入力:「World Scenario Video」とは
Cosmos-Transfer2.5 Auto Multiview (Autonomous Vehicle/ADAS向け)モデルは、テキストプロンプトだけで動画を作るのではなく、World Scenario Video (以降、WSV) と呼ばれる制御動画を空間条件として受け取ります。WSVは黒背景に、レーンライン(種別ごとに色分け)、道路境界、信号・標識のポール、車両・歩行者の3Dバウンディングボックス(直方体)などを各カメラ視点へ投影した動画です。 「Text prompt + World Scenario Video → フォトリアルなマルチビュー動画」という構図です。
Cosmos-Transfer2.5 Auto Multiviewモデルを活用するには、このWorld Scenario Videoの用意が必須です。そして「HDマップとRoadRunnerからWSVをどう作るか」が、本ワークフローの中核になります。
3. World Scenario Videoの生成パイプライン
WSV生成の流れは次の通りです。
- ユーザが用意するもの
- ①シーン:RoadRunnerで手動作成するシーン、もしくは、ダイナミックマップ プラットフォームから提供を受けるRRHD形式のHDマップ
- ②シナリオ(車両の動き):RoadRunner Scenarioで作成(AI活用も可能)→ CSVで出力
- MATLAB側の変換(MathWorks提供):convertRRHD2CosmosWSV.m がシーン情報(RRHD)とシナリオ(CSV)を読み込み、parquet形式のシーンアノテーションに変換します。このスクリプトは今回のセミナー用にMathWorksが作成したデモで、個別にお問い合わせいただければご提供可能です。
- Python側の描画(NVIDIA公開):Cosmos-TransferのGitHubリポジトリで公開されている generate_control_videos.py がparquetを読み込み、各カメラのWSVをレンダリングします。
WSV作成の手順はNVIDIA公式ドキュメントにまとまっています。
4. シーンとシナリオのエクスポート:2つのオプション
車両の動き(シナリオ)のCSV出力には2つのオプションがあります。
- オプション1:理想通りの動きの出力 — RoadRunner Scenarioの定義通りの軌道をそのままCSVへ。手早くWSVを作りたい場合はこちら。
- オプション2:車両の物理現象を含んだ動きの出力 — RoadRunner × Simulinkのコシミュレーションで、車両ダイナミクスモデルを介した軌道・姿勢をCSVへ。使用するのは simulationPathFollowing14DoF.m(14自由度の車両ダイナミクスモデル)です。
4-1. なぜ車両ダイナミクスが重要か:カメラは車体と一緒に揺れる
カメラは車体に固定されています。つまりサスペンションの沈み込みやピッチングは、そのままカメラ映像の揺れ・傾きとして現れます。構成としては「RoadRunner(路面)→ 制御 → 車両ダイナミクス」のループで、路面形状と制御入力に応じた車体挙動がカメラ視点に反映されます。
既知の車両ダイナミクスパラメータを活用して、車両の物理的な動きをカメラに反映できるため、数値計算に基づいた動きを含んだセンサ映像で学習・検証が行えます。
4-2. RoadRunner × Simulink コシミュレーションの実行
主な引数(simulationPathFollowing14DoF.m ):
- scenarioName — RoadRunnerプロジェクトに保存されたシナリオ名
- outputFolder — CSVの出力先/ オプション引数
- オプション引数 — rrProjectDir(RoadRunnerプロジェクトフォルダ)、rrInstallDir(RoadRunnerインストールフォルダ)、egoVehicleName(自車の名前。未指定時はactor ID 0を使用)
% シナリオ名と出力フォルダを指定して実行
% 例: simulationPathFollowing14DoF(‘FourWayTraffic_sample’, ‘output_FourWay’, egoVehicleName=’ego’);
simulationPathFollowing14DoF(‘CCRs40_TenVehicles’, ‘output_CCRs40’, maxSimulationTime=8.5);
5. World Scenario Videoの生成実行
シーン(RRHD)とシナリオ(CSV)が揃ったら、いよいよWSVを生成します。
Step 1: MATLABでparquetへ変換
convertRRHD2CosmosWSV.m を実行し、RRHDファイルとシナリオCSVからCosmos-Transfer2.5 Auto Multiview用のparquetファイル群(シーンアノテーション)を生成します。
Step 2: PythonでWSVをレンダリング
python cosmos-transfer2.5/scripts/generate_control_videos.py \
-i <input/scene_annotations> \
-o <output/world_scenario_videos>
# scene_annotations: convertRRHD2CosmosWSV.m の生成結果フォルダ
▶ 動画(videos/03_world_scenario_video/): s13_wsv_with_unreal_engine_ref.mp4(UE映像へのWSV重畳リファレンス) Unreal Engineと重ねることで、設定した画角か、オブジェクトと直線や直方体が重なっているかを検証できます。生成AIに渡す前に制御信号の品質を担保できるのは、実務上とても重要なポイントです。
6. 生成したWSVの検証:Unreal Engineとの重畳表示
必須ではありませんが生成したWSVが「意図したカメラ画角か」「オブジェクトと直線・直方体が正しく重なっているか」を確認する検証ステップも用意されています。generateSceneRGB.m でUnreal EngineによるRGB動画(リファレンス)を作成し、validate_wsv_overlay.py でWSVと重畳します。
7. Cosmos-Transfer2.5 Auto Multiviewの設定と実行
WSVが用意できたら、Cosmos-Transfer2.5 Auto Multiviewの設定JSONを書きます。7カメラ分のWSV(generate_control_videos.py で生成された動画)を control_path に指定します。
Cosmos-Transfer2.5 Auto Multiview 設定JSON(例)
{
“name”: “cutin_daytime”,
“prompt_path”: “prompt_daytime.txt”,
“num_conditional_frames”: 0,
“enable_autoregressive”: true,
“num_chunks”: 3,
“chunk_overlap”: 1,
“save_combined_views”: false,
“front_wide”: {“control_path”: “world_scenario_videos/camera_front_wide_120fov.mp4”},
“cross_left”: {“control_path”: “world_scenario_videos/camera_cross_left_120fov.mp4”},
“cross_right”: {“control_path”: “world_scenario_videos/camera_cross_right_120fov.mp4”},
“rear_left”: {“control_path”: “world_scenario_videos/camera_rear_left_70fov.mp4”},
“rear_right”: {“control_path”: “world_scenario_videos/camera_rear_right_70fov.mp4”},
“rear”: {“control_path”: “world_scenario_videos/camera_rear_tele_30fov.mp4”},
“front_tele”: {“control_path”: “world_scenario_videos/camera_front_tele_30fov.mp4”}
}
主要な生成パラメータは次の通りです(下のコードを実行すると一覧表が表示されます)。
主要な生成パラメータ:
|
Parameter
|
説明
|
|
num_conditional_frames
|
条件入力に使用する先頭RGBフレーム数。control_videoから生成する場合は 0
|
|
enable_autoregressive
|
複数チャンクによる長尺動画生成を有効化
|
|
num_chunks
|
生成する動画チャンク数。長尺動画を作る場合は2以上に設定
|
|
chunk_overlap
|
チャンク間で重複させるフレーム数
|
|
save_combined_views
|
全カメラ映像を統合動画として保存
|
長尺動画の計算例:動画は1チャンク29フレーム(10fps)=2.9秒。num_chunks=3、chunk_overlap=1 に設定すれば、29*num_chunks – chunk_overlap*(num_chunk-1) = 29×3 − 1×(3−1) = 85フレーム(約8.5秒) の動画が得られます。
セミナーで使用された昼間のカットインシナリオ用プロンプトの例: A realistic daytime urban driving scene captured by a front-facing automotive camera mounted on the ego vehicle. The ego vehicle moves smoothly through a multi-lane urban intersection under clear daylight. The environment includes dry asphalt roads, clearly visible lane markings, lane boundaries, traffic lights, road signs, sidewalks, curbs, utility poles, and mid-rise urban buildings along both sides of the road. At the beginning of the scene, a leading vehicle is traveling in the right lane ahead of the ego vehicle, following the lane in the same direction as the ego vehicle. The leading vehicle then cuts into the ego vehicle’s lane, creating a potential collision risk. The ego vehicle brakes and decelerates to avoid a collision caused by the cut-in vehicle, then continues moving forward toward the intersection. There is also another vehicle approaching the intersection from the left side of the ego vehicle and traveling across the ego vehicle’s path after the ego vehicle has decelerated. In the front-left area of the ego vehicle, three vehicles are already stopped along the lane from the beginning of the video. These stopped vehicles partially occlude the vehicle entering the intersection from the left. The video should look like natural automotive camera footage with realistic daytime exposure, balanced lighting, clear visibility, stable camera motion, consistent road geometry, coherent vehicle positions, realistic vehicle scale, and smooth temporal consistency. The ego vehicle continues forward through the intersection while following the road layout and surrounding traffic. Preserve the lane structure, intersection geometry, vehicle positions, and motion from the input control video.
シーンの静的な描写、イベント(カットイン、減速)、周辺車両の配置、そして「入力制御動画のレーン構造・交差点形状・車両位置・動きを保持せよ」という指示までを自然言語で記述しているのがわかります。シナリオの幾何はWSVが担保し、見た目のバリエーションはプロンプトで制御するという役割分担です。
8. 結果ギャラリー
セミナーで紹介した一部の動画生成結果を紹介します。全てのパターンを見たい場合はセミナーのアーカイブ動画をご覧ください。アーカイブ動画へのリンク:HDマップ×シミュレーションで実現するPhysical AI学習、検証の最前線 ~Dynamic Map Platform × NVIDIA × MathWorks が描くデータ生成エコシステム~ – MATLAB & Simulink
静止車両への急ブレーキシナリオ(CCRs)
Euro NCAPのAEBテストでも用いられるCCRs(Car-to-Car Rear stationary:静止車両への接近・急ブレーキ)シナリオです。オプション2の車両ダイナミクス込みエクスポートと組み合わせることで、急減速時の車体挙動まで反映されます。なお、上記json設定では7カメラ分の生成パラメータにしておりましたが、本結果ではレイアウトの見やすさのため生成後に6カメラのみ抜粋して表示している点にご注意下さい(json内の”front_wide”のカメラを除外)。
晴天
逆光
夜間
雪
危険シナリオ×悪条件(夜間の雨、雪道でのカットイン等)という、実車収集が最も難しい組み合わせのデータを安全に量産できるのが、このワークフローの本質的な価値です。
9. まとめ
3社の連携デモとして、以下をご紹介しました。
- ダイナミックマップ プラットフォームのHDマップを活用することで、現実の道路構造を素早く再現可能
- RoadRunner・MATLABを活用してCosmos-Transfer2.5 Auto Multiview用の入力ファイル(World Scenario Video)を作成
- Simulink連携を組み合わせると、車両ダイナミクスまで含めたカメラの動きを再現
- Cosmos-Transfer2.5 Auto Multiviewを活用してリアルな動画生成が可能。テキストプロンプトにより天候や背景などのバリエーションを制御
convertRRHD2CosmosWSV.m をはじめとする本ワークフローのデモ一式は、今回のセミナー用にMathWorksが作成したものです。ご興味のある方はMathWorks Japanまでお問い合わせください。
参考リンク
- MathWorks関連ソリューションへのリンク:
- Dynamic Map Platform関連ソリューションへのリンク(RRHDファイルも公開されております):
- NVIDIA Cosmos-Transfer2.5へのリンク:https://github.com/nvidia-cosmos/cosmos-transfer2.5/tree/main
- カテゴリ:
- 機能と使い方


コメント
コメントを残すには、ここ をクリックして MathWorks アカウントにサインインするか新しい MathWorks アカウントを作成します。