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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend