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

GPUを利用した勾配誘導パーティクルフィルタによる点群6自由度モンテカルロSLAM

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for TakumiNakao TakumiNakao
March 25, 2025
1.2k

 GPUを利用した勾配誘導パーティクルフィルタによる点群6自由度モンテカルロSLAM

第30回ロボティクスシンポジア発表スライド

Avatar for TakumiNakao

TakumiNakao

March 25, 2025
Tweet

Transcript

  1. 5  Rao-Blackwellized Particle Filter (RBPF) SLAM [Griseti+, 2007] 2次元SLAMでは一般的なサンプリングベースSLAM手法

    軌跡のサンプルをばらまいて,その中から最適なサンプルを選び出す手法 ノンパラメトリックな分布表現で曖昧性の強い状況にも対処が可能 実時間処理(オンラインSLAM)が可能  3次元RBPF SLAMの課題 計算量(次元の呪い) 状態の自由度がひとつ増えるだけで必要なパーティクル数が指数関数的に増加 3自由度から6自由度に メモリ容量 パーティクル数分の地図容量が必要 3次元点群地図容量(つくばチャレンジでの地図が約500MB) 研究背景 どのように地図表現を軽量にするのか? どのように計算を高速にするのか?
  2. 10 問題設定とアルゴリズム概要 現在姿勢 キーフレーム姿勢 パーティクル集合: パーティクル状態: 𝑁個のパーティクル集合により状態の事後確率分布を推定する センサ姿勢系列 地図 出力

    LiDAR点群 IMU加速度 IMU角速度 入力 提案システム 予測ステップ 現在姿勢をサンプル 修正ステップ 現在姿勢&キーフレーム姿勢を修正 代表値抽出
  3. 12 current frame keyframe 𝑲 keyframe 𝒊 + 𝟐 keyframe

    𝐾 − 1 keyframe 𝑖 + 3 keyframe 𝑖 keyframe 𝒊 + 𝟏 ⋯ ⋯ 修正ステップ  尤度計算(現在点群と地図点群とのマッチング) Q.どのように地図とのマッチングを計算するのか? A.現在位置近傍のキーフレームから局所地図を生成 • 尤度関数 現在フレームと各近傍キーフレーム間でスキャンマッチングコストを対数尤度として計算 対数尤度: 各近傍キーフレームとの対数尤度: スキャンマッチングコスト
  4. 14 修正ステップ  パーティクル更新則 • リサンプリング 重みの低いパーティクルを高いパーティクルに置き換える サンプリング効率が低い 事後確率の低いパーティクルを保持できない(サンプル枯渇問題[Arulampalam+, 2002]

    ) • SVGD(変分推論)[Liu+, 2016] (関連研究:Stein Particle Filter[Maken+, 2022] ) 尤度の勾配情報(引力)とパーティクル近接関係情報(斥力)用いて 尤度関数にフィットするようにパーティクルを輸送 サンプリング効率が高い 事後確率の低いパーティクルを保持できる SVGD (64 particles) Resampling (1024 particles)
  5. 15 current frame keyframe 𝑲 keyframe 𝒊 + 𝟐 keyframe

    𝐾 − 1 keyframe 𝑖 + 3 keyframe 𝑖 keyframe 𝒊 + 𝟏(o) ⋯ ⋯ 修正ステップ  勾配誘導パーティクル更新則(関連研究:Stein Particle Filter[Maken+, 2022] ,MegaParticles[Koide+, 2024] ) 尤度の勾配情報を用いてパーティクルを尤度の高い状態へ誘導 現在姿勢の更新ベクトル: ガウスニュートン法による尤度関数の二次勾配情報 キーフレーム姿勢の更新ベクトル: k番目のキーフレームまでの経路長 現在フレームまでの経路長 ※大量のパーティクルを並列処理するため,厳密な大域軌跡最適化は難しい • 更新則(斥力の項がないためループクローズ時に限り更新) 従来手法:正しいループ地点にパーティクルが必要 提案手法:正しいループ地点にパーティクルがいなくても正しい軌跡を推定可能
  6. 16 その他の処理  代表値抽出 事後確率(尤度の累積)が最大のパーティクルを代表パーティクルとして抽出 尤度 事前確率  不要なパーティクル除去 数値的に事後確率が0になったパーティクルについてのみリサンプリングする

     キーフレームリスト更新 最新キーフレームと現在フレームの点群オーバーラップ率[Koide+, 2024] で更新判定 判定式: 最新キーフレームから現在姿勢へのオドメトリ軌跡 ボクセルマップ 各パーティクルの現在フレームをキーフレームリストに追加 (e.g. 0.7)
  7. 18 GPUを活かした実装  ハードウェアの処理特性 • CPU:複雑な処理(条件分岐あり)に適している • GPU:単純な処理(条件分岐なし)を大量に繰り返す処理に適している  実装詳細

    • GPU :NVIDIA GeForce RTX 4090 • パーティクル数:10万 • 処理速度 :約50 ms 観測周期が100 msであれば,十分にリアルタイム処理可能 パーティクル毎に行われる処理はGPUで並列計算し高速化
  8. 19 森林内でのループクローズを模した実験  使用機器 • センサ : Livox MID-360 •

    GPU : NVIDIA GeForce RTX 4090  実験設定 • LiDAR座標系でX座標が負の点を除去(左半分の点群のみを利用) • 雑木林に面した道路でループクローズ 複数のループ候補が存在する環境での提案手法の多峰性表現を確認する  比較手法 最新のグラフベースSLAM手法と比較 • SLICT[Nguyen+, 2023] • DLIOM[Wang+, 2022] • GLIM[Koide+, 2024] 屋外環境
  9. 21 エレベータ(誘拐)実験  実験設定 • エレベータによる移動を含む(1次元の誘拐状態) • エレベータ内を検知しエレベータ動作モデルに切り替える 非常に似通った環境 (c)

    Convergence at each floor Representative is 2F (d) Particles are distributed (a) Particles move to each floor (b) 1F 2F 3F 柔軟な多峰性表現能力を示し, 従来では困難であった誘拐状態ですら対処が可能に
  10. 23 まとめ  以下の提案により点群6自由度モンテカルロSLAM (RBPF SLAM) を実時間で実現 • キーフレームベース地図により地図にかかるメモリを大幅に削減 •

    勾配誘導パーティクル更新則によりサンプリング効率を向上 • GPUによる並列計算に適したアルゴリズムにより計算速度を向上  グラフベースSLAMに対する以下の優位性を示した • 曖昧性の強い森林内を模した環境において既存手法よりも高い精度で推定 • エレベータでの移動(1自由度の誘拐状態)を経ても正しい階でループクローズに成功 誘拐状態にも対処できる能力を示した