Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[CV勉強会@関東 ICCV2023] ビジョンベースの End-to-End 自動運転に向け...

abemii_
November 05, 2023

[CV勉強会@関東 ICCV2023] ビジョンベースの End-to-End 自動運転に向けたシーン表現

紹介する論文:
VAD: Vectorized Scene Representation for Efficient Autonomous Driving (Jiang et al., ICCV 2023)

abemii_

November 05, 2023
Tweet

More Decks by abemii_

Other Decks in Technology

Transcript

  1. ビジョンベースの End-to-End 自動運転に向けたシーン表現 紹介する論文: VAD: Vectorized Scene Representation for Efficient

    Autonomous Driving (Jiang et al., ICCV 2023) Michiya Abe @abemii_ Nov. 5, 2023. コンピュータビジョン勉強会@関東 ICCV 2023 読み会
  2. 2 • 経歴 • 2019 :修士(情報理工学) • 2019 ~ :自動運転向け画像認識の研究開発

    • 物体検出・走路認識の DNN モデルの開発 • モデルの量子化,エッジでの高速化 • 好きなもの • テキストエディタ(Neovim) • ギター(初心者) 自己紹介 Michiya Abe X (Twitter): @abemii_ Blog: https://abemii.hatenablog.com/ ※ 発表内容は所属機関と一切関係しません
  3. 3 • 概要 • ビジョンベースの End-to-End 自動運転向けに、走行シーンをベクトル化された表現としてモデ ル化する手法を提案。 • Planning

    において、ベクトル化されたエージェントの動きとマップ要素を明示的なインスタンスレベルの 制約として利用できる。 • 計算負荷の高いラスタ表現や、手作りの後処理を排除し、高速に動作する。 ※資料中の図表等は特に記載のない限り上記論文から引用。 今日紹介する論文 • Paper: https://arxiv.org/abs/2303.12077 • Project page: https://github.com/hustvl/VAD (手元の RTX2070S環境でも推論は動いた。学習は試していないが …)
  4. 5 • 車に取り付けた各種センサの入力を処理して、自車両の動き・制御を行う 自動運転システム? なんかいろいろな処理 車に取り付けた色々なセンサからの入力 (nuScenes の例) t=1 t=2

    t=3 Planning & Controlling 将来の自車両の経路を決めて、 アクセル・ブレーキ・ステアリングの制御を行う https://www.nuscenes.org/nuscenes 入力 出力
  5. 6 • 車に取り付けた各種センサの入力を処理して、自車両の動き・制御を行う ビジョンベースの自動運転システム なんかいろいろな処理 車に取り付けた色々なセンサからの入力 (nuScenes の例) t=1 t=2

    t=3 Planning & Controlling 将来の自車両の経路を決めて、 アクセル・ブレーキ・ステアリングの制御を行う https://www.nuscenes.org/nuscenes マルチカメラの画像だけを使う (Radar, LiDAR は使わない) 入力 出力
  6. 7 • 車に取り付けた各種センサの入力を処理して、自車両の動き・制御を行う ビジョンベースの自動運転システム なんかいろいろな処理 車に取り付けた色々なセンサからの入力 (nuScenes の例) t=1 t=2

    t=3 Planning & Controlling 将来の自車両の経路を決めて、 アクセル・ブレーキ・ステアリングの制御を行う Perception • 自車両の周囲では、どんな物体が どんな位置・速度で動いている? • 自車両の周囲の道路構造はどう なっている? Prediction • それらの物体の状態は将来どのよ うに変化していく? Planning • より大まかな計画 (右左折直進な ど) と Perception/Prediction の情 報を元に、次自車両がどのように動 けば良いかを判断 https://www.nuscenes.org/nuscenes
  7. 8 • Perspective View (PV) to Bird’s Eye View (BEV)

    (or 3D) • どうやって車載カメラの 2 次元の情報を 3 次元の情報に変換するか? • 車両の周囲の状況を正確に把握するためには、 BEV (top-view) or 3D 表現は不可欠。 • どのように時系列的な情報を利用しているか? • 過去の情報(カメラの動画・自車の動き)を蓄積し、現在の情報をより正確にする。 ビジョンベースの自動運転向けの認識技術のポイント (1) https://towardsdatascience.com/a-hands-on-application-of-homography-ipm-18d9e47c152f t=-2 (past) t=-1 (past) t=0 (now) Perspective View (PV) Bird’s Eye View (BEV) (画像そのものを変換する場合もあるが、 ここでは何らかの特徴表現を想定 ) 画像特徴抽出 ・BEVエンコーダ
  8. 9 • シーンの表現方法 • ラスタ表現 (semantic map, occupancy map, flow

    map, cost map など) • UniAD で Planner に入力される情報は将来の (2D) Occupancy map • ベクタ表現 • VAD は全モジュールでこれ ビジョンベースの自動運転向けの認識技術のポイント (2) Sima et al., Scene as Occupancy. In ICCV, 2023.
  9. 10 • モジュールの構成 • どのようなタスクがある? • Detection & Tracking: 車、歩行者などの動的な物体の動きや静的な物体を捉える

    • どのような属性を推定している? • Mapping: 周囲の道路構造 (lane divider, road boundary, pedestrian crossing など) を推定する • Prediction: 周辺の物体の将来の動きを予測する • Planning: 将来の自車両の動きを決める • どのようにタスクをつなげている? • クエリベース: “クエリ” を通じて、後段のモジュールで必要な情報を前段からとってくる (UniAD, VAD など) • そうではないやつ: 何と呼んだら良いのか... フィードフォワードなやつ (ST-P3 など) • どのように最適化を行っている? • 個別に最適化するか、全体で最適化するか。など ビジョンベースの自動運転向けの認識技術のポイント (3)
  10. 11 ざっくりとしたビジョンベース自動運転関連の研究の流れ (まったく網羅的ではないので注意) オンラインマッピング End-to-End 自動運転フ レームワーク ST-P3 (ECCV22) UniAD

    (CVPR23) Scene as Occupancy (ICCV23) VAD (ICCV23) MapTR (ICLR23) HDMapNet (ICRA22) BEVFormer (ECCV22) Lift Splat Shoot (LSS) (ECCV20) SurroundOcc (ICCV23) PV to BEV Query-based. Planning-oriented Query-based. Vectorized Repr. 3D Occupancy Feed-forward PV から BEV への変換 モジュール BEV から必要な情報を PV にクエリする PV の情報を Depth を 使って 3D にもちあげ る Segmentation の結果と Embedding を使って ポスト処 理で Instance 分割 クエリベース DETR (ECCV20) 定式化として、ベジエ曲線のパラメータ推 定やピボットの推定などの手法もある (BeMapNet (cvpr23), PivotNet (iccv23) など) し、ラスタ表現と組み合わせたほう がいいのでは?という方向もある (MapVR (NeurIPS23)) ベクトル表現の マップの推定の ベースになってい る マップ要素をベクトル 表現として直接推論 マルチカメラのマルチ スケールの特徴マップ から 2D-3D Spatial Attn. を用いてフュー ジョンする マルチカメラの画像特 徴を BEV に落としたあ と、画像特徴を使い 徐々に 3D を回復させ ていく
  11. 12 • マルチカメラの画像特徴から、Transformer を使って BEV 上の特徴マップを得る手 法。 • Spatial Cross-Attention

    • BEVクエリを使い、マルチカメラの特徴から BEV 上の特徴を取り込む。 • Temporal Self-Attention • 時間方向の BEV の特徴をフュージョンする。 • 最近 (2022 以降) のこの分野の論文では、BEV Encoder としてよく使われている。 関連研究 | BEVFormer (ECCV2022) Li et al., BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers., In ECCV, 2022.
  12. 13 • DETR と同じように、直接集合予測問題としてマップ要素の予測を行う • 物体検出は BBOX で表現できるが、マップ要素は動的な形状をもつ。どうする? • マップの各要素を置換等価群

    (permutation equivalent group) を持つ点の集合としてモ デル化 • 同じ幾何学的な形状をもつ点の集合すべての可能な構成順序を含み、形状の曖昧さを回避 • マップ要素のインスタンスレベルの情報と点レベルの情報をエンコードするための階層的なクエリ embedding • 学習時は Pred ↔ GT のインスタンスレベル → 点レベルの階層的な二部マッチングを行う 関連研究 | MapTR (ICLR2023) Lane divider: 順序が曖昧(手前→奥でも奥→手間でもどち らでも良い) Pedestrian Crossing: 時計回りでも半時計回りでも問題な い。 点の集合 + 等価な置換の群 Carion et al. End-to-End Object Detection with Transformers. In ECCV, 2020. Liao et al., MapTR: Structured Modeling and Learning for Online Vectorized HD Map Construction. In ICLR, 2023.
  13. 14 • 解釈性の高いビジョンベースの E2E 自動運転フレームワーク • Perception, Prediction, Planning の

    3 つのモジュールで構成される。 • Perception: 現在 + 過去の特徴を自車中心にアラインした BEV 特徴を得る。 • PV → BEV 変換を LSS, FIERY と似た手法で行う • Mono-depth で推定した depth 情報をもとに、過去の画像特徴を現在の位置にアラインする • BEV 上でアラインするのではなく、 3D 空間でアラインする点に注意 • 現在と過去のフレームの Segmentation (Semantic & Instance), 及び, Mapping loss (lane, drivable area), 補助的な depth loss で最適化される。 • 最終的にはこれらの 3 つのモジュールの損失を合わせて一緒に最適化する。 関連研究 | ST-P3 (ECCV2022) Jonah Philion, Sanja Fidler. Lift, Splat, Shoot: Encoding Images From Arbitrary Camera Rigs by Implicitly Unprojecting to 3D, In ECCV 2020. Hu et al. ST-P3: End-to-end Vision-based Autonomous Driving via Spatial-Temporal Feature Learning. In ECCV, 2022. Hu et al. FIERY: Future Instance Prediction in Bird's-Eye View from Surround Monocular Cameras. In ICCV, 2021. Mono-depth で 特徴を 3D に持ち上げる。
  14. 15 • Planning 指向哲学 • Planning というゴールに向けて必要なタスクを改めて検討。 • 単体のモジュラーデザインでもなく、単なるマルチタスク学習でもない。 •

    包括的な End-to-End システム • クエリベース:”クエリ” によりすべてのモジュールを接続、協調して動作させる。 • 従来の BBOX ベースの表現より大きな受容野をもち、上流の誤差を緩和。 • 複数のエージェント間の関係など、様々な相互作用をモデル化し、エンコードできる柔軟性を持つ。 関連研究 | Planning-oriented Autonomous Driving (uniad) (CVPR2023, best paper) BEVFormer を使用 Hu et al., Planning-oriented Autonomous Driving. In CVPR, 2023. 検出 + トラッキング マッピング (Semantic map) 他車の将来 軌跡予測 将来の (2D) Occupancy 予測
  15. 16 • 走行シーンを 3D の Occupancy で表現 • Occupancy: Voxel

    のセルごとに意味的ラベルをもつ構造化グリッドマップ • Cascade Voxel Decoder • BEV に落とした特徴を、 Temporal Self-Attention と Spatial Cross-Attention をカスケードさせ たデコーダで上下方向に広げていき、 3D の Occupancy 記述子を得る。 • 画像特徴から直接 Voxel 特徴にしたり、BEV 特徴のまま使うよりも後段で有利。 関連研究 | OccNet: Scene as Occupancy (ICCV2023) Sima et al., Scene as Occupancy. In ICCV, 2023. 3D bbox だとショベルカーの突起などをカバーで きないが、 Occupancy なら表現できる。 シーンの 3D Occ. を推定 検出 マッピング (BEV 上の Semantic map)
  16. 17 • 走行シーンをベクトル化された表現としてモデル化 • UniAD と同様、クエリを通じて各モジュールが接続され、Planning まで E2E に行う。 •

    しかし、各エージェント・マップ要素はすべてベクトル化された表現になっている。 • Occupancy は使わない。 • BEV に落とした特徴マップを 3D に回復させることもない。 VAD | 概要
  17. 18 • ST-P3 や UniAD では、ラスタ表現の Semantic Map を作っていた。 •

    → マップのインスタンスレベルの構造情報が落ちてしまう。 • VAD では、マップクエリ (MapTR と同様) を用いてBEV特徴からマップベクタと各 マップベクタのクラススコアを抽出 • GT と Pred の点同士のマンハッタン距離により回帰し、分類は Focal loss を使う。 • MapTR よりもかなりシンプル VAD | マッピング 予測されたマッ プベクタの数 各マップベクタの 中の点の数 (100 x 20 個) Q m Q’ m マップ要素のクラス • lane divider • road boundary • pedestrian crossing
  18. 19 • エージェントクエリ群 Qa と Deformable Attention を使って BEV 特徴マップからエージェ

    ントレベルの特徴を学習。 • MLP decoder で属性 (位置・向き・大きさ・クラスなど) をデコードし、L1 loss, Focal loss で最適化。 • モーション予測 • 異なるエージェント間、エージェントとマップ間の相互作用を Attention を使って行う。 • 各エージェントの将来の軌跡を予測し、モーションベクタを出力。 VAD | 物体のモーション予測 Q a Q’ a 予測された エージェント の数 モダリ ティの数 将来のタイムス テップ数 Q’ m Jiang et al., Perceive, Interact, Predict: Learning Dynamic and Static Clues for End-to-End Motion Prediction. arXiv, 2022.
  19. 20 • 自車 (ego) と他のエージェント・マップとの相互作用 • 自車クエリ Q ego と他のエージェント

    (エージェントクエリ) の相互作用をTransformer Decoder を用いて行い、自車 クエリを更新 Q’ ego • 更新した自車クエリQ’ ego とマップ (マップクエリ) の相互作用も Transformer Decoder を用いて行い、更に自車ク エリを更新 Q’’ ego • 3 つの自車クエリを合わせて自車ベクトルとする。 • Planning Head • コマンド (右左折直進) や車両の状態と自車ベクトルを MLP ベースの head で処理し、プランニングの軌跡が出 力される。 • Planning の制約 • 自車とエージェントが衝突しないようにする制約 • 自車がマップ上の境界 (boundary) を超えないようにする制約 • 自車がいるレーン (ego-lane) の向きと進行方向が同じになるようにする制約。 VAD | Planning Q’ a Q’ m Q ego
  20. 21 • シーン学習損失 • エージェントのモーション予測とマッピングに関する損失関数。 • マッピング: Pred と GT

    のマップの点同士のマンハッタン距離を最小化、分類は Focal Loss を用 いて最適化する (MapTR よりだいぶシンプル) • モーション予測: 属性 (位置・向き・大きさ・クラスなど) をL1 loss, Focal loss で最適化。また、予 測されたマルチモーダルな将来軌跡のうち、GT軌跡との最終位置誤差 (FDE) が最小のもので L1 loss を計算する。 • Planning の制約に関する損失 • 3つの制約(衝突しない・境界を超えない・違う向きに行かない)に関する損失関数。 • 模倣学習損失 • GT の軌跡と同じ軌跡になるようにする損失関数( L1 loss) • これらの損失関数を一緒に最適化する。 VAD | End-to-End 学習
  21. 22 • nuScenes: 自動運転向けリアルデータセット • 6 方向のカメラ画像 + 1 LiDAR

    + 5 RADAR + 1 IMU & GPS • 評価指標 (DE & CR) • Planning 性能を評価する • ※ 本論文では中間タスク (Detection や Mapping など) の性能評価は行われてない • Displacement Error (DE) ↓ • 将来の {1, 2, 3} 秒後の自車両の位置の L2 誤差 (の平均) (m) • Collision Rate (CR) ↓ • 将来の {1, 2, 3} 秒後の衝突率 (の平均) (%) • 結果 • DE, CR ともに従来手法に比べ大幅に改善 • 自車状態を使うともっと良くなる。 • RTX3090 上で動かしたとき、 VAD-Tiny は 16.8 FPS で動作する(リアルタイム) • UniAD だけ A100 である点に注意。 実験 | nuScenes でのオープンループプランニング評価 (LiDAR ベース)
  22. 23 • CARLA 自動運転向けのシミュレータ • カメラ画像 (合成)、各種センサ • Town05 ベンチマーク

    (Short & Long)* • Town05: 交差点と橋のある正方形格子状の街で、複数の車線や高速道路・出口などを含む。 • Short: 10 種 x 100 ~ 500m (3 個の交差点を含む) • Long: 10 種 x 1000 ~ 2000m (10 個の交差点を含む) • ※ 学習は Town05 以外のデータで行う。 • 評価指標 (RC & DS) • Route Completion (RC) ↑ • スタートからゴールまでの道程のうち、エージェントが到達できた距離の割合 (%) • Driving Score (DS) ↑ • RC に違反ペナルティ (0.0 ~ 1.0) を掛けたもの(例:「歩行者と衝突」「赤信号無視」など) • 結果 • Town05 Short では DS, RC ともに最良。 • Town 05 Long では、DS では、LiDAR ベース手法に近い結果を残せたが、 RC は従来手法 (ST-P3) に比べ大幅に劣化した。(なぜ?) 実験 | CARLA でのクローズドループ評価 https://leaderboard.carla.org/ https://carla.readthedocs.io/en/latest/map_town05/ *Prakash et al., Multi-Modal Fusion Transformer for End-to-End Autonomous Driving. CVPR, 2021. Town05 を上から見た様子
  23. 24 • デザインの有効性 • 自車両とマップの相互作用がないと Planning の距離誤差が大きくなる。 • 地図はプランニングにとって非常に重要。 •

    自車両とマップ、自車両とエージェントの相互作用がないと、衝突率が上がる。 • これらの相互作用が自車クエリに暗黙的なシーン特徴を提供し、他のエージェントの意図を理解でき るようになる。 • Planning における 3 種の制約は、どれを用いても衝突率を下げる。 • 全部使ったときが一番下がる。 • 地図表現:ラスタ表現 vs ベクタ表現 • 地図の表現をベクタ表現からラスタ表現 (Segmentation map)にすると、衝突率が上がった。 • インスタンスごとの情報の有無が効いている?? • (なぜ?) • 各モジュールの実行時間 (VAD-Tiny, RTX3090) • Backbone + BEV Encoder で 60 %程度 • Motion + Map で 35 % 程度 • Planning は 6 % 程度とかなり高速。 実験 | Ablation
  24. 26 • VAD • 走行シーンの表現としてベクタ表現を使い、Planning の性能を上げるために効率的にそのベク トル化されたシーン情報を用いる方法を提案 • 高性能かつ高効率 •

    各エージェントのマルチモーダルな将来軌跡予測をどのように Planning に活かすか、また、他 の交通情報(レーングラフ、道路標識、信号、制限速度など)をどのように取り入れるかについ ては更に検討が必要。 • 所感:シーン表現形式としては Occupancy とどっちがいいの? • 論文中でも主張されているとおり、効率を考えるとベクタ表現に軍配が上がりそう。 • RTX3090 を車両に乗せればリアルタイムに動く、というはかなり印象的 • もちろん、車載用 SoC で同じように動くかはわからないが、時間が解決する問題な気もする • 一方で、VAD では複雑な形状のエージェントや、道路構造を表現しきれないため、その方面で は 3D Occupancy のほうが良さそう。 • 実際の交通シーンでそれほど変な形状の車両を見ることがあるかと考えると、実はそれほど必要な いのかも? 結論
  25. 27 • Papers • Bo Jiang, Shaoyu Chen, Qing Xu,

    Bencheng Liao, Jiajie Chen, Helong Zhou, Qian Zhang, Wenyu Liu, Chang Huang, Xinggang Wang. VAD: Vectorized Scene Representation for Efficient Autonomous Driving. In ICCV, 2023. • Yi Wei, Linqing Zhao, Wenzhao Zheng, Zheng Zhu, Jie Zhou, Jiwen Lu. SurroundOcc: Multi-Camera 3D Occupancy Prediction for Autonomous Driving. In ICCV, 2023. • Bo Jiang, Shaoyu Chen, Xinggang Wang, Bencheng Liao, Tianheng Cheng, Jiajie Chen, Helong Zhou, Qian Zhang, Wenyu Liu, Chang Huang. Perceive, Interact, Predict: Learning Dynamic and Static Clues for End-to-End Motion Prediction. arXiv, 2022. • Bencheng Liao, Shaoyu Chen, Xinggang Wang, Tianheng Cheng, Qian Zhang, Wenyu Liu, Chang Huang. MapTR: Structured Modeling and Learning for Online Vectorized HD Map Construction. In ICLR, 2023. • Chonghao Sima, Wenwen Tong, Tai Wang, Li Chen, Silei Wu, Hanming Deng, Yi Gu, Lewei Lu, Ping Luo, Dahua Lin, Hongyang Li. Scene as Occupancy. In ICCV, 2023. • Zhiqi Li, Wenhai Wang, Hongyang Li, Enze Xie, Chonghao Sima, Tong Lu, Qiao Yu, Jifeng Dai. BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers., In ECCV, 2022. • Yihan Hu, Jiazhi Yang, Li Chen, Keyu Li, Chonghao Sima, Xizhou Zhu, Siqi Chai, Senyao Du, Tianwei Lin, Wenhai Wang, Lewei Lu, Xiaosong Jia, Qiang Liu, Jifeng Dai, Yu Qiao, Hongyang Li. Planning-oriented Autonomous Driving. In CVPR, 2023. • Shengchao Hu, Li Chen, Penghao Wu, Hongyang Li, Junchi Yan, Dacheng Tao. ST-P3: End-to-end Vision-based Autonomous Driving via Spatial-Temporal Feature Learning. In ECCV, 2022. • Jonah Philion, Sanja Fidler. Lift, Splat, Shoot: Encoding Images From Arbitrary Camera Rigs by Implicitly Unprojecting to 3D, In ECCV 2020. • Nicolas Carion, Francisco Massa, Gabriel Synnaeve, Nicolas Usunier, Alexander Kirillov, Sergey Zagoruyko. End-to-End Object Detection with Transformers. In ECCV, 2020. • 解説資料 • [CV勉強会@関東 CVPR2023] 自動運転における BEVベース物体認識技術の進化 • https://speakerdeck.com/kotaro_tanahashi/zi-dong-yun-zhuan-niokerubevbesuwu-ti-ren-shi-ji-shu-nojin-hua • [CV勉強会@関東 CVPR2023] UniAD: Planning-oriented Autonomous Driving • https://speakerdeck.com/inoichan/cvmian-qiang-hui-at-guan-dong-cvpr2023-uniad-planning-oriented-autonomous-driving • UniAD: Planning-oriented Autonomous Driving 補⾜資料 • https://speakerdeck.com/sensetime_japan/uniad-planning-oriented-autonomous-driving-bu-zi-liao • その他 • chaytonmin/Awesome-BEV-Perception-Multi-Cameras • この数年のマルチカメラによるBEV認識の論文・コードの情報がまとまっている。 References