(SLAM) 意味的な理解と合わせてSpatial AI へ発展 7 [1] A. J Davison, “FutureMapping: The Computational Structure of Spatial AI Systems”, arXiv, 2018 [2] A. J Davison et al., “FutureMapping 2: Gaussian Belief Propagation for Spatial AI”, arXiv, 2019 一般的なSpatial AIシステムの構成 (文献[1]の図を引用)
SLAM (文献[4]のFig.10.aを引用) Visual SLAM (文献[36]の図を引用) RADAR SLAM (文献[6]の図を引用) WiFi SLAM (文献[7]の図を引用) Simultaneous Localization and Mapping (SLAM) 多様なセンサを利用したSLAMが存在 • カメラ,LiDAR,Radar,WiFi 等のセンサの位置姿勢とマップを同時推定 • Structure from Motion (SfM) やVisual Odometry (VO)も含む
• センサデータから必要な情報を抽出(例:特徴点抽出,マッチング) • backend(高レベルな処理) • front-endが抽出した情報から状態を推定(例:バンドル調整) [17] C. Cadena et al., “Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age”, TRO, 2016 (図,画像を引用) まずはback-endの定式化について理解しSLAM問題を俯瞰 SLAM問題のFactor-graph SLAMのfront-endとback-end
移動量のみ推定するため前後接続のみ認識 • SLAM • ループクロージングにより同一地点の接続を認識 23 ☺ [17] C. Cadena et al., “Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age”, TRO, 2016
Davison, 2003] • 拡張カルマンフィルター(EKF)ベース • 単眼カメラでリアルタイムに3D点とカメラ姿勢を推定 • 3D点を追跡し統一的なマッピングを行うことで累積誤差の修正を可能 • 当時のコンピュータで約100個の特徴点に対して30Hzの処理を実現 32 カメラ姿勢,3D点(+不確かさ) 特徴パッチとその3Dマップ上の位置 [26] A. J. Davison et al., “Real-Time Simultaneous Localisation and Mapping with a Single Camera”, ICCV, 2003 [27] A. J. Davison et al., “MonoSLAM: Real-Time Single Camera SLAM”, TPAMI, 2007(画像を引用)
2007] • 姿勢の変化が激しい手持ちカメラに対応 • マルチコアCPUを活用しトラッキングとマッピングを並列処理 • ロバスト性の高いトラッキング手法の導入や,キーフレームのみを用いた効率的な マッピングが可能 • リアルタイムの数千点のマッピング,高精度なAR表示を実現 33 3Dマップと検出平面 PTAMを利用したAR表示 [29] G. Klein et al., “Parallel Tracking and Mapping for Small AR Workspaces”, ISMAR, 2007 (画像を引用)
2014] • 各種計算の高精度化・効率化 • トラッキングやマッピングで利用したORB特徴量をリローカリゼーションやルー プクロージングでも活用 • ループクロージングを別スレッド化,Essential Graphによるポーズグラフ最適 化の高速化,F&H行列を用いたロバストな初期化 • ORB-SLAM2:ステレオ,RGB-D,ORB-SLAM3:VI-SLAM,マルチマップ 34 ループクロージングによる累積誤差の修正 ORB-SLAM2のシステム構成図 [35] R. Mur-Artal et al., “ORB-SLAM: Tracking and Mapping Recognizable Features”, RSS, MVIGRO , 2014 [36] R. Mur-Artal et al., “ORB- SLAM: A Versatile and Accurate Monocular SLAM System”, TRO, 2015 (画像を引用) [37] R. Mur-Artal et al., “ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras ”, TRO, 2017 (図を引用) [38] C. Campos et al., “ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM”, TRO, 2021
[T. Zhou , 2017] • 直接法と同様に画像間のphotometric errorを最小化するように学習 • ラベルなしの動画から内部パラメータを同時に学習・推定 [A. Gordo, 2019] • 魚眼カメラ,反射屈折撮像系,水中カメラなどにも対応 [I. Vasiljevic, 2020] 41 ラベルなし動画から学習した結果 魚眼カメラ,反射屈折撮像系,水中カメラの結果 [49] T. Zhou et al., “Unsupervised Learning of Depth and Ego-Motion From Video”, CVPR, 2017 [51] A. Gordon et al. “Depth from videos in the wild: Unsupervised monocular depth learning from unknown cameras”, ICCV, 2019(画像を引用) [52] I. Vasiljevic et al., “Neural Ray Surfaces for Self- Supervised Learning of Depth and Ego-motion”, 3DV, 2020 (画像を引用)
| 𝐭 の情報を含む行列 𝐳2 T F 𝐳1 = 0に代入すると 64 K1 ,K2 :各カメラの内部パラメータ E ≔ K2 T F K1 𝐳2 T K2 T −1 E K1 −1𝐳1 = 0 ො 𝐳2 T E ො 𝐳1 = 0 ො 𝐳1 = K1 −1𝐳1 ,ො 𝐳2 = K2 −1𝐳2 : 𝑍𝑐 =1の平面(正規化画像座標系)に射影した点
連鎖律を用いて , を以下のように展開 • 投影式 を以下のように展開 • ,上式 を各々カメラ姿勢 とカメラ座標系における3D点 で微分 • は以下のように計算可能[76] 79 (∵ ) [76] G. Gallego et al., “A compact formula for the derivative of a 3-d rotation in exponential coordinates”, JMIV, 2015 [77] B. Triggs et al., “Bundle Adjustment ― A Modern Synthesis”, International Workshop on Vision Algorithms, 1999
[36] R. Mur-Artal et al., “ORB- SLAM: A Versatile and Accurate Monocular SLAM System”, TRO, 2015 [37] R. Mur-Artal et al., “ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras ”, TRO, 2017(図を引用)
ローカルマップに対して毎フレームのカメラ姿勢を推定 • 局所特徴の抽出,マップの初期化,2D-3Dマッチング,motion-only BA,キーフ レーム判定 • ローカルマッピング(Local Mapping) • トラッキングスレッドで追加判定されたキーフレームを利用して3D点を復元 • キーフレームと3D点の追加および削除,Local BA • ループクロージング(Loop Closing) • センサが同じ場所に戻る,つまり相対姿勢の累積が0になる拘束条件を利用して, カメラ姿勢の推定誤差を修正 • ループ候補検出,Sim(3)推定,ループ構築,スケールドリフトを考慮したポーズ グラフ最適化,Global BA 93 [36] R. Mur-Artal et al., “ORB- SLAM: A Versatile and Accurate Monocular SLAM System”, TRO, 2015 [37] R. Mur-Artal et al., “ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras ”, TRO, 2017(図を引用)
キーフレーム,3D点 • スレッド間で競合が起きないようにデータのRead/Writeを管理 • 各種グラフ構造 • Covisibility Graph,Essential Graph • 対応点探索や最適化を効率化 • 類似画像検索と特徴点マッチングのためのVocabulary tree • トラッキング,ループ検出,リローカリゼーションで利用 • 局所特徴量からワードへ変換 94 [36] R. Mur-Artal et al., “ORB- SLAM: A Versatile and Accurate Monocular SLAM System”, TRO, 2015 [37] R. Mur-Artal et al., “ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras ”, TRO, 2017(図を引用)
• 階層的クラスタリングにより大規模データに対して高速な検索が可能 • DBOW • バイナリ特徴量に拡張 • ORB-SLAMをはじめVisual SLAMで広く利用 99 [82] D. Nister et al., “Scalable Recognition with a Vocabulary Tree”, CVPR, 2006 (図を引用) [89] D. Gálvez-López et al., “Bags of Binary Words for Fast Place Recognition in Image Sequences”, TRO, 2012 (図を引用) Vocabulary treeを利用した高速な類似画像検索
Graph (CG) • 共有3D点を一定数以上持つキーフレーム間でエッジを張った無向グラフ • 視野(3D点)を共有しているキーフレームを効率的に検索可能 • トラッキング,ローカルマッピング,ループ検出,リローカリゼーション,etc. • Essential Graph (EG) • CGのSpanning Tree(全域木)に加えて,ループ検出したKF間,さらに, Covisibilityよりも多くの3D点を共有するKF間でエッジを張った無向グラフ • CGは密接続になり易いためッジを削減したEGで効率的にポーズグラフ最適化 102 (a)キーフレームと3D点 (b)Covisibility Graph (c)Covisibility Graphの全域木 (d)Essential Graph [36] R. Mur-Artal et al., “ORB- SLAM: A Versatile and Accurate Monocular SLAM System”, TRO, 2015 (図を引用) [37] R. Mur-Artal et al., “ORB-SLAM2: An Open-Source SLAM System for Monocular, Stereo, and RGB-D Cameras ”, TRO, 2017
• 特徴点の微小変位を仮定 • オプティカルフロー(画素の移動量)を推定 • 輝度勾配から特徴点対応を計算するLucas-Kanade法 • 範囲を限定した特徴点マッチング • CNN • 計算済みの前フレームの2D-3Dマッチングを介して,現在フレームの2D点と復元済み の3Dとの対応関係を計算 リローカリゼーション トラッキング Motion-only BA マップ初期化 画像 特徴点抽出 No No 2D-3Dマッチング 失敗 モーション仮定 BOW ロスト? No Yes KF判定 KF ローカルマッピング マップへのKF挿入 トラッキングに 不適な3D点の削除 3D点の復元 Local BA 冗長なKFの削除 ループ検出 ループクロージング 類似画像検索で ループ候補検出 Sim(3)+RANSAC でループ判定 ループ? Yes ループ構築 ポーズグラフ最適化 Global BA , ループ修正 ループ検出の リクエスト 類似画像検索 P4P+RANSAC Motion-only BA ロスト? 初期化済? Yes Yes [57] Z. Teed et al., “RAFT: Recurrent All-Pairs Field Transforms for Optical Flow”, ECCV, 2020(画像を引用) [100] C. Tomasi et al., “Detection and Tracking of Point Features”, 1991 [101] J. Shi et al., “Good features to track”, CVPR, 1994 CNNによるオプティカルフロー推定の例
単眼Visuasl SLAMに2Dの物体検出器を導入し,3D Bounding Boxを同時推定 • 物体レベルの観測を導入することで,特徴点を検出しづらいテクスチャレスな環 境でも物体自身をランドマークとしたトラッキングが可能 • ClusterVO • ステレオVOにおいて2Dの物体検出器を導入し動的な3D BBを推定 132 [12] S. Yang et al., “CubeSLAM: Monocular 3D Object SLAM”, Transactions on Robotics, 2019 (画像を引用) [110] J. Huang et al., “ClusterVO: Clustering Moving Instances and Estimating Visual Odometry for Self and Surroundings”, CVPR, 2020(画像を引用) CubeSLAM ClusterVO
[14] A. Rosinol et al., “Kimera: an Open-Source Library for Real-Time Metric-Semantic Localization and Mapping”, ICRA, 2020 [15] A. Rosinol et al., “Kimera: from SLAM to Spatial Perception with 3D Dynamic Scene Graphs”, arXiv, 2021 (画像を引用) VI-SLAMによる意味的な3Dメッシュの復元
何が,いつ,どこで,何をしたかなど,より高度な空間的な理解が可能 • ロボットの行動計画など様々な応用が期待 134 3Dダイナミックシーングラフの例 [14] A. Rosinol et al., “Kimera: an Open-Source Library for Real-Time Metric-Semantic Localization and Mapping”, ICRA, 2020 [15] A. Rosinol et al., “Kimera: from SLAM to Spatial Perception with 3D Dynamic Scene Graphs”, arXiv, 2021 (画像を引用)
する反転攻撃の手法も提案 • 暗号化やネットワークセキュリティなどと同様に,保護技術の改善に加えて,利用方法も 含めた社会全体でシーンプライバシーを保護する仕組みを考えることが重要 元の3D点群 3D点群 → 3D直線群 3D直線群 → 3D点群 3D直線群 → 3D点群 → 画像 [116] K. Chelani et al., “How Privacy-Preserving Are Line Clouds? Recovering Scene Details From 3D Lines”, CVPR, 2021 (画像を引用)