8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

先日、AutowareのLearningベース Prediction/Planning 公開!という投稿を拝見しました。

こちらはDiffusion Plannerと呼ばれるもので、ICLR'25 (Oral) に採択されたOSSの自動運転プランナーのようです。

お台場を走行しているデモンストレーション動画も公開されていました。

このDiffusion Plannerが具体的にどのような技術なのか、またこちらはLearningベースで機械学習 (Machine Learning, ML) を応用した技術であることから現時点でAutowareにMLがどの程度応用されているのか、非常に興味がわきました。

そこで本記事では、まずDiffusion Plannerの概要をまとめ、そのあとに本記事執筆時点でのAutoware.UniverseおよびThe Autoware FoundationでのML応用事例を体系的に整理します。

私の興味でまとめたメモ的な位置づけではありますが、AutowareにおけるML応用を俯瞰したい方 / 自動運転AIチャレンジAI応用に挑戦したい方の参考になれば幸いです。

注意事項です。

  • 面白くてかなり文量が増えてしまい、若干まとまりがなくなってしまいました…適宜ピックアップして読んでいただけますと幸いです…
  • また細心の注意は払いましたが、部外者の私がインターネット上で調査した結果ですので、不正確な部分があるかと思います。詳細はリンク先や公式HPで確認いただけますと幸いです。

Diffusion Planner

早速ですが、Diffusion Plannerの論文とプロジェクトページは以下となります。

モデルアーキテクチャと特徴

Diffusion Plannerは、Planningタスクを「将来の軌道生成タスク」として再定義し、自車両のPlanningと周辺車両のPredictionを統合して実行する、Encoder-Decoderモデルを採用しています。

  • Encoder: MLP-Mixer / MLP / Self Attention
  • Decoder: MLP-Mixer / Diffusion Transformer

image.png

このシステムは、Transformerベースの拡散モデルを活用し、人間の運転行動におけるマルチモーダルな動作を効果的にモデル化し、従来のルールベースの軌道修正に頼ることなく質の高いプランニングを保証します。Diffusion Plannerは、前述のように「周辺車両の予測」と「自車のプランニング」のタスクを同じアーキテクチャ内で統合することで、車両間の協調行動を可能にし、柔軟な分類器ガイダンス機構を通じて、安全性や運転スタイルのカスタマイズといった計画行動の調整を実現します。大規模な実世界のベンチマークでの評価により、このモデルが最先端の閉ループ性能を達成し、多様な運転スタイルに対する高い汎用性を持っていることが示されています。

日本語による解説記事もあります。

※ なおNeurIPS'25では、Flow Matchingを応用したPlannerFlow-Plannerが発表されるようです。InterPlanデータセットで10 pt.以上性能が向上しています。

推論性能とモデルサイズ

推論速度は、A6000 GPU単体で20 Hzでの実行が可能とされています (実車でどうやって動かしたんだ…)。

In addition, the model achieves an inference frequency of 20 Hz on a single A6000 GPU.

Pre-Trainedモデルのサイズは約45MBです。

Autowareでの実装状況

AutowareにおけるDiffusion Plannerの実装および学習関連は以下の通りです。

  • Autoware Node実装:

  • 学習用リポジトリ:

  • Pre-Trainedモデル:

冒頭のPostにもありましたが、合成データと実データで学習されているとのことです。

  • Added datasets:
    • Synthetic Data: 4.0M points
    • Real Data: 1.5M points

setup-dev-env.shでダウンロードされるモデルも約45MBでした。

  • 今後の改善アイディア:

AutowareにおけるML応用事例

最新のPlannerである上記Diffusion Plannerの導入を踏まえ、Autoware全体でMLがどのように応用されているかを調査しましたので、まとめます。

E2E事例: Autoware E2E Report

End-to-End (E2E) 事例については、The Autoware Foundation が公開しているAutoware E2E Reportに包括的にまとめられています。

本レポートのExisting Autoware E2E Technologiesの節から、Autowareで導入されている主要なE2E技術をピックアップします。

気になる方はこちらから。

※ 上記レポートと内容はほとんど同じですが以下の記事も面白いです。

image.png

1. AutoSeg Vision Foundation Model (Learned Perception)

