Slide 1

Slide 1 text

Turing Inc, 棚橋 耕太郎, @tanahhh 自動運転におけるモーション予測手法の進化 紹介論文: MotionLM: Multi-Agent Motion Forecasting as Language Modeling 関東CV勉強会 ICCV読会 2023/11/5

Slide 2

Slide 2 text

自己紹介 略歴 2014年 CloudLaTeXを開発(会員6万人以上) 2015年 リクルート新卒入社。 DSPなどのアドテクのシステム開 発に従事 2017年 PyQUBOを開発 (90万ダウンロード) 2018年 IPA未踏ターゲット事業プロジェクトマネージャ就任 2020年 量子ソフトウェア研究会運営委員就任 2023年 Turingに入社。Brain Researchチームで完全自動運転 の研究開発を行っている。 Turing (株) 棚橋耕太郎, Brain Research所属 https://huggingface.co/turing-motors https://zenn.dev/turing_motors/articles/ce20c5202e107e

Slide 3

Slide 3 text

自動運転におけるモーション予測 - エージェント(自車、他車、歩行者、自転車等 )がどのように動くのか予測する - 衝突を防ぐために安全上極めて重要なタスク https://waymo.com/blog/2021/03/expanding-waymo-open-dataset-with-interactive-scenario-data-and-new-challenges.html https://www.marktechpost.com/2023/10/09/meet-waymos-motionlm-the -state-of-the-art-multi-agent-motion-prediction-approach-that-can-make- it-possible-for-large-language-models-llms-to-help-drive-cars/

Slide 4

Slide 4 text

https://www.youtube.com/watch?v=RpiN3LyMLB8 行動予測モデルの概略 ● 複数のエージェントに対する Tステップ後のtrajectory(位置の時間変化)を予測 ● この時、複数のtrajectoryを出力してもよい(右折するか直進かわからない場合など)

Slide 5

Slide 5 text

紹介論文: MotionLMの概要 ● 「言語モデル」を使って車の軌跡( trajectory)を生成し、予測値とする ● 進路ベクトルを離散化して言語モデルにおける「トークン」として扱い、 N個のエージェントの「進路トーク ン」を予測する。 → シンプルな構造でSOTAの精度。特に「車間の相互作用」の問題に対して高い性能!

Slide 6

Slide 6 text

https://www.youtube.com/watch?v=RpiN3LyMLB8 モデルの入力データ形式, 「ラスター」or「ベクター」 ● ラスター画像表現(マスクピクセル形式) + 簡潔に特徴を表現可能 + CNNなど既存の画像処理モデルが利用可能 - 長距離相互作用を入れにくい - リッチな連続情報を離散化する必要 ● ベクター表現入力(ポリライン形式) + スパース + FOV(扱える範囲)が広い + 連続量を保持できる - モデルアーキテクチャーどうする?

Slide 7

Slide 7 text

MultiPath (CoRL 2019) ● ラスター画像からCNNを用いて自車中心の特徴量を作成 ● 不確実性を2つに分解:「意図の不確実性」「制御の不確実性」 ○ 「意図の不確実性」は複数のアンカー trajectoryによって表現 ○ 「制御の不確実性」は 1つのtrajectoryに沿った密度関数で表現 直進するか、左折するかは車の意図に よって決まるので、意図の不確実性 左折した場合にどのコースを通るかは 「制御の不確実性」の問題

Slide 8

Slide 8 text

VectorNet (CVPR 2020) ● HDマップやtrajectoryのベクター情報からグラフニューラルネットで特徴を生成する手法 ● ポリラインを1つのグラフとみなした subgraphと、ポリラインをノードとした Global interactionグラフによる 階層構造によって特徴を抽出 trajectoryの予測

Slide 9

Slide 9 text

MultiPath++ (ICRA 2022) ● MultiPathの進化版 ● LSTMとCG(Context Gating, 下図参照)を使ってベクター情報をエンコード ● 出力はMultiPathと同様にGaussian Mixture Model (GMM)で複数trajectoryを出力 ● CGモジュールの構造。CGはクロスアテンションの近似と考えることができ、より効率的に点の集合を扱う ことができるモジュールとして提案されている。

Slide 10

Slide 10 text

WayFormer (ICRA 2023) ● 構造がシンプル。encoder-decoder構造のtransformerにベクター情報を入力。 ● 大規模データを扱うことができ、推論も高速に動作させることが可能。 ○ 異なるモーダルの情報をどのタイミングで融合するか3つのパターン (late, early, hierarchical)を提案 ○ 時系列×要素において、アテンションをどのようにかけるか 3つのパターンを提案 ○ 求める精度と推論速度に応じてパターンの組み合わせを決定する attentionの3つのパターン 融合の3つのパターン

Slide 11

Slide 11 text

WayFormerの入力 ● 特徴量の形式 ○ [A, T, S, D]という形のテンソル。 A:予測対象のエージェント数 , T: 考慮する過去の時間 ステップ, S: 関わる別エージェントの集合サイズ , D: 特徴次元。 ● 予測に使うことができる情報 ○ 道路情報(road graph) ■ [A, 1, S, D] Sは考慮する近傍のロードセグメント。時刻情報はなし。 ○ 信号機の状態(traffic light state)情報(road graph) ■ [A, T, S, D] Sは近傍の信号機、Dは信号機の状態と信頼度。 ○ エージェント間の相互作用 (agent interactions) ■ [A, T, S, D] Sは自車の動きに影響を与える他エージェント。 Dは相対速度や相対 位置情報。 ○ エージェントの履歴(agent history) ■ [A, T, 1, D] Dは相対速度や相対位置情報。

