390 likes | 539 Views
Registration for Robotics. Patrick Mihelich JD Chen James Bowman Helen Oleynikova Freiburg TORO group: Giorgio Grisetti Cyrill Stachness Rainer Kummerle. Kurt Konolige Willow Garage Stanford University. Outline. Applications Overview of Registration
E N D
Registration for Robotics Patrick Mihelich JD Chen James Bowman Helen Oleynikova Freiburg TORO group: Giorgio Grisetti CyrillStachness Rainer Kummerle Kurt Konolige Willow Garage Stanford University
Outline • Applications • Overview of Registration • Front end and image matching • Visual Odometry • Place recognition • Global SBA • Extensions
Applications of Registration • Photo tourism [Snavely, Seitz, Szeliski 2006]
Applications of Registration • Object Modeling [Lovi et al. 2010] • [Newcombe and Davison 2010]
Applications of Registration • Face Tracking [WATSON: Morency 2003]
Applications of Registration • Visual Odometry [Willow Garage]
Applications of Registration • Visual SLAM [Willow Garage]
Outline • Applications • Overview of Registration • Front end, image matching • Visual Odometry • Place recognition • Global SBA • Extensions
Registration Elements Incremental Global
Mapping Systems MonoSLAM[Davison 2003] Parallel Tracking and Mapping [Klein and Murray 2007] View-based Maps [Konolige et al. 2009]
Map Representations Covariance Matrix over points p0 p1 p2 … p0 p1 p2 … Extended Kalman Filter update
Map Representations Information matrix over views and world points c0 c1 c2 … p0 p1 p2 … c0c1c2… p0 p1 p2 … Nonlinear least squares update HDx = -g
Map Representations Information matrix over views c0 c1 c2 … c0c1c2… Nonlinear least squares update HDx = -g
Outline • Applications • Overview of Registration • Front end and image matching • Visual Odometry • Place recognition • Global SBA • Extensions
Interest points • Adaptive threshold • Gridding for spatial diversity • FAST [Rosten and Drummond 2006] • Harris • SIFT [Lowe 1999] • SUSAN, CenSure, MSER, …
Feature matching • Tracking with motion model • Windowed brute-force • KD tree nearest-neighbor • SIFT / SURF features • Planar patches • Random-tree signatures [Calonder et al. 2009] • … 930 features 354 matched 183 inliers
Outlier detection and pose estimation • RANSAC to estimate pose • 3 points for stereo (3D-3D) • 3-point PnP for monocular (2D-3D) • Outlier rejection • Refinement • Least-squares • Reprojectionerror • Scavenging 930 features 354 matched 183 inliers
Outline • Applications • Overview of Registration • Front end and image matching • Visual Odometry • Place recognition • Global SBA • Extensions
Visual Odometry – Sliding Window • 2-view pose estimates are unreliable • Triangulation is narrow-baseline • Multi-view estimates are more accurate • Triangulation is wide-baseline • More points, wider baseline => more accuracy • Keyframes • Many close-together views don’t add much • Too far apart leads to low inlier count • Sliding window of views • Track points as long as possible • ~20 – 40 keyframes in window
Visual Odometry – Bundle Adjustment Measurement model: For Gaussian distributions ( is covariance) [Gauss-Newton / Normal] H Sparseness of H c0 c1 c2 … p0 p1 p2 … c0c1c2… p0 p1 p2 … 20 camera views 5000 features H is (20x6 + 5000x3)2
Visual Odometry examples[courtesy Andrew Comport, INRIA] • Outdoor sequence in Versailles • 1 m stereo baseline, narrow FOV • ~400 m sequence • Average frame distance: 0.6 m • Max frame distance: 1.1 m
Visual Odometry examples[courtesy Andrew Comport, INRIA] • Indoor Willow Garage sequence • 10 cm stereo, wide FOV • ~100 m sequence • Average frame distance: 0.3 m
Outline • Applications • Overview of Registration • Front end and image matching • Visual Odometry • Place recognition • Global SBA • Extensions
Place Recognition test • K-nearest neighbor feature matching across database of images • KD tree [Lowe 1999, Eade and Drummond 2008, Williams et al. 2007] • Bag-of-words • visual vocabulary [Stewenius and Nister 2006, Cummins and Newman 2008] DB test DB
Place Recognition: Vocabulary Trees[Nister and Stewenius CVPR06] • “Bag of words” retrieval • Vocab tree created offline • For recognition: • Image keypoints extracted • Tree encodes approximate NN search • Inverted index of images at leaves [Cummins and Newman ICRA07 Cullmer et al. ACRA08 Fraundorfer et al. IROS07] [Image from Nister and Stewenius CVPR06]
Place Recognition: Vocabulary Trees Performance on Indoor dataset
View-based Maps [Konolige et al. 2009] Performance on Indoor dataset
View-based Maps [Konolige et al. 2009] Performance on Indoor dataset
Outline • Applications • Overview of Registration • Front end and image matching • Visual Odometry • Place recognition • Global SBA • Extensions
Fast SBA[Konolige BMVC 2010, Jeong et al. CVPR 2010] • Take advantage of sparse secondary structure of Hessian • Use fast linear solvers • Davis’ CHOLMOD • Block preconditioned conjugate gradient
Open-Source in ROS • sbapackage for fast SBA • frame_common and posestfor front-end and pose estimation • vocabulary_treefor place recognition • vslam_systemfor Visual Odometry and VSLAM