AutoSeg Vision Foundationモデルは、様々なシーン認識タスクにおいて、高度なシーン理解を提供します。共通の特徴バックボーンと複数の予測ヘッドを活用することで、異なる認識タスク間での特徴表現を最大限に活用し、組み込み環境における効率的なパフォーマンスを実現します。
AutoSeg Vision Foundationモデルは、前景オブジェクトのセマンティックセグメンテーション、自由空間セグメンテーション、建設オブジェクトのセグメンテーション、単眼深度推定、車線検出をすべて、モデルの1回のフォワードパスで提供します。(引用, 日本語訳)

画像入力のマルチヘッドパーセプションモデルです。

image.png

リポジトリは以下です。Universeではなく、SAEレベル4の自動運転を可能にするオープンソースの高速道路自動運転システム (個人所有車両向け / トラック向け) のプロジェクトのようです。

BackboneはEfficientNetB0とのこと、詳細は以下で解説されています。面白いです。

2. AutoSteer (Learned Planning)

AutoSteerは、単眼カメラによる鳥瞰図ネットワークです。カメラ画像を処理することで、HDマップに依存せずに、自動運転車両が現在の走行経路を辿るために進むべき将来の経路を直接予測することができます。これにより、曲率の高い道路、薄暗い車線、渋滞時に近くの車によって遮蔽された車線などでも自動運転が可能になります。現在のモデルのバージョンは、交差点のない道路での走行に限定されており、主に高速道路での運転シナリオを想定しています。(引用, 日本語訳)

こちらは画像入力のプランニングモデル。

完全一致のリポジトリは見つかりませんでしたがおそらくこちら。
AutoSegとバックボーンは同じ?と思われます。

先日開催されたAutowareCon.での解説動画があります。こちらも面白いです。

3. LIDAR CenterPoint Model (Learned Perception)

LIDAR CenterPoint ニューラル ネットワークは、LIDAR ポイントクラウドで 3D 境界ボックスの検出と分類を実行し、自動車、トラック、バス、自転車、歩行者などの主要な前景オブジェクトを識別できます。(引用, 日本語訳)

LiDAR点群入力のパーセプションモデル。

こちらは古くからAutoware.Universeにある気がしますね。

4. Diffusion Planner (Learned Planning)

Diffusion Planner モデルは、全体的なミッション プランとともに、他の重要な道路エージェントの HD マップと 3D 境界ボックス検出を取り込み、困難な都市の運転シナリオでの将来の軌道 (パスと速度) 予測を可能にします。(引用, 日本語訳)

こちらは前述のとおりなので省略します。

ML事例: Autoware.UniverseにおけるML

E2E技術以外にも、Autoware.Universeの各モジュールでMLが応用されています。今回はsetup-dev-env.shでダウンロードされるArtifactsからMLが応用されている領域を探ってみました。

setup-dev-env.shでダウンロードされるファイル

Localization, Perception, Planning, Seinsingの領域で多岐にわたるMLモデルが使用されています。特にPerceptionでの採用が多いことがわかります。

No. ディレクトリ名 ダウンロードファイル
1 yabloc_pose_initializer resources.tar.gz
2 bevfusion bevfusion_lidar.onnx
bevfusion_camera_lidar.onnx
3 tensorrt_bevdet tensorrt_bevdet.tar.gz
4 image_projection_based_fusion pts_voxel_encoder_pointpainting.onnx
pts_backbone_neck_head_pointpainting.onnx
5 lidar_apollo_instance_segmentation vlp-16.onnx
hdl-64.onnx
vls-128.onnx
6 lidar_centerpoint pts_voxel_encoder_centerpoint.onnx
pts_backbone_neck_head_centerpoint.onnx
pts_voxel_encoder_centerpoint_tiny.onnx
pts_backbone_neck_head_centerpoint_tiny.onnx
7 lidar_transfusion transfusion.onnx
8 tensorrt_yolox yolox-tiny.onnx
yolox-sPlus-opt.onnx
yolox-sPlus-T4-960x960-pseudo-finetune.onnx
yolox-sPlus-opt-pseudoV2-T4-960x960-T4-seg16cls.onnx
yolox_s_car_ped_tl_detector_960_960_batch_1.onnx
9 tensorrt_rtmdet tensorrt_rtmdet_onnx_models.tar.gz
10 traffic_light_classifier traffic_light_classifier_mobilenetv2_batch_1.onnx
traffic_light_classifier_mobilenetv2_batch_4.onnx
traffic_light_classifier_mobilenetv2_batch_6.onnx
traffic_light_classifier_efficientNet_b1_batch_1.onnx
traffic_light_classifier_efficientNet_b1_batch_4.onnx
traffic_light_classifier_efficientNet_b1_batch_6.onnx
ped_traffic_light_classifier_mobilenetv2_batch_1.onnx
ped_traffic_light_classifier_mobilenetv2_batch_4.onnx
ped_traffic_light_classifier_mobilenetv2_batch_6.onnx
11 diffusion_planner/v0.1 diffusion_planner.onnx
12 diffusion_planner/v1.0 diffusion_planner.onnx
13 traffic_light_fine_detector tlr_car_ped_yolox_s_batch_1.onnx
tlr_car_ped_yolox_s_batch_4.onnx
tlr_car_ped_yolox_s_batch_6.onnx
14 simpl_prediction simpl.onnx
15 ptv3 ptv3.onnx
16 lidar_frnet frnet.onnx
17 calibration_status_classifier calibration_status_classifier.onnx

