# 1 Yago Diez and J. Antoni Sellarès Universitat de Girona Colored Point Set Matching under rigid motion in 3D.

## Presentation on theme: "1 Yago Diez and J. Antoni Sellarès Universitat de Girona Colored Point Set Matching under rigid motion in 3D."— Presentation transcript:

1 Yago Diez and J. Antoni Sellarès Universitat de Girona Colored Point Set Matching under rigid motion in 3D

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 Substructure search in proteins Motivation 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 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. Introduction We want: the points to approximately match (fuzzy nature of real data). the colors to coincide. (*) Rigid motion: composition of a translation and a rotation.

6 A B 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: d b (τ(A),B) ε (Bottleneck distance) Colored Point Set Matching Problem Definition

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

8 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. Noisy Matching Algorithm

9 Matching Algorithm IDEA: Generate all possible motions τ that may bring set A near some B Enumeration: (2D) LEMMA: If there exist a matching of A to B then there is one that maps two points b i, b j to the circles of center a k, a l and radius ε (boundary of noise regions).

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

11 Matching Algorithm IDEA: Generate all possible motions τ that may bring set A near some B Enumeration: 3D LEMMA: If there exist a matching of A to B then there is one that maps three points b i, b j b k to the spheres of center a p a q, a r and 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

14

15

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

17

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

19

20

21 Overview - Introduction - Matching Algorithm - Enumeration - Testing - Lossless Filtering Preprocessing Step - Conclusions and Future Work

22 Matching Algorithm For every motion τ representative of an equivalence class, find a matching of cardinality n between τ(A) and S. Testing (bi`partite matching algorithm) A set of calls to Neighbor operation corresponds to one range search operation in a skip octree Neighbor ( D(T), q ) 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

23 Matching Algorithm Arrangement size: O( n 5 m 5 λ q (nm) ) Total cost (testing every cell): O( n 6 m 5 λ q (nm) t(n,n) ) Computational Cost

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

25 Our Approach The main goal is to transform the problem into a series of smaller instances. 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

26 Candidate Zone Determination 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, - … 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.

27 Candidate Zone Determination (3D)

28 Candidate Zone Determination (2D) Candidate Zone Search Algorithm a b b c 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.

29 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.

30 Overview - Introduction - Matching Algorithm - Enumeration - Testing - Lossless Filtering Preprocessing Step - Conclusions and Future Work

31 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 -

32 QUESTIONS?

33 Yago Diez and J. Antoni Sellarès Universitat de Girona Colored Point Set Matching under rigid motion in 3D

34 Matching Algorithm Exact Enumeration Approximate

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

36 Candidate Zone Determination

37 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-s to be close to constant and c in O(m).

38 Constellation recognition problem Motivation 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).

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

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

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

42 Example Consider: A B Find:

43 Candidate Zone Determination

44 Candidate Zone Determination Execution Tests \A\\B\NUMBER OF CANDIDATE ZONES TOTAL TIME (seconds) 8259216191935 8275216196256 8316816200756 2535550821 2549550842 2511755043432 2518005047563 2524755050105

45 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: d b (τ(A),S ) ε Noisy Ball Matching Problem Definition

46 Efrat et al. Matching Algorithm All endpoints of these angle intervals partition the interval [0, 2 [ in O(n 2 ) 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 matches A and B.

47 Efrat et al. Matching Algorithm To find all perfect 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(n 2 ) 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.

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

49 Efrat et al. Matching Algorithm For each one of the O(n 4 ) 4-tuples: a k, a l, b i, b j there are O(n 2 ) subintervals where to find a perfect matching in O(n log n) time. Total cost: O(n 4 ) O(n 2 ) O(n log n) = O(n 7 log n). Computational Cost

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

51 Candidate Zone Determination............ Sites = 550 Sites = 173 Sites = 113 Sites = 131Sites = 133 23 57 56 37 20 6 53 34 54 12 14 51 49 46 34 4 0 6 1 16 1 3 22 31 3 11 1 22 20 19 6 11 Example with geometric parameter: number of disks

52 Candidate Zone Determination............ Sites = 550 Sites = 173 Sites = 113 Sites = 131Sites = 133 23 57 56 37 20 6 53 34 54 12 14 51 49 46 34 4 0 6 1 16 1 3 22 31 3 11 1 22 20 19 6 11 Example with geometric parameter: number of disks

53 Introduction Let A, B be two disk sets of the same cardinality. A radius preserving bijective mapping f : A B maps each disk D(a, r) to a distinct and unique disk f(D(a,r))= D(b,s) so that r = s. Let F be the set of all radius preserving bijective mappings between A and B. The Bottleneck Distance between A and B is is defined as: d b (A, B) = min f F max D(a,r) A d(D(a,r), f(D(a,r))). |F| may severely diminish when the disks in A and B have a high number of different radii.

Similar presentations