Slide 12

Slide 12 text

エージェント単位のモーション予測に関する問題点 ● 2つのエージェントの trajectoryが重なっている時、衝突が起こるということ? ● 現状のモデルでは衝突に関して適切なモデリングがなされていない 衝突が起こるということ?

Slide 13

Slide 13 text

エージェント単位のモーション予測に関する問題点 ● 例として2つの車の衝突確率を見積もる場合、エージェント単位での予測結果は意味をなさない ● 2つの車の動作を考慮した同時分布でモデル化する必要がある marginal prediction (エージェント単位で独立した予測 ) joint prediction (同時分布による予測 )

Slide 14

Slide 14 text

JFP: Joint Future Prediction (CoRL 2022) ● 車同士の相互作用をグラフィカルモデル (MRF)でモデル化 ● Belief Propagation (MRFの近似的な尤度最大化手法 )を用いて推論を行う

Slide 15

Slide 15 text

MotionLM (ICCV 2023) ● 言語モデルとtransformerを自己回帰モデルとして逐次的に trajectoryを生成する ● 進路ベクトルを離散化して言語モデルにおける「トークン」として扱い、 N個のエージェントの「進路トーク ン」を交互に予測する。 ● エンコーダーはWayFormerと共通

Slide 16

Slide 16 text

MotionLMの基本動作 ● Sceneエンコーダによりベクター情報から各エージェント情報を Scene Embeddingとして獲得 ● Scene Embeddingは各エージェントごとに独立して cross-attentionとして適用される ● 各推論ステップ(t)において、N個の経路の次のトークンの分布が出力されるのでサンプルする ● これを繰り返してサンプルした複数の trajectoryに対して、NMSとk-meansで重複を排除する(後処理)

Slide 17

Slide 17 text

MotionLMの出力結果 ● 2台の車について、2Hzで8秒(=32トークン)の経路を予測。 ● Marginal prediction(左)では2つのエージェントが衝突しているが、 MotionLMの予測(右)では2つのエージェン トの衝突が起こらない結果が得られている

Slide 18

Slide 18 text

Temporal Causal Attention Mask ● Decoder TransformerのSelf Attentionマスクでは、過去の自分と他車の軌跡の情報を予測に使える ● 例えば2つのエージェントを扱う場合、アテンションマスクは右図のようになる 自分の過去の動きと他車の過去の 動きが参照できる NT × NTのAttention Mask

Slide 19

Slide 19 text

評価データ: Waymo Open Motion Dataset ● Waymoが公開しているモーション予測のためのデータセット ● 103k シーン (20s 10Hz)で 540時間のデータ ● センサーデータはLidarのみ(画像はなし) ● アメリカの6つの都市のデータ ● 3次元Bounding Box情報 (Perception Dataで学習したモデルが付けたもの ) https://www.youtube.com/watch?v=cOFjqeBNN6g&t=2042s

Slide 20

Slide 20 text

モーション予測の評価指標 Miss Rate (MR): 軌跡のうち、1点もGround Truthと一致しない確率 (一致かどうかは閾値で判定)

Slide 21

Slide 21 text

結果 ● Marginal predictionタスクではターゲットエージェントに対して 6つの軌跡(trajectory)を出力する ● minFDEとMissRateでSOTAを達成 ● Interactive Motion Predictionタスクでは2台の車の軌跡を予測する ● Miss RateとmAPでJFPを抜いてSOTAを達成

Slide 22

Slide 22 text

Ablation Study (1) ● 相互作用の必要性を評価するために他車との attentionの頻度を減らす実験 ● attention頻度が減るとminADEとminFDEが増大 している ● 軌跡の生成数(number of rollout)を変化させた時の mAPとMiss Rateの変化を評価 ● 生成数が少ないとmAPとmiss rateは極端に悪くなる → Rolloutが少ないと多様な軌跡が生成されないからだ と考えられる

Slide 23

Slide 23 text

Ablation Study (2) ● 評価値のモデルサイズ(パラメータ数 )依存性 パラメータ数が多いと良いわけ ではない ● 推論時間のrollout数依存性 ○ 妥当なrollout数である32の時には、30ms (~30Hz)程度とリアルタイム処理も可能

Slide 24

Slide 24 text

言語モデルの「言語」以外への応用: ロボティクス ● RT-2ではVision入力に対応した「言語モデル」を使ってロボットの動作を直接出力できる ○ LLMの一般常識や知識をロボットの操作に転用できる。

Slide 25

Slide 25 text

言語モデルの「言語」以外への応用: 自動運転 ● GPT-Driver: GPT-DriverではEnd-to-endな自動運転モデルのように、ルールベース手法を使わずに車 の経路プランニングを行う。 ● DriveGPT-4: Vision-Languageモデルを制御トークンも予測できるように拡張したモデル GPT-Driver: Learning to Drive with GPT DriveGPT-4

Slide 26

Slide 26 text

宣伝 ● Vision LanguageモデルのHeronをリリースしました。 ○ 様々なアダプタ、LLM、ビジョンエンコーダで V&Lモデ ルの学習が行えます! ● レベル5自動運転技術を研究開発するリサーチャー、研究 用のデータ基盤を構築するデータエンジニア、学習基盤であ るGPUクラスタ環境を整備するインフラエンジニアを募集し ています! ● 東京にオフィス移転予定です! 現在開催中の JMSで展示中の「 Turing Machine Alpha」

Slide 27

Slide 27 text

Thank you

Slide 28

Slide 28 text

Appendix 1

Slide 29

Slide 29 text

Appendix 2