curve and surface reconstruction
play

Curve and surface reconstruction Steve Oudot Reconstruction - PowerPoint PPT Presentation

INF562 G eom etrie Algorithmique et Applications Curve and surface reconstruction Steve Oudot Reconstruction Paradigm Q What do you see? Why? Reconstruction Paradigm Q What do you see? Why? http://jolicoloriage.free.fr


  1. Approximation power of the restricted Delaunay Proof for curves: → show that every edge of Del S ( P ) connects consecutive points of P along S , and vice-versa Let c ∈ pq ∗ ∩ S . r = � c − p � = � c − q � = d( c, P ) ≤ ε < ̺ S ≤ lfs( c ) ⇒ B ( c, r ) ∩ S is a topological arc c p q S

  2. Approximation power of the restricted Delaunay Proof for curves: → show that every edge of Del S ( P ) connects consecutive points of P along S , and vice-versa Let c ∈ pq ∗ ∩ S . r = � c − p � = � c − q � = d( c, P ) ≤ ε < ̺ S ≤ lfs( c ) ⇒ B ( c, r ) ∩ S is a topological arc s if s ∈ P \ { p, q } belongs to this arc, then the arc is tangent to ∂B ( c, r ) in p , q or s (say s ) c p q ⇒ d( c, P ) = r = � c − s � ≥ lfs( s ) > ε . (contradiction with the hypothesis of the theorem) S

  3. Approximation power of the restricted Delaunay Proof for curves: → show that every edge of Del S ( P ) connects consecutive points of P along S , and vice-versa c ∈ ps ∗ for some s ∈ P \ { p } Let c ∈ arc S ( pq ) ∩ ∂p ∗ . c p q S

  4. Approximation power of the restricted Delaunay Proof for curves: → show that every edge of Del S ( P ) connects consecutive points of P along S , and vice-versa c ∈ ps ∗ for some s ∈ P \ { p } Let c ∈ arc S ( pq ) ∩ ∂p ∗ . S ⇒ ps ∈ Del S ( P ) s ⇒ p , s consecutive along S , with c ∈ arc S ( ps ) c (by previous part of the proof) ⇒ s = q p q S

  5. Approximation power of the restricted Delaunay Proof for curves: → show that every edge of Del S ( P ) connects consecutive points of P along S , and vice-versa ⇒ Del S ( P ) is homeomorphic to S between each pair of consecutive points of P Since Del S ( P ) is embedded in Del( P ), it does not self-intersect ⇒ global homeomorphism

  6. Computing the restricted Delaunay Q How to compute Del S ( P ) when S is unknown?

  7. Computing the restricted Delaunay Q How to compute Del S ( P ) when S is unknown? → a whole family of algorithms use various Delaunay extraction criteria: - crust - power crust - cocone - tight cocone - · · ·

  8. Crust algorithm [Amenta et al. 1997-98]

  9. 1. Compute Delaunay triangulation of P Crust algorithm [Amenta et al. 1997-98]

  10. 1. Compute Delaunay triangulation of P Crust algorithm [Amenta et al. 1997-98]

  11. 2. Compute poles (furthest Voronoi vertices) Crust algorithm [Amenta et al. 1997-98]

  12. 3. Add poles to the set of vertices Crust algorithm [Amenta et al. 1997-98]

  13. 3. Add poles to the set of vertices Crust algorithm [Amenta et al. 1997-98]

  14. 4. Keep Delaunay simplices whose vertices are in P Crust algorithm [Amenta et al. 1997-98]

  15. → in 2-d, crust = Del S ( P ) ≈ S Crust algorithm [Amenta et al. 1997-98]

  16. → in 2-d, crust = Del S ( P ) ≈ S Crust algorithm [Amenta et al. 1997-98]

  17. → in 2-d, crust = Del S ( P ) ≈ S Crust algorithm → in 3-d, crust ⊇ Del S ( P ) ≈ S [Amenta et al. 1997-98]

  18. → in 2-d, crust = Del S ( P ) ≈ S Crust algorithm → in 3-d, crust ⊇ Del S ( P ) ≈ S [Amenta et al. 1997-98] ⇒ manifold extraction step in post-processing

  19. Back to the reconstruction paradigm transition : voici l’etat de l’art il y a quelques annees. On savait reconstruire des courbes dans le plan et des surfaces dans R 3 lisses sans bruit avec garanties. Puis on a commence a s’interesser aux objets non lisses, non manifold, en toutes dimensions, avec du bruit. Et la, un probleme fondamental est apparu... Q What do you see? Why?

  20. Back to the reconstruction paradigm transition : voici l’etat de l’art il y a quelques annees. On savait reconstruire des courbes dans le plan et des surfaces dans R 3 lisses sans bruit avec garanties. Puis on a commence a s’interesser aux objets non lisses, non manifold, en toutes dimensions, avec du bruit. Et la, un probleme fondamental est apparu... Q What do you see? Why?

  21. Back to the reconstruction paradigm transition : voici l’etat de l’art il y a quelques annees. On savait reconstruire des courbes dans le plan et des surfaces dans R 3 lisses sans bruit avec garanties. Puis on a commence a s’interesser aux objets non lisses, non manifold, en toutes dimensions, avec du bruit. Et la, un probleme fondamental est apparu... → When the dimensionality of the data is unknown or there is noise, the reconstruction result depends on the scale at which the data is looked at. → need for multi-scale reconstruction techniques

  22. Multi-scale approach in a nutshell → build a one-parameter family of complexes approximating the input at various scales

  23. Multi-scale approach in a nutshell → build a one-parameter family of complexes approximating the input at various scales → connections with manifold learning and topological persistence

  24. Multi-scale algorithm [Guibas, Oudot 2007] Input: a finite point set W ⊂ R n → resample W iteratively, and maintain a simplicial complex: the simplicial complex serves as an approximation

  25. Multi-scale algorithm [Guibas, Oudot 2007] Input: a finite point set W ⊂ R n → resample W iteratively, and maintain a simplicial complex: the simplicial complex serves as an approximation Let L := { p } , for some p ∈ W ;

  26. Multi-scale algorithm [Guibas, Oudot 2007] Input: a finite point set W ⊂ R n → resample W iteratively, and maintain a simplicial complex: the simplicial complex serves as an approximation Let L := { p } , for some p ∈ W ; while L � W Let q := argmax w ∈ W d( w, L );

  27. Multi-scale algorithm [Guibas, Oudot 2007] Input: a finite point set W ⊂ R n → resample W iteratively, and maintain a simplicial complex: the simplicial complex serves as an approximation Let L := { p } , for some p ∈ W ; while L � W Let q := argmax w ∈ W d( w, L ); L := L ∪ { q } ; update simplicial complex; end while

  28. Multi-scale algorithm [Guibas, Oudot 2007] Input: a finite point set W ⊂ R n → resample W iteratively, and maintain a simplicial complex: the simplicial complex serves as an approximation Let L := { p } , for some p ∈ W ; while L � W Let q := argmax w ∈ W d( w, L ); L := L ∪ { q } ; update simplicial complex; end while

  29. Multi-scale algorithm [Guibas, Oudot 2007] Input: a finite point set W ⊂ R n → resample W iteratively, and maintain a simplicial complex: the simplicial complex serves as an approximation Let L := { p } , for some p ∈ W ; while L � W Let q := argmax w ∈ W d( w, L ); L := L ∪ { q } ; update simplicial complex; end while Output: the sequence of simplicial complexes

  30. The simplicial complex to maintain → maintain the witness complex C W ( L ) [de Silva 2003]: Here, X is any metric space Let L ⊆ R d (landmarks) s.t. | L | < + ∞ and W ⊆ R d (witnesses)

  31. The simplicial complex to maintain → maintain the witness complex C W ( L ) [de Silva 2003]: Here, X is any metric space Let L ⊆ R d (landmarks) s.t. | L | < + ∞ and W ⊆ R d (witnesses) Def. w ∈ W strongly witnesses [ v 0 , · · · , v k ] if � w − v i � = � w − v j � ≤ � w − u � for all i, j = 0 , · · · , k and all u ∈ L \ { v 0 , · · · , v k } (Delaunay test)

  32. The simplicial complex to maintain → maintain the witness complex C W ( L ) [de Silva 2003]: Here, X is any metric space Let L ⊆ R d (landmarks) s.t. | L | < + ∞ and W ⊆ R d (witnesses) Def. w ∈ W strongly witnesses [ v 0 , · · · , v k ] if � w − v i � = � w − v j � ≤ � w − u � for all i, j = 0 , · · · , k and all u ∈ L \ { v 0 , · · · , v k } (Delaunay test) Def. w ∈ W weakly witnesses [ v 0 , · · · , v k ] if � w − v i � ≤ � w − u � for all i = 0 , · · · , k and all u ∈ L \ { v 0 , · · · , v k } .

  33. The simplicial complex to maintain → maintain the witness complex C W ( L ) [de Silva 2003]: Here, X is any metric space Let L ⊆ R d (landmarks) s.t. | L | < + ∞ and W ⊆ R d (witnesses) Def. w ∈ W strongly witnesses [ v 0 , · · · , v k ] if � w − v i � = � w − v j � ≤ � w − u � for all i, j = 0 , · · · , k and all u ∈ L \ { v 0 , · · · , v k } (Delaunay test) Def. w ∈ W weakly witnesses [ v 0 , · · · , v k ] if � w − v i � ≤ � w − u � for all i = 0 , · · · , k and all u ∈ L \ { v 0 , · · · , v k } . C W ( L ) is the largest abstract simplicial complex built Def. over L , whose faces are weakly witnessed by points of W .

  34. The witness complex (properties) ∀ W, L , ∀ σ ∈ C W ( L ), ∃ c ∈ R d that strongly witnesses σ . Thm. 1 [de Silva 2003] ⇒ C W ( L ) is a subcomplex of Del( L ) ⇒ C W ( L ) is embedded in R d

  35. The witness complex (properties) ∀ W, L , ∀ σ ∈ C W ( L ), ∃ c ∈ R d that strongly witnesses σ . Thm. 1 [de Silva 2003] ⇒ C W ( L ) is a subcomplex of Del( L ) ⇒ C W ( L ) is embedded in R d Thm. 2 [de Silva, Carlsson 2004] - The size of C W ( L ) is O ( d | W | ) - The time to compute C W ( L ) is O ( d | W || L | ) every point of W witnesses exactly one simplex of each dimension

  36. The witness complex (properties) ∀ W, L , ∀ σ ∈ C W ( L ), ∃ c ∈ R d that strongly witnesses σ . Thm. 1 [de Silva 2003] ⇒ C W ( L ) is a subcomplex of Del( L ) ⇒ C W ( L ) is embedded in R d Thm. 2 [de Silva, Carlsson 2004] - The size of C W ( L ) is O ( d | W | ) - The time to compute C W ( L ) is O ( d | W || L | ) every point of W witnesses exactly one simplex of each dimension Thm. 3 [Guibas, Oudot 2007] [Attali, Edelsbrunner, Mileyko 2007] Under some conditions, C W ( L ) = Del S ( L ) ≈ S

  37. The witness complex (properties) → connection with reconstruction: • W ⊂ R d is given as input • L ⊆ W is generated • underlying manifold S unknown • only distance comparisons ⇒ algorithm is applicable in any metric space

  38. The witness complex (properties) → connection with reconstruction: • W ⊂ R d is given as input • L ⊆ W is generated • underlying manifold S unknown • only distance comparisons ⇒ algorithm is applicable in any metric space • In R d , C W ( L ) can be maintained by updating, for each witness w , the list of d + 1 nearest land- Argument: C W ( L ) ⊆ Del( L ), whose simplices have marks of w . dimension at most n ≤ O ( d | W | ) ⇒ space ≤ � d | W | 2 � time O

  39. The full algorithm Input: a finite point set W ⊂ R d .

  40. The full algorithm Input: a finite point set W ⊂ R d . Init: L := { p } ; construct lists of nearest landmarks; C W ( L ) = { [ p ] } ; Invariant: ∀ w ∈ W , the list of d + 1 nearest landmarks of w is maintained throughout the process.

  41. The full algorithm Input: a finite point set W ⊂ R d . Init: L := { p } ; construct lists of nearest landmarks; C W ( L ) = { [ p ] } ; Invariant: ∀ w ∈ W , the list of d + 1 nearest landmarks of w is maintained throughout the process. while L � W

  42. The full algorithm Input: a finite point set W ⊂ R d . Init: L := { p } ; construct lists of nearest landmarks; C W ( L ) = { [ p ] } ; Invariant: ∀ w ∈ W , the list of d + 1 nearest landmarks of w is maintained throughout the process. while L � W insert argmax w ∈ W d( w, L ) in L ; update the lists of nearest neighbors;

  43. The full algorithm Input: a finite point set W ⊂ R d . Init: L := { p } ; construct lists of nearest landmarks; C W ( L ) = { [ p ] } ; Invariant: ∀ w ∈ W , the list of d + 1 nearest landmarks of w is maintained throughout the process. while L � W insert argmax w ∈ W d( w, L ) in L ; update the lists of nearest neighbors; update C W ( L ); end while

  44. The full algorithm Input: a finite point set W ⊂ R d . Init: L := { p } ; construct lists of nearest landmarks; C W ( L ) = { [ p ] } ; Invariant: ∀ w ∈ W , the list of d + 1 nearest landmarks of w is maintained throughout the process. while L � W insert argmax w ∈ W d( w, L ) in L ; update the lists of nearest neighbors; update C W ( L ); end while

  45. The full algorithm Input: a finite point set W ⊂ R d . Init: L := { p } ; construct lists of nearest landmarks; C W ( L ) = { [ p ] } ; Invariant: ∀ w ∈ W , the list of d + 1 nearest landmarks of w is maintained throughout the process. while L � W insert argmax w ∈ W d( w, L ) in L ; update the lists of nearest neighbors; update C W ( L ); end while Output: the sequence of complexes C W ( L )

  46. Theoretical guarantees → case of curves: [Carlsson, de Silva 2004]: Conjecture C W ( L ) coincides with Del S ( L )...

  47. Theoretical guarantees → case of curves: [Carlsson, de Silva 2004]: Conjecture C W ( L ) coincides with Del S ( L )... ... under some conditions on W and L

  48. Theoretical guarantees → case of curves: If S is a closed curve with positive reach, W ⊂ R d s.t. d H ( W, S ) ≤ δ , Thm. 3 < ̺ S , then C W ( L ) = Del S ( L ) ≈ S . L ⊆ W ε -sparse ε -sample of W with δ < < ε < > ε

  49. Theoretical guarantees → case of curves: If S is a closed curve with positive reach, W ⊂ R d s.t. d H ( W, S ) ≤ δ , Thm. 3 < ̺ S , then C W ( L ) = Del S ( L ) ≈ S . L ⊆ W ε -sparse ε -sample of W with δ < < ε < ε l ε r β 0 β 1 > ε 2 1 0 1 / ̺ S 1 / ε r 1 / ε l 1 / δ 1 / ε → There is a plateau in the diagram of Betti numbers of C W ( L ) . talk about stabilization of topological invariants, e.g. Betti numbers (number of CCs and holes here)

  50. Theoretical guarantees → case of curves: If S is a closed curve with positive reach, W ⊂ R d s.t. d H ( W, S ) ≤ δ , Thm. 3 < ̺ S , then C W ( L ) = Del S ( L ) ≈ S . L ⊆ W ε -sparse ε -sample of W with δ < < ε < • Del S ( L ) ⊆ C W ( L ) > ε

  51. Theoretical guarantees → case of curves: If S is a closed curve with positive reach, W ⊂ R d s.t. d H ( W, S ) ≤ δ , Thm. 3 < ̺ S , then C W ( L ) = Del S ( L ) ≈ S . L ⊆ W ε -sparse ε -sample of W with δ < < ε < • Del S ( L ) ⊆ C W ( L ) > ε δ

  52. Theoretical guarantees → case of curves: If S is a closed curve with positive reach, W ⊂ R d s.t. d H ( W, S ) ≤ δ , Thm. 3 < ̺ S , then C W ( L ) = Del S ( L ) ≈ S . L ⊆ W ε -sparse ε -sample of W with δ < < ε < • Del S ( L ) ⊆ C W ( L ) > ε

  53. Theoretical guarantees → case of curves: If S is a closed curve with positive reach, W ⊂ R d s.t. d H ( W, S ) ≤ δ , Thm. 3 < ̺ S , then C W ( L ) = Del S ( L ) ≈ S . L ⊆ W ε -sparse ε -sample of W with δ < < ε < • Del S ( L ) ⊆ C W ( L ) > ε • C W ( L ) ⊆ Del S ( L )

  54. Theoretical guarantees → case of surfaces: Thm [Attali, Edelsbrunner, Mileyko] < ̺ S , then ∀ W ⊆ S , C W ( L ) ⊆ Del S ( L ). If ε < ⇒ C S ( L ) = Del S ( L ) ε = 0 . 2, ̺ S ≈ 0 . 25

  55. Theoretical guarantees → case of surfaces: Thm [Attali, Edelsbrunner, Mileyko] < ̺ S , then ∀ W ⊆ S , C W ( L ) ⊆ Del S ( L ). If ε < ⇒ C S ( L ) = Del S ( L ) Del S ( L ) � C W ( L ) if W � S Pb ε = 0 . 2, ̺ S ≈ 0 . 25

  56. Theoretical guarantees → case of surfaces: Thm [Attali, Edelsbrunner, Mileyko] < ̺ S , then ∀ W ⊆ S , C W ( L ) ⊆ Del S ( L ). If ε < ⇒ C S ( L ) = Del S ( L ) Del S ( L ) � C W ( L ) if W � S Pb ε = 0 . 2, ̺ S ≈ 0 . 25 order-2 Voronoi diagram

  57. Theoretical guarantees → case of surfaces: Thm [Attali, Edelsbrunner, Mileyko] < ̺ S , then ∀ W ⊆ S , C W ( L ) ⊆ Del S ( L ). If ε < ⇒ C S ( L ) = Del S ( L ) Del S ( L ) � C W ( L ) if W � S Pb ε = 0 . 2, ̺ S ≈ 0 . 25 order-2 Voronoi diagram

  58. Theoretical guarantees → case of surfaces: Thm [Attali, Edelsbrunner, Mileyko] < ̺ S , then ∀ W ⊆ S , C W ( L ) ⊆ Del S ( L ). If ε < ⇒ C S ( L ) = Del S ( L ) Del S ( L ) � C W ( L ) if W � S Pb Solution relax witness test [Guibas, Oudot] ⇒ C W ν ( L ) = Del S ( L )+ slivers ⇒ C W ν ( L ) � Del( L ) ⇒ C W ν ( L ) not embedded. extract manifold Post-process M from C W ν ( L ) ∩ Del( L ) [Amenta, Choi, Dey, Leekha]

  59. Some results

  60. Some results 1 2 3

Recommend


More recommend