1 / 53

Colored Point Set Matching under rigid motion in 3D

Colored Point Set Matching under rigid motion in 3D. Yago Diez and J. Antoni Sellarès Universitat de Girona. Overview. Introduction Matching Algorithm Enumeration Testing Lossless Filtering Preprocessing Step Conclusions and Future Work.

mac
Download Presentation

Colored Point Set Matching under rigid motion in 3D

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. Colored Point SetMatching under rigid motionin 3D Yago Diez and J. Antoni Sellarès Universitat de Girona

  2. Overview • Introduction • Matching Algorithm • Enumeration • Testing • Lossless Filtering Preprocessing Step • Conclusions and Future Work

  3. Overview • Introduction • Matching Algorithm • Enumeration • Testing • Lossless Filtering Preprocessing Step • Conclusions and Future Work

  4. Motivation “Substructure search in proteins” Given a Protein, find all the occurrences of a secondary structure: Proteins are formed by amino acid molecules Only twenty types of standard amino acids. Every amino acid relates to a unique alpha-carbon.

  5. Introduction Problem formulation: Given two sets of colored points in space A and B, |A| < |B|, find all the subsets B’ of B that can be expressed as rigid motions of A. • We want: • the points to approximately match(fuzzy nature ofreal data). • the colors to coincide. • (*) Rigid motion: composition of a translation and a rotation.

  6. Given two colored points sets A and B,n=|A|, m=|B|, n < m, and a real positive number ε, determine all the rigid motions τ for which there exists a subset B’ of B, |B’|=|A|, such that: db (τ(A),B’) ε (Bottleneck distance) Colored Point Set Matching Problem Definition B A

  7. Overview • Introduction • Matching Algorithm • Enumeration • Testing • Lossless Filtering Preprocessing Step • Conclusions and Future Work

  8. Matching Algorithm Noisy Matching Algorithm • Two main parts: • Enumeration • More difficult than in 2D • Numerical problems • Testing • Bipartite matching algorithm • The data structures used in 2D can be adapted.

  9. Matching Algorithm Enumeration: (2D) IDEA: Generate all possible motions τ that may bring set A near some B’ LEMMA: If there exist a matching of A to B then there is one that maps two pointsbi, bj to the circles of center ak , aland radiusε (boundary of noise regions).

  10. Matching Algorithm Enumeration: 2D 1.- For every quadruple, generate “all” possible rigid motions  Partition of [0,2π[ 2.- For every representative rigid motion, execute Testing algorithm. We rule out all those pairs of point whose colors do not coincide.

  11. Matching Algorithm Enumeration: 3D IDEA: Generate all possible motions τ that may bring set A near some B’ LEMMA: If there exist a matching of A to B then there is one that maps three pointsbi, bj bk to the spheres of center ap aq , arand radiusε (boundary of noise regions).

  12. Matching Algorithm Enumeration: 3D • Generate: • Volume described by the fourth vertex of a teterahedron when the other three vertices move on the surfaces of three spheres of the same radius. • Algebraic volume. • Numerical problems.

  13. Matching Algorithm Enumeration: 3D In order to know when two points may be matched, intesect the resulting surfaces with spheres.

  14. Matching Algorithm Enumeration: 3D We obtain cells in the space of parameters (cube of side 2π )

  15. Overview • Introduction • Matching Algorithm • Enumeration • Testing • Lossless Filtering Preprocessing Step • Conclusions and Future Work

  16. Matching Algorithm Testing (bi`partite matching algorithm) For every motion τ representative of an equivalence class, find a matching of cardinality n between τ(A) and S. Neighbor ( D(T), q ) A set of calls to Neighbor operation corresponds to one range search operation in a skip octree Delete ( D(T), s ) Corresponds to a deletion operation in a skip octree. Amortized cost of Neighbor, Delete: t(n) Under adequate assumptions t(n) = log n

  17. Matching Algorithm Computational Cost Arrangement size: O( n5 m5λq (nm) ) Total cost (testing every cell): O( n6 m5λq (nm) t(n,n’) )

  18. Overview • Introduction • Matching Algorithm • Enumeration • Testing • Lossless Filtering Preprocessing Step • Conclusions and Future Work

  19. Our Approach The main goal is to transform the problem into a series of smallerinstances. We will use a conservative strategy to discard, cheaply and at an early stage, those subsets of B where no match may happen. Then we will execute the matching algorithm that we have already described

  20. Candidate Zone Determination There cannot be any subset B‘ of B that approximately matches A fully contained in the four top-left squares, because A contains twelve colored Points and the squares only six. • What geometric parameters, invariant for rigid motion, do we consider ? • number of Colored Points, • histogram of colors, • maximum and minimum distance between disks of the same color, • …

  21. Candidate Zone Determination (3D)

  22. Candidate Zone Determination (2D) Candidate Zone Search Algorithm a • Three search functions needed for every type of zone according to the current node: • Search type a zones. • -Search type b zones. • -Search type c zones. c b b

  23. Candidate Zone Determination (3D) Candidate Zone Search Algorithm • Four search functions needed for every type of zone according to the current node: • Type a zones -> Inside the node. • Type b zones -> Overlapping two nodes. • Type a zones -> Overlapping four nodes. • Type a zones -> Overlapping eight nodes. • The search begins at the root and continues until nodes of size s are reached. • Early discards will rule out of the search bigger subsets of B than later ones.

  24. Overview • Introduction • Matching Algorithm • Enumeration • Testing • Lossless Filtering Preprocessing Step • Conclusions and Future Work

  25. Our Approach: Conclusions • CONCLUSIONS • Uses a conservative pruning technique. • Is implementable. • There exist the possibility of adapting it to specific problems. • Is parallelizable. • FUTURE WORK • Approximate algorithm

  26. QUESTIONS?

  27. Colored Point SetMatching under rigid motionin 3D Yago Diez and J. Antoni Sellarès Universitat de Girona

  28. Matching Algorithm Enumeration Exact Approximate

  29. 2s (size s) Candidate Zone Determination Initial step 1. Determine an adequate square bounding box of A. 2. Calculate associated geometric information.

  30. Candidate Zone Determination

  31. Candidate Zone Determination Candidate zone determination algorithm complexity: O(max{m log m, c(t - s)}) - c: number of candidate zones - t (root quadtree size) and s depend on the size of the bounding boxes of A and B. - In practice we expect t-sto be close to constant and cin O(m).

  32. Motivation “Constellation recognition problem” Given a constellation of stars: determine whether it exists in the night sky (fixed magnification): Stars can be seen as disks with radii determined by their brightness (discrete range).

  33. Candidate Zone Determination . . . . . . Calculate quadtree of B with geometric parameters.

  34. Sites = 550 Sites = 173 Sites = 133 Sites = 131 Sites = 113 57 23 56 34 . . . 6 20 53 34 4 49 37 12 14 54 46 51 6 1 0 16 11 1 3 22 . . . 3 22 1 31 19 6 20 11 Candidate Zone Determination 3 – Candidate Zone Search Algorithm • Search’s first step: • Target number of sites = 25 • Launch search1?  yes • (in four sons) • Launch search2?  yes • (all possible couples) • Launch search3?  yes • (possible quartet)

  35. Sites = 550 Sites = 173 Sites = 133 Sites = 131 Sites = 113 57 23 56 34 . . . 6 20 53 34 4 49 37 12 14 54 46 51 6 1 0 16 11 1 3 22 . . . 3 22 1 31 19 6 20 11 Candidate Zone Determination 3 – Candidate Zone Search Algorithm • Search’s first step: • Target number of sites = 25 • Launch search1?  yes • (in three sons) • Launch search2?  yes • (all possible couples) • Launch search3?  yes • (possible quartet)

  36. Example Find: Consider: A B

  37. Candidate Zone Determination

  38. Candidate Zone Determination Execution Tests

  39. Noisy Ball Matching Problem Definition Given two ball sets A and B, n=|A|, m=|B|, n < m, and a real number ε, determine all the isometric transformations τ for which there exists a subset S’ of B such that: db (τ(A),S’) ε

  40. Efratet al. Matching Algorithm All endpoints of these angle intervals partition the interval [0, 2 [ in O(n2) subintervals, so that for all angles in one interval the same points of B are mapped into the same neighborhoods of points of A. All these relationships are represented as edges in a bipartite graph whose two sides of nodes are A and B. If there is an angle for which the corresponding graph has a perfect matching, then the associated motion approximately matchesA and B.

  41. Efrat et al. Matching Algorithm • To findallperfect matchings,traverse the subintervals from left to right: • For angle = 0, find the maximum matching. If it is a perfect matching, keep the associated motion. • For each one of the remaining O(n2) subintervals, check if its corresponding graph together with the previous matching contains an augmenting path. If we obtain a perfect matching, keep the associated motion. • Finding an augmenting path, using a layered graph, takes O(n log n) time.

  42. Efratet al. Matching Algorithm • To build the layered graph, a data structure D(B) with two main operations is used: Neighbor(D(B),q) For a query point q, returns a point in D(B) whose distance to q is at most ε, if it exists. Delete(D(B),s) Deletesthe point s from D(B). • Costof Neighbor and Delete:O(log m), m=|B|. • Difficult to implement.

  43. Efratet al. Matching Algorithm Computational Cost For each one of the O(n4) 4-tuples: ak, al,bi, bj there are O(n2) subintervals where to find a perfect matching inO(n log n) time. Total cost: O(n4) O(n2) O(n log n) =O(n7 log n).

  44. Sites = 550 Sites = 173 Sites = 133 Sites = 131 Sites = 113 57 23 56 35 . . . 5 19 54 34 4 49 37 12 14 54 46 51 6 1 0 16 11 1 3 22 . . . 3 22 1 31 19 6 20 11 Candidate Zone Determination 3 – Candidate Zone Search Algorithm • Search’s first step: • Target number of sites = 25 • Launch search1?  yes • (in two sons) • Launch search2?  yes • (three possible couples) • Launch search3?  yes • (possible quartet)

More Related