1 / 61

Reconstructing Camera Positions from Visibility Information

Reconstructing Camera Positions from Visibility Information. Elif Tosun Honors Thesis Presentation Advisor: Ileana Streinu May 1 st , 2002. Outline. Motivation General Problem Some Definitions Main Problems of Interest Background in Rigidity Solutions in 2D Further Work Summary.

niel
Download Presentation

Reconstructing Camera Positions from Visibility Information

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reconstructing Camera Positions from Visibility Information Elif Tosun Honors Thesis Presentation Advisor: Ileana Streinu May 1st, 2002

  2. Outline • Motivation • General Problem • Some Definitions • Main Problems of Interest • Background in Rigidity • Solutions in 2D • Further Work • Summary

  3. Motivation: MIT City Scanning Project • Goal: To reconstruct a 3D model of an urban environment using numerous images.

  4. Motivation: MIT City Project • Method: • Robot with a mounted hemispherical camera • Images acquired at different *unknown* positions of an urban environment • Images put together to get “image feature points” using methods in Computer Vision and Computer Graphics. A corner may be an image feature point

  5. Method (Cont’d): • Slopes between cameras and image features are inferred from use of hemispherical cameras with known local orientations. • Once the set of slopes are obtained, solution for camera and image feature positions is based on solving a linear system of equations

  6. However… • A linear system of equations may be over or under determined. • This information is NOT known a priori • Therefore, system *sometimes* may fail to give a solution. • A SUBSET of edges that give a unique solution is needed. “… determination of the minimal set of distinct pairs needed for a non-degenerate solution is significantly more complicated and depends entirely on the topology of the adjacency graph. ” [Antone-Teller, 2000]

  7. The Problem • Given: Visibility information as a set of slopes at n positions of a hemispherical camera • Find: Absolute coordinates of camera locations and positions of image features • Why? May be used to reconstruct a model of environment. • Problem? Over- or under-determined system of equations. Need a subset.

  8. This thesis focuses on: • Reformulating this problem and modeling it based on its geometric/combinatorial aspects • Exploring it in 2 and 3 dimensions • Isolating several feasible sub problems and giving algorithmic solutions • Providing implementations for some

  9. General Camera Registration Problem • Formulation using “direction networks” Data set: 3 cameras ,4 image feature points, slope known for 13 pairs Direction Network: 7 (=3+4) vertices 13 edges

  10. Direction Network? A direction network is a graph G=(V, E) together with slope information for each edge: D =(V, E, S) with S = {se: se is the slope information for an edge e E}

  11. General Camera Registration Problem Given a direction network D and the location of a subset of vertices V’ of V, find the location of all vertices v V of G. Notes: 1. We don’t treat image features and camera positions differently. Both sets together form the set of vertices V of G. 2. Location of a subset of vertices is needed to fix a frame of reference.

  12. Definitions • Realization of a direction network: A geometric embedding of G of D. • i.e. set of points P s.t. if (ij)E then the slope between points piandpj issij

  13. Definitions • Realization of a direction network: A geometric embedding of G of D. • i.e. set of points P s.t. if (ij)E then the slope between points piandpj is sij y-axis x-axis (0,0)

  14. Definitions • Mixed “direction and length” network: A direction network of the following form: MD = (V, v1, E1, E2, S, L) where: E1 = set of edges for which slopes are given E2= set of edges for which lengths are given S = {se: se is the slope for edge eE1} L = {le: le is the length for edge eE2} v1 = a unique vertex that is pinned down (at origin)

  15. How to solve for an MD system To solve for a mixed “direction and length” network… A) Associate a linearequation to each slope information… i.e. for each slope sij between points pi=(xi, yi) and pj=(xj, yj): (yj-yi) – sij(xj-xi) = 0

  16. B) And associate a quadratic equation to each length information i.e. for each length lij between points pi=(xi, yi) and pj=(xj, yj): (xj-xi)2 + (yi-yj)2 = lij2

  17. A particular case… The particular case of an MD that we will be considering is the following: There exists an edge e, s.t. • both the length (le) and the slope information (se) is known • one end point of e is pinned down • e is the only edge in E2 i.e. it’s as if two vertices are pinned down: se So, we’re only dealing with a linear system of equations le

  18. More Definitions • Tight direction network: A direction network where there is a unique solution to the system.

  19. Loose direction network: A direction network where the system is under-determined.

  20. Loose direction network: A direction network where the system is under-determined. It has a parallel redrawing!

  21. Over-determined direction network: A direction network where there are more edges than needed to have a unique solution:

  22. Non-realizable direction network: A direction network with no solution where the system is over-determined and the constraints are incompatible

  23. Main Problems • Problem 1: Given a direction network, decide whether it’s tight or not. • Problem 2: Given a loose direction network, find a set of edges, that needs to be added, so that it becomes tight. - if possible

  24. Problem 3: Given an over-determined direction network: • Find a set of edges that need to be removed so that it becomes tight – if possible • Find the set of edges to be removed to get ‘the best’ tight framework. • Get an approximation of ‘the best’ tight framework.

  25. Why “if possible” for Problems 2 and 3: • The data set might not have the edges necessary for tightness • The given direction network might be partially over- or under-determined All induced sub-graphs are under-determined

  26. Why “if possible” for Problems 2 and 3: • The data set might not have the edges necessary for tightness • The given direction network might be partially over- or under-determined All induced sub-graphs are under-determined Under-determined sub-graph No edge removal can make it tight

  27. Why “if possible” for Problems 2 and 3: • The data set might not have the edges necessary for tightness • The given direction network might be partially over- or under-determined All induced sub-graphs are under-determined Over-determined sub-graph No edge addition can make it tight

  28. Background in RigidityGeometric Rigidity • 2 dual categories: • Fixed Edge Lengths • Fixed Directions (“parallel redrawing”) • Duality in 2D: Properties of one hold for the other as well!

  29. Fixed Length Rigidity:Definitions • A framework is a graph G=(V, E) together with length information for each edge: F =(V, E, L) with L = {le: le is the length information for an edge e E} le

  30. Fixed Length Rigidity:Definitions • A minimally rigid framework • A flexible framework (infinitesimal rigidity – velocities)

  31. Fixed Length Rigidity:Definitions • A minimally rigid framework • A flexible framework (infinitesimal rigidity – velocities)

  32. Fixed Length Rigidity:Definitions • An over-braced framework • An unrealizable framework

  33. Fixed Length vs. Fixed Direction • Direction Network • Tight • Loose • Framework • Minimally Rigid • Flexible

  34. Fixed Length vs. Fixed Direction • Over-determined • Unrealizable • Over-braced • Unrealizable

  35. Fixed Length vs. Fixed Direction • Find point coordinates • Parallel Redrawing Matrix (M) (2nxm). • Info on slopes • Find a non-trivial set of velocities • Rigidity Matrix (M) (2nxm). • Info on derived from point coordinates

  36. Solution: Mv = b Why? (fixed rods, perpendicular velocity vectors) (pi-pj).(vi-vj) = 0 Solution: Mv = b Why? (line equations) (xi-xj)mij –(yi-yj) = 0 Fixed Length vs. Fixed Direction V = column vector of unknowns, b = column vector of 0s. pj mij pi

  37. Solution: Mv = b Why? (fixed rods, perp. velocity) (pi-pj).(vi-vj) = 0 Solution: Mv = b Why? (line equations) (xi-xj)mij –(yi-yj) = 0 Fixed Length vs. Fixed Direction V = column vector of unknowns, b = column vector of 0s. pj mij pi

  38. Rigidity in the Plane:Combinatorial Rigidity • Based on underlying graph, no numeric data • Laman’s Theorem: Given a minimally rigid graph G=(V, E) with n vertices, m edges: • m = 2n-3 • For every sub graph G’ of k vertices has <= 2k-3 edges

  39. Rigidity in the Plane:Combinatorial Rigidity • Based on underlying graph, no numeric data • Laman’s Theorem: Given a minimally rigid graph G=(V, E) with n vertices, m edges: • m = 2n-3 • For every sub graph G’ of k vertices has <= 2k-3 edges

  40. Generic Rigidity & Tightness • A generic minimally rigid framework(or tight dir. network) : minimally rigid (or tight) for generic positions of points. Generic Non-generic

  41. Generic Rigidity & Tightness • A generic minimally rigid framework(or tight dir. network) : minimally rigid (or tight) for generic positions of points. Generic Non-generic

  42. Given a direction network, decide if tight or not Solution to Problem 1(Decision Problem) • Geometric Approach : Using parallel redrawing matrix If there exists a solution to Mv=B Check dimension, if =0, TIGHT if > 0, UNDER-DETERMINED Else UNREALIZABLE

  43. Decision ProblemGeometric Approach (Cont’d) • PROBLEM: In case of NOISE, geometric approach may return: Unrealizable (although if erroneous edges are not used, there might be a solution) • So : we need a subset of these edges necessary and sufficient for a unique solution • Use Combinatorial Approach to get a subset, then use Geometric Approach

  44. Solution to Problem 1(Decision Problem) • Combinatorial Approach Main Idea: • Tight direction network  has a unique solution *most* of the time • Underlying graph of a tight D.N. is a minimally rigid graph • Find a way of checking if a given graph is minimally rigid or not

  45. Decision Problem:Combinatorial Approach • Sugihara’s Algorithm, based on bipartite matchings • Associate a bipartite graph to original • Modify it for each edge and check for complete bipartite matching • Mathematica Notebook

  46. Complexity O(n1.5).O(n2) =O(n 3.5) Decision Problem:Combinatorial Approach: Sugihara’s Alg.

  47. Solution to Problem 2(Extension) • Problem: Given an under-determined direction network, find a set of edges to extend it to a tight graph (if possible).

  48. Extension ProblemThe Algorithm • Natural Approach: A Greedy Algorithm • Add one edge at a time, use “decision” algorithm to test • Proof of Correctness!

  49. Matroid Theory and Rigidity Definition: A matroidis an ordered pair M=(S, l) satisfying the following conditions • S is a finite non empty set • l is a non empty family of subsets of S called the independent subsets, s.t. if B l and AB, then A l • If Al, and |A|<|B|, then there exists an elt x  (B-a) s.t. A  {x} l

  50. Matroid Theory and Rigidity 2 Important Properties: 1. Result by Sugihara: “Frameworks demonstrate matroidal properties.” 2. “For matroidal structures, greedy algorithms return optimal solutions correctly” Because of these two properties, our Greedy Approach returns a correct solution

More Related