for Vision-Based Navigation

Slides:



Advertisements
Similar presentations
We consider situations in which the object is unknown the only way of doing pose estimation is then building a map between image measurements (features)
Advertisements

Compressing Forwarding Tables Ori Rottenstreich (Technion, Israel) Joint work with Marat Radan, Yuval Cassuto, Isaac Keslassy (Technion, Israel) Carmi.
Bipartite Matching, Extremal Problems, Matrix Tree Theorem.
Multicast in Wireless Mesh Network Xuan (William) Zhang Xun Shi.
Fast Algorithms For Hierarchical Range Histogram Constructions
Motion Planning for Point Robots CS 659 Kris Hauser.
Coverage by Directional Sensors Jing Ai and Alhussein A. Abouzeid Dept. of Electrical, Computer and Systems Engineering Rensselaer Polytechnic Institute.
Lecture 24 Coping with NPC and Unsolvable problems. When a problem is unsolvable, that's generally very bad news: it means there is no general algorithm.
Silvina Rybnikov Supervisors: Prof. Ilan Shimshoni and Prof. Ehud Rivlin HomePage:
Computer Vision Detecting the existence, pose and position of known objects within an image Michael Horne, Philip Sterne (Supervisor)
Vision Based Control Motion Matt Baker Kevin VanDyke.
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
ECE 7340: Building Intelligent Robots QUALITATIVE NAVIGATION FOR MOBILE ROBOTS Tod S. Levitt Daryl T. Lawton Presented by: Aniket Samant.
Buron Florian CS223b Target finding Visibility-Based Pursuit-Evasion in a Polygonal Environment. L.J. Guibas, J.C. Latombe, S.M. LaValle, D. Lin, and R.
Watermarking in WSNs Anuj Nagar CS 590. Introduction WSNs provide computational and Internet interfaces to the physical world. They also pose a number.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Spring, 2003 Review Lecture Tuesday, 5/6/03.
Dean H. Lorenz, Danny Raz Operations Research Letter, Vol. 28, No
SubSea: An Efficient Heuristic Algorithm for Subgraph Isomorphism Vladimir Lipets Ben-Gurion University of the Negev Joint work with Prof. Ehud Gudes.
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
Scale Invariant Feature Transform (SIFT)
Achieving Minimum Coverage Breach under Bandwidth Constraints in Wireless Sensor Networks Maggie X. Cheng, Lu Ruan and Weili Wu Dept. of Comput. Sci, Missouri.
IMPLEMENTATION ISSUES REGARDING A 3D ROBOT – BASED LASER SCANNING SYSTEM Theodor Borangiu, Anamaria Dogar, Alexandru Dumitrache University Politehnica.
Kernel Bounds for Structural Parameterizations of Pathwidth Bart M. P. Jansen Joint work with Hans L. Bodlaender & Stefan Kratsch July 6th 2012, SWAT 2012,
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Computer Vision Lab Seoul National University Keyframe-Based Real-Time Camera Tracking Young Ki BAIK Vision seminar : Mar Computer Vision Lab.
ECE738 Advanced Image Processing Face Detection IEEE Trans. PAMI, July 1997.
Approximate Dynamic Programming Methods for Resource Constrained Sensor Management John W. Fisher III, Jason L. Williams and Alan S. Willsky MIT CSAIL.
Vision-based human motion analysis: An overview Computer Vision and Image Understanding(2007)
Applications of Dynamic Programming and Heuristics to the Traveling Salesman Problem ERIC SALMON & JOSEPH SEWELL.
Mohamed Hefeeda 1 School of Computing Science Simon Fraser University, Canada Efficient k-Coverage Algorithms for Wireless Sensor Networks Mohamed Hefeeda.
An Efficient Linear Time Triple Patterning Solver Haitong Tian Hongbo Zhang Zigang Xiao Martin D.F. Wong ASP-DAC’15.
Scene Reconstruction Seminar presented by Anton Jigalin Advanced Topics in Computer Vision ( )
Administration Feedback on assignment Late Policy
Robotics Club: 5:30 this evening
L10 – Map labeling algorithms NGEN06(TEK230) – Algorithms in Geographical Information Systems L10- Map labeling algorithms by: Sadegh Jamali (source: Lecture.
Harbin Institute of Technology Application-Aware Data Collection in Wireless Sensor Networks Fang Xiaolin Harbin Institute of Technology.
Efficient Point Coverage in Wireless Sensor Networks Jie Wang and Ning Zhong Department of Computer Science University of Massachusetts Journal of Combinatorial.
1 Long-term image-based motion estimation Dennis Strelow and Sanjiv Singh.
Optimal Relay Placement for Indoor Sensor Networks Cuiyao Xue †, Yanmin Zhu †, Lei Ni †, Minglu Li †, Bo Li ‡ † Shanghai Jiao Tong University ‡ HK University.
CSE280Stefano/Hossein Project: Primer design for cancer genomics.
Probabilistic Robotics Introduction. SA-1 2 Introduction  Robotics is the science of perceiving and manipulating the physical world through computer-controlled.
776 Computer Vision Jan-Michael Frahm Spring 2012.
Prof. Yu-Chee Tseng Department of Computer Science
Optimal Acceleration and Braking Sequences for Vehicles in the Presence of Moving Obstacles Jeff Johnson, Kris Hauser School of Informatics and Computing.
for Vision-Based Navigation
Paper – Stephen Se, David Lowe, Jim Little
A Study of Group-Tree Matching in Large Scale Group Communications
for Vision-Based Navigation
+ SLAM with SIFT Se, Lowe, and Little Presented by Matt Loper
Chart Packing Heuristic
Summary of lectures Introduction to Algorithm Analysis and Design (Chapter 1-3). Lecture Slides Recurrence and Master Theorem (Chapter 4). Lecture Slides.
Dynamic Programming Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Haim Kaplan and Uri Zwick
Real-time Wall Outline Extraction for Redirected Walking
Distributed Submodular Maximization in Massive Datasets
Local Feature Extraction Using Scale-Space Decomposition
Analysis and design of algorithm
Learning with Identification Trees
Chapter 11 Limitations of Algorithm Power
Efficient Subgraph Similarity All-Matching
The use of Neural Networks to schedule flow-shop with dynamic job arrival ‘A Multi-Neural Network Learning for lot Sizing and Sequencing on a Flow-Shop’
Synthesis of Motion from Simple Animations
CUBE MATERIALIZATION E0 261 Jayant Haritsa
What is The Optimal Number of Features
Presented by Xu Miao April 20, 2005
Approximation Algorithms
Stefan Oßwald, Philipp Karkowski, Maren Bennewitz
Area Coverage Problem Optimization by (local) Search
Heuristic Search Viewed as path Finding in a Graph
Adaptation of the Simulated Risk Disambiguation Protocol to a Discrete Setting ICAPS Workshop on POMDP, Classification and Regression: Relationships and.
Presentation transcript:

for Vision-Based Navigation Landmark Selection for Vision-Based Navigation Pablo L. Sala Joint work with Robert Sim, Ali Shokoufandeh and Sven Dickinson To be presented in IROS 2004 September 17th, 2004

Robot Navigation Where am I? Where am I going? How do I get there? [Leonard and Durrant-Whyte] Where am I? Where am I going? How do I get there?

Robot Navigation Where am I? Localization Where am I going? [Leonard and Durrant-Whyte] Where am I? Localization Where am I going? How do I get there?

Robot Navigation Where am I? Localization [Leonard and Durrant-Whyte] Where am I? Localization Where am I going? Goal Identification How do I get there?

Robot Navigation Where am I? Localization [Leonard and Durrant-Whyte] Where am I? Localization Where am I going? Goal Identification How do I get there? Path-planning

Robot Navigation Where am I? Localization [Leonard and Durrant-Whyte] Where am I? Localization Where am I going? Goal Identification How do I get there? Path-planning

Landmark-Based Navigation What makes a good landmark?

Landmark-Based Navigation What makes a good landmark? Distinctiveness (does it tell me where I am?)

Landmark-Based Navigation What makes a good landmark? Distinctiveness (does it tell me where I am?) Wide Visibility

Landmark-Based Navigation What makes a good landmark? Distinctiveness (does it tell me where I am?) Wide Visibility How do we select good landmarks?

Landmark-Based Navigation What makes a good landmark? Distinctiveness (does it tell me where I am?) Wide Visibility How do we select good landmarks? Manually

Landmark-Based Navigation What makes a good landmark? Distinctiveness (does it tell me where I am?) Wide Visibility How do we select good landmarks? Manually Automatically

Landmark-Based Navigation What makes a good landmark? Distinctiveness (does it tell me where I am?) Wide Visibility How do we select good landmarks? Manually Automatically… but how?

Landmark-Based Navigation What makes a good landmark? Distinctiveness (does it tell me where I am?) Wide Visibility How do we select good landmarks? Manually Automatically Store every landmark visible at each location (costly!)

Landmark-Based Navigation What makes a good landmark? Distinctiveness (does it tell me where I am?) Wide Visibility How do we select good landmarks? Manually Automatically Store every landmark visible at each location (costly!) Find smallest subset of landmarks that supports reliable navigation (optimal!)

View-Based Robot Navigation Off-line Exploration Landmark Database Construction On-line Localization

View-Based Robot Navigation Off-line Exploration Landmark Database Construction On-line Localization Collection of images acquired at known discrete points in pose space. Pose recorded and image features extracted and stored in database.

View-Based Robot Navigation Off-line Exploration Landmark Database Construction On-line Localization Collection of images acquired at known discrete points in pose space. Pose recorded and image features extracted and stored in database.

View-Based Robot Navigation Off-line Exploration Landmark Database Construction On-line Localization Collection of images acquired at known discrete points in pose space. Pose recorded and image features extracted and stored in database.

View-Based Robot Navigation Off-line Exploration Landmark Database Construction On-line Localization Collection of images acquired at known discrete points in pose space. Pose recorded and image features extracted and stored in database.

View-Based Robot Navigation Off-line Exploration Landmark Database Construction On-line Localization Collection of images acquired at known discrete points in pose space. Pose recorded and image features extracted and stored in database.

View-Based Robot Navigation Off-line Exploration Landmark Database Construction On-line Localization

View-Based Robot Navigation Off-line Exploration Landmark Database Construction On-line Localization Four features are needed in this set.

View-Based Robot Navigation Off-line Exploration Landmark Database Construction On-line Localization Four features are needed in this set. Only two features needed. Our goal is to find this decomposition.

View-Based Robot Navigation Off-line Exploration Landmark Database Construction On-line Localization Current pose is estimated using the locations of a small number of features in the current image, matched against their locations in two model views.

View-Based Robot Navigation

View-Based Robot Navigation

View-Based Robot Navigation

View-Based Robot Navigation

View-Based Robot Navigation

View-Based Robot Navigation

View-Based Robot Navigation

View-Based Robot Navigation

View-Based Robot Navigation

View-Based Robot Navigation

View-Based Robot Navigation

Intuitive Problem Formulation

Outline Problem Formulation Complexity Heuristic Methods Results on Synthetic and Real Images Conclusions

A Graph Theoretic Formulation Problem Definition: The -Minimum Overlapping Region Decomposition Problem (-MOVRDP) for a world instance <G=(V,E), F, {v} vV> consists of finding a minimum size -overlapping decomposition D = {R1, …, Rd} of V into regions such that:

A Graph Theoretic Formulation Problem Definition: The -Minimum Overlapping Region Decomposition Problem (-MOVRDP) for a world instance <G=(V,E), F, {v} vV> consists of finding a minimum size -overlapping decomposition D = {R1, …, Rd} of V into regions such that:   Theorem 1: A -MOVRDP can be reduced to an equivalent 0-MOVRDP, and the solution to this latter problem can be extended to a solution for the original problem.

A Graph Theoretic Formulation Problem Definition: The -Minimum Overlapping Region Decomposition Problem (-MOVRDP) for a world instance <G=(V,E), F, {v} vV> consists of finding a minimum size -overlapping decomposition D = {R1, …, Rd} of V into regions such that:   Theorem 1: A -MOVRDP can be reduced to an equivalent 0-MOVRDP, and the solution to this latter problem can be extended to a solution for the original problem. Theorem 2: The decision problem <0-MOVRDP, d> is NP-complete. (Proof by reduction from the Minimum Set Cover Problem.)

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms.

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region:

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 25

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 25

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 19

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 19

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 19

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 19

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 17

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 17

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 14

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 14

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 11

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 11

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 9

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 8

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 8

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 6

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 4

Heuristic Methods for 0-MOVRDP 0-MOVRDP is intractable. Optimal decomposition not needed in practice. We developed and tested six greedy approximation algorithms. Algorithm A.x: O(|V|2|F|) k = 4 Features commonly visible in region: 4

Heuristic Methods for 0-MOVRDP Algorithms B.x and C: O(k|V|2|F|) k = 5 Features commonly visible in region:

Heuristic Methods for 0-MOVRDP Algorithms B.x and C: O(k|V|2|F|) k = 5 Features commonly visible in region: 1

Heuristic Methods for 0-MOVRDP Algorithms B.x and C: O(k|V|2|F|) k = 5 Features commonly visible in region: 1

Heuristic Methods for 0-MOVRDP Algorithms B.x and C: O(k|V|2|F|) k = 5 Features commonly visible in region: 1

Heuristic Methods for 0-MOVRDP Algorithms B.x and C: O(k|V|2|F|) k = 5 Features commonly visible in region: 1

Heuristic Methods for 0-MOVRDP Algorithms B.x and C: O(k|V|2|F|) k = 5 Features commonly visible in region: 1

Heuristic Methods for 0-MOVRDP Algorithms B.x and C: O(k|V|2|F|) k = 5 Features commonly visible in region: 1

Heuristic Methods for 0-MOVRDP Algorithms B.x and C: O(k|V|2|F|) k = 5 Features commonly visible in region: 2

Heuristic Methods for 0-MOVRDP Algorithms B.x and C: O(k|V|2|F|) k = 5 Features commonly visible in region: 2

Heuristic Methods for 0-MOVRDP Algorithms B.x and C: O(k|V|2|F|) k = 5 Features commonly visible in region: 2

Heuristic Methods for 0-MOVRDP Algorithms B.x and C: O(k|V|2|F|) k = 5 Features commonly visible in region: 2

Heuristic Methods for 0-MOVRDP Algorithms B.x and C: O(k|V|2|F|) k = 5 Features commonly visible in region: 2

Heuristic Methods for 0-MOVRDP Algorithms B.x and C: O(k|V|2|F|) k = 5 Features commonly visible in region: 3

Heuristic Methods for 0-MOVRDP Algorithms B.x and C: O(k|V|2|F|) k = 5 Features commonly visible in region: 4

Heuristic Methods for 0-MOVRDP Algorithms B.x and C: O(k|V|2|F|) k = 5 Features commonly visible in region: 5

Results Simulated Data

Results Simulated Data (cont.)

Results Simulated Data (cont.) World Settings Two types of Worlds: Irregular (Irreg) and Rectangular (Rect). average diameter: 40m. pose space sampled at 50 cm intervals. average number of sides: 6. average number of obstacles: 7.

Results Simulated Data (cont.) World Settings Two types of Worlds: Irregular (Irreg) and Rectangular (Rect). average diameter: 40m. pose space sampled at 50 cm intervals. average number of sides: 6. average number of obstacles: 7. Two types of Features: Short-Range and Long-Range. visibility range N(0.65, 0.2) to N(12.5, 1) m, and angular range N(25, 3) degrees. Visibility range N(0.65, 0.2) to N(17.5, 2) m, and angular range N(45, 4) degrees.

Results (cont.) Simulated Data (cont.) 300 randomly generated worlds Runtime of few seconds Avg. size of regions depends on stability of features in pose space. Number of regions increases as avg. size of regions decreases. Alg. B.2 achieved the best results. Algorithms  A.1 A.2 A.3 B.1 B.2 C Setting World Feature 1 Rect Short-Range 2 Long-Range 3 Irreg 4

Results (cont.) Real Data We applied the best-performing algorithm (B.2) to real feature visibility data. 0 90 180 270

Results (cont.) Real Data Experiment 1 Data collected in 2m  2m area. Sampled at 20 cm intervals. Total of 46 visible features. Camera at a fixed orientation (looking forward). Features were extracted using the Kanade-Lucas-Tomasi operator. Parameters used:  = 0, k = 4.

Results (cont.) Real Data Experiment 1 Data collected in 2m  2m area. Sampled at 20 cm intervals. Total of 46 visible features. Camera at a fixed orientation (looking forward). Features were extracted using the Kanade-Lucas-Tomasi operator. Parameters used:  = 0, k = 4.

Results (cont.) Experiment 2 Data collected in 6m  3m area. Sampled at 25 cm intervals. Total of 897 visible features. Camera at 0, 90, 180, and 270 degree orientations. Lowe’s SIFT features.

Typical Feature Visibility Regions Results (cont.) Experiment 2 Data collected in 6m  3m area. Sampled at 25 cm intervals. Total of 897 visible features. Camera at 0, 90, 180, and 270 degree orientations. Lowe’s SIFT features. Typical Feature Visibility Regions

Results (cont.) Experiment 2 (cont.) k=4, =0

Results (cont.) Experiment 2 (cont.) k=4, =1

Results (cont.) Experiment 2 (cont.) k=10, =0

Results (cont.) Experiment 2 (cont.) k=10, =1

Conclusions We have introduced a novel graph theoretic formulation of the landmark acquisition problem, and have established its intractability. We have explored a number of greedy approximation algorithms, systematically testing them on synthetic worlds and demonstrating them on two real worlds. The resulting decompositions find large regions in the world in which a small number of features can be tracked to support efficient on-line localization. The formulation and solution are general, and can accommodate other classes of image features.

Future Work Integrate the image collection phase with the region decomposition stage to yield an on-line process for simultaneous exploration and localization (SLAMB). Path planning through decomposition space, minimizing the number of region transitions in a path. Detect and cope with environmental change. Compute the performance guarantee of our heuristic methods and provide tight upper bounds on the quality of our solution compared to the optimal. Use feature tracking during the image collection stage to achieve larger areas of visibility for each feature. (Maintain equivalence classes of features in the DB.)