その他

上記の表に加えて、VehicleおよびControlでもML応用事例が確認されています。

Vehicle:

accel / brake mapをデータドリブンで生成する、learning based vehicle calibrationが存在します。

Control:

Smart MPC Trajectory Followerが存在します。

これは、モデル予測制御 (Model Predictive Control, MPC) で使用されるノミナル車両モデルと実車の挙動のズレ(モデル誤差)を補正するためのモデルをMLで作成するアプローチです。ステアリング遅延や動力応答のずれなど、モデル化が難しい実車特性をデータ駆動で補正することで、トラッキング性能の向上を図っています。

Learning based MPCという論文もありました、こちらも面白いですね。

なお、前述のE2Eレポート内で描かれていた開発ロードマップにおいては、ControlまではE2Eで置き換わらない想定となっていました。最終処理のControlには一定ルールベースを残しておき、Safty Guardianと併せて冗長性・安全性を担保する設計思想と推察され、とても現実的な設計と感じました。

その他:

また以下のTraining and Deploying Modelsというページもありました。

…ということで、Autowareの主要モジュールのすべてで、何らかの形でMLが応用されていることがわかりました。

MLOps事例: AWML (ML pipeline for Autoware)

MLモデルの学習、デプロイ、管理を支援するMLOps関連のリポジトリも公開されていました。AutowareではMLをただ単に導入するだけでなく、運用面でもOSSでサポートがされるようです。

このリポジトリは、Autowareが「ロボティクスMLOps」を目指すためにデプロイする機械学習ライブラリです。AWMLは、Autoware向けのオープンデータセットとデプロイに加え、T4データセット形式による学習をサポートします。MLモデルのデプロイに加え、AWMLは自動ラベリング、半自動ラベリング、データマイニングを含むアクティブラーニングフレームワークもサポートします。(引用, 日本語訳)

チュートリアルもあるので興味のある方はぜひ。

※ AWMLのリポジトリ公開だけでなく、過去MLOpsに関するイベントも開催されていたり、Co-MLOpsのようなプラットフォームも展開されています。Opsも注力されているようです。

おわりに

本記事では、Autowareに新たに導入されたDiffusion Plannerを中心に、機械学習のAutowareへの応用について調査・整理しました。

  • Diffusion Plannerは、Transformerベースの拡散モデルで、大規模な実世界のベンチマークで最先端の閉ループ性能を達成しています。Autowareでは合成データと実データで学習させたPre-Trainedモデルを使用できます。

  • Autoware全体としては、すべての主要モジュールで機械学習が活用されています (例: ビジョン基盤モデルによるマルチタスク認識、LiDAR点群による3D障害物検出、学習ベースのプランニング、モデル予測制御の補正など)。

本記事が、AutowareにおけるML応用 / AI技術の全体像を理解する一助となれば幸いです。

またティアフォー社による以下セミナーもあるようですので気になる方はぜひ。

この記事は、AI文章校正ツール「ちゅらいと」で校正されています。

おまけ

自動運転AIチャレンジの「AI教材」のように最新Autoware docker imageを使用して、上記ML応用パッケージを使ったシミュレーションも可能と思います。興味がある方はぜひ挑戦してみてください。私はLearning based MPCが気になっています…!

また今年はiASLさんが仮想LiDARを使ったE2Eコントローラを提案されています、超軽量 / 実行時はPytorch依存無しで動くようです。これまじですごいです。

Autowareは関係ないのですが、最近すごいなと思った記事が以下です。圧倒的網羅性。

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?