(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]の図を引⽤) Here, σ2 f is the signal variance and l is a length scale that de- termines the strength of correlation between points. Both pa- rameters control the smoothness of the functions estimated by a GP. As can be seen in (2), the covariance between function values decreases with the distance between their correspond- ing input values. Since we do not have access to the function values, but only noisy observations thereof, it is necessary to represent the corresponding covariance function for noisy observations: cov (y r, y s ) = k(x i, x j ) + σ2 n δrs . (3) Here σ2 n is the Gaussian observation noise variance and δrs is one if r = s and zero otherwise. For an entire set of input values X, the covariance over the corresponding observations Y becomes cov (Y) = K + σ2 n I, (4) where K is the n × n covariance matrix of the input values, that is, K[i, j] = k(x i, x j ). Note that (4) represents a prior over functions: For any set of values X, one can generate the matrix K and then sam- ple a set of corresponding targets Y that have the desired covariance [Rasmussen and Williams, 2005]. The sampled values are jointly Gaussian with Y ∼ N(0, K + σ2 n I). More relevant, however, is the posterior distribution over functions given training data X, Y. Here, we are intrested in predict- Figure 1: GP model for signal strength of one access point. Black dots indicate training data along the ground truth path. 3.2 Application to Signal Strength Modeling GPs have been applied very successfully to signal strength modeling, where the input values X correspond to locations, and the observations Y correspond to signal strength mea- surements obtained at these locations [Schwaighofer et al., 2003; Ferris et al., 2006]. Here, the GP posterior is estimated from a trace of signal strength measurements annotated with their locations. Assuming independence between different access points, these techniques estimate a GP for each access point separately. 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 J L [17] C. Cadena et al., “Past, Present, and Future of Simultaneous Localization and Mapping: Toward the Robust-Perception Age”, TRO, 2016 2 3 1 4 5 6 A 1 A A A A A 2 3 4 5 6 Odometry SLAM 2 3 1 4 5 ≈ 6 A 1 A A A A A 2 3 4 5 6
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 (画像を引⽤)
連鎖律を⽤いて , を以下のように展開 • 投影式 を以下のように展開 • ,上式 を各々カメラ姿勢 とカメラ座標系における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を利⽤した⾼速な類似画像検索
k-meansのようなクラスタリングだけでなく次元削減でも可能 • バイナリ特徴の場合 • 元の256ビットの特徴ベクトルをより低次元の𝑁ビットへ変換しワードとして利⽤ • 主成分分析,ハッシング,etc. • ORB特徴量はその特性から上位 𝑁ビットをそのままワードとして扱うことが可能 • 識別性が⾼い上位𝑁ビットが⼀致している特徴量は類似 • ビット値の取得のみで判定可能 • BoWのようなツリーを利⽤したワード変換も不要で⾮常に⾼速 101 [30] E. Rublee et al., “ORB: An efficient alternative to SIFT or SURF”, ICCV, 2011 [94] 市原光将,他, “バイナリ超平⾯を利⽤した⾼速な次元削減⼿法の提案”. 画像の認識・理解シンポジウム(MIRU), 2021 1 1 0 1 0 1 バイナリ特徴量256 bit 1 1 0 1 x x x x 次元削減 上位N bit (ORBの場合) ≈ ワードの役割 次元削減によるワード変換
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 (画像を引⽤)