Recovering Primitives in 3D CAD meshes Roseline B eni` ere G. - - PowerPoint PPT Presentation

recovering primitives in 3d cad meshes
SMART_READER_LITE
LIVE PREVIEW

Recovering Primitives in 3D CAD meshes Roseline B eni` ere G. - - PowerPoint PPT Presentation

Introduction Primitives Extraction Problems Conclusion Recovering Primitives in 3D CAD meshes Roseline B eni` ere G. Subsol, G. Gesqui` ere, F . Le Breton and W. Puech LIRMM, Montpellier, France C4W, Montpellier, France LSIS, Arles,


slide-1
SLIDE 1

Introduction Primitives Extraction Problems Conclusion

Recovering Primitives in 3D CAD meshes

Roseline B´ eni` ere

  • G. Subsol, G. Gesqui`

ere, F . Le Breton and W. Puech

LIRMM, Montpellier, France C4W, Montpellier, France LSIS, Arles, France

14 octobre 2010 R´ eunion ICAR

Recovering Primitives in 3D CAD / R.B´ eni` ere 1/17

slide-2
SLIDE 2

Introduction Primitives Extraction Problems Conclusion

Objective

In CAD an object is usually modeled by a structured combination of primitives

Recovering Primitives in 3D CAD / R.B´ eni` ere 2/17

slide-3
SLIDE 3

Introduction Primitives Extraction Problems Conclusion

Objective

In CAD an object is usually modeled by a structured combination of primitives But to use, we often need to discretized it into a 3D mesh

Recovering Primitives in 3D CAD / R.B´ eni` ere 2/17

slide-4
SLIDE 4

Introduction Primitives Extraction Problems Conclusion

Objective

In CAD an object is usually modeled by a structured combination of primitives But to use, we often need to discretized it into a 3D mesh And the initial model can be lost or not correspond anymore

Recovering Primitives in 3D CAD / R.B´ eni` ere 2/17

slide-5
SLIDE 5

Introduction Primitives Extraction Problems Conclusion

Objective

In CAD an object is usually modeled by a structured combination of primitives But to use, we often need to discretized it into a 3D mesh And the initial model can be lost or not correspond anymore So a primitive extraction algorithm is needed to reconstruct the initial representation

Recovering Primitives in 3D CAD / R.B´ eni` ere 2/17

slide-6
SLIDE 6

Introduction Primitives Extraction Problems Conclusion

Previews

Benk˜

  • et al.

Algorithms for reverse engineering boundary representation models Computer-Aided Design 33(11) : 839-851 2001 Bohm et al. Curvature based range image classification for object PROC SPIE INT SOC OPT ENG 4197 : 211-220 2000

Recovering Primitives in 3D CAD / R.B´ eni` ere 3/17

slide-7
SLIDE 7

Introduction Primitives Extraction Problems Conclusion

Previews

Benk˜

  • et al.

Algorithms for reverse engineering boundary representation models Computer-Aided Design 33(11) : 839-851 2001 Bohm et al. Curvature based range image classification for object PROC SPIE INT SOC OPT ENG 4197 : 211-220 2000 Same Process :

Recovering Primitives in 3D CAD / R.B´ eni` ere 3/17

slide-8
SLIDE 8

Introduction Primitives Extraction Problems Conclusion

Previews

Benk˜

  • et al.

Algorithms for reverse engineering boundary representation models Computer-Aided Design 33(11) : 839-851 2001 Bohm et al. Curvature based range image classification for object PROC SPIE INT SOC OPT ENG 4197 : 211-220 2000 Same Process :

1

Segmentation

Recovering Primitives in 3D CAD / R.B´ eni` ere 3/17

slide-9
SLIDE 9

Introduction Primitives Extraction Problems Conclusion

Previews

Benk˜

  • et al.

Algorithms for reverse engineering boundary representation models Computer-Aided Design 33(11) : 839-851 2001 Bohm et al. Curvature based range image classification for object PROC SPIE INT SOC OPT ENG 4197 : 211-220 2000 Same Process :

1

Segmentation

2

Classification

Recovering Primitives in 3D CAD / R.B´ eni` ere 3/17

slide-10
SLIDE 10

Introduction Primitives Extraction Problems Conclusion

Previews

Benk˜

  • et al.

Algorithms for reverse engineering boundary representation models Computer-Aided Design 33(11) : 839-851 2001 Bohm et al. Curvature based range image classification for object PROC SPIE INT SOC OPT ENG 4197 : 211-220 2000 Same Process :

1

Segmentation

2

Classification

3

Fitting

Recovering Primitives in 3D CAD / R.B´ eni` ere 3/17

slide-11
SLIDE 11

Introduction Primitives Extraction Problems Conclusion

Curvature 2D and 3D

Curvature 2D :

N P C R

Recovering Primitives in 3D CAD / R.B´ eni` ere 4/17

slide-12
SLIDE 12

Introduction Primitives Extraction Problems Conclusion

Curvature 2D and 3D

Curvature 2D :

N P C R

⇒ Kp = 1

R

Recovering Primitives in 3D CAD / R.B´ eni` ere 4/17

slide-13
SLIDE 13

Introduction Primitives Extraction Problems Conclusion

Curvature 2D and 3D

Curvature 2D :

N P C R

⇒ Kp = 1

R

Curvature 3D :

N S P C PL

Dirmin Dirmax

Recovering Primitives in 3D CAD / R.B´ eni` ere 4/17

slide-14
SLIDE 14

Introduction Primitives Extraction Problems Conclusion

Curvature 2D and 3D

Curvature 2D :

N P C R

⇒ Kp = 1

R

Curvature 3D :

N S P C PL

Dirmin Dirmax

2 Principal Curvatures (kmax et kmin) 2 Principal Directions (Dirmax et Dirmin) Normal

Recovering Primitives in 3D CAD / R.B´ eni` ere 4/17

slide-15
SLIDE 15

Introduction Primitives Extraction Problems Conclusion

Primitive curvature features

The points contained in Plane, Sphere, Cone or Cylinder have specific features on curvature :

Recovering Primitives in 3D CAD / R.B´ eni` ere 5/17

slide-16
SLIDE 16

Introduction Primitives Extraction Problems Conclusion

Primitive curvature features

The points contained in Plane, Sphere, Cone or Cylinder have specific features on curvature : Plane ⇒ kmax = kmin = 0

P2 P1 Recovering Primitives in 3D CAD / R.B´ eni` ere 5/17

slide-17
SLIDE 17

Introduction Primitives Extraction Problems Conclusion

Primitive curvature features

The points contained in Plane, Sphere, Cone or Cylinder have specific features on curvature : Plane ⇒ kmax = kmin = 0

P2 P1

Sphere ⇒ kmax = kmin =

1

rSp = 0

P2 P1

Recovering Primitives in 3D CAD / R.B´ eni` ere 5/17

slide-18
SLIDE 18

Introduction Primitives Extraction Problems Conclusion

Primitive curvature features

The points contained in Plane, Sphere, Cone or Cylinder have specific features on curvature : Plane ⇒ kmax = kmin = 0

P2 P1

Sphere ⇒ kmax = kmin =

1

rSp = 0

P2 P1

Cylinder ⇒ kmin = 0 et kmax =

1

rCy

P1 P2

Dirmin = Generating line

Recovering Primitives in 3D CAD / R.B´ eni` ere 5/17

slide-19
SLIDE 19

Introduction Primitives Extraction Problems Conclusion

Primitive curvature features

The points contained in Plane, Sphere, Cone or Cylinder have specific features on curvature : Plane ⇒ kmax = kmin = 0

P2 P1

Sphere ⇒ kmax = kmin =

1

rSp = 0

P2 P1

Cylinder ⇒ kmin = 0 et kmax =

1

rCy

P1 P2

Dirmin = Generating line Cone ⇒ idem Cylinder but with a variable radius

Recovering Primitives in 3D CAD / R.B´ eni` ere 5/17

slide-20
SLIDE 20

Introduction Primitives Extraction Problems Conclusion

Discrete Curvature

In a mesh, we compute a discrete curvature for each point.

Recovering Primitives in 3D CAD / R.B´ eni` ere 6/17

slide-21
SLIDE 21

Introduction Primitives Extraction Problems Conclusion

Discrete Curvature

In a mesh, we compute a discrete curvature for each point. We use the Euler formula kn = kmax cos2(θ) + kmin sin2(θ) With θ the angle between n and Dirmax. The neighbors are studied to approximate kmax, kmin and θ.

Recovering Primitives in 3D CAD / R.B´ eni` ere 6/17

slide-22
SLIDE 22

Introduction Primitives Extraction Problems Conclusion

Discrete Curvature

In a mesh, we compute a discrete curvature for each point. We use the Euler formula kn = kmax cos2(θ) + kmin sin2(θ) With θ the angle between n and Dirmax. The neighbors are studied to approximate kmax, kmin and θ. To determine the point which will be used, we fix a k-neighborhood.

Recovering Primitives in 3D CAD / R.B´ eni` ere 6/17

slide-23
SLIDE 23

Introduction Primitives Extraction Problems Conclusion

Discrete Curvature

In a mesh, we compute a discrete curvature for each point. We use the Euler formula kn = kmax cos2(θ) + kmin sin2(θ) With θ the angle between n and Dirmax. The neighbors are studied to approximate kmax, kmin and θ. To determine the point which will be used, we fix a k-neighborhood. Concave Point Convex Point Saddle Point Plane Point Spheric Point

Recovering Primitives in 3D CAD / R.B´ eni` ere 6/17

slide-24
SLIDE 24

Introduction Primitives Extraction Problems Conclusion

Planes Extraction

From Curvatures

Recovering Primitives in 3D CAD / R.B´ eni` ere 7/17

slide-25
SLIDE 25

Introduction Primitives Extraction Problems Conclusion

Planes Extraction

From Curvatures Group all adjacent points with kmax = kmin = 0

Recovering Primitives in 3D CAD / R.B´ eni` ere 7/17

slide-26
SLIDE 26

Introduction Primitives Extraction Problems Conclusion

Planes Extraction

From Curvatures Group all adjacent points with kmax = kmin = 0

Recovering Primitives in 3D CAD / R.B´ eni` ere 7/17

slide-27
SLIDE 27

Introduction Primitives Extraction Problems Conclusion

Planes Extraction

From Curvatures Group all adjacent points with kmax = kmin = 0 Equation Coefficients : ax + by + cz + d = 0 are approximated by a least square regression

Recovering Primitives in 3D CAD / R.B´ eni` ere 7/17

slide-28
SLIDE 28

Introduction Primitives Extraction Problems Conclusion

Planes Extraction

From Curvatures Group all adjacent points with kmax = kmin = 0 Equation Coefficients : ax + by + cz + d = 0 are approximated by a least square regression

Recovering Primitives in 3D CAD / R.B´ eni` ere 7/17

slide-29
SLIDE 29

Introduction Primitives Extraction Problems Conclusion

Spheres Extraction

From Curvatures

Recovering Primitives in 3D CAD / R.B´ eni` ere 8/17

slide-30
SLIDE 30

Introduction Primitives Extraction Problems Conclusion

Spheres Extraction

From Curvatures Group all adjacent points with kmax = kmin ≈ K

Recovering Primitives in 3D CAD / R.B´ eni` ere 8/17

slide-31
SLIDE 31

Introduction Primitives Extraction Problems Conclusion

Spheres Extraction

From Curvatures Group all adjacent points with kmax = kmin ≈ K

Recovering Primitives in 3D CAD / R.B´ eni` ere 8/17

slide-32
SLIDE 32

Introduction Primitives Extraction Problems Conclusion

Spheres Extraction

From Curvatures Group all adjacent points with kmax = kmin ≈ K The radius and the center are approximated by a least square method ⇒ The average of the curvature inverse is used to validate it

Recovering Primitives in 3D CAD / R.B´ eni` ere 8/17

slide-33
SLIDE 33

Introduction Primitives Extraction Problems Conclusion

Spheres Extraction

From Curvatures Group all adjacent points with kmax = kmin ≈ K The radius and the center are approximated by a least square method ⇒ The average of the curvature inverse is used to validate it

Recovering Primitives in 3D CAD / R.B´ eni` ere 8/17

slide-34
SLIDE 34

Introduction Primitives Extraction Problems Conclusion

Cones/Cylinders Extraction

Features of Cones and Cylinders :

P P r r S Principale Directions Principale Curvatures Axis 1 Axis 2 Axis 1 Axis 2 P 1 / r P 1 / r

α

Recovering Primitives in 3D CAD / R.B´ eni` ere 9/17

slide-35
SLIDE 35

Introduction Primitives Extraction Problems Conclusion

Cones/Cylinders Extraction

Features of Cones and Cylinders :

P P r r S Principale Directions Principale Curvatures Axis 1 Axis 2 Axis 1 Axis 2 P 1 / r P 1 / r

α

Criterion of belonging to a same cone : If P1 et P2 ∈ same cone ⇒ α1 = α2

P2 1/Cur2 1/Cur1 P1 P’2 P’1 Dir0_1 Dir0_2 n2 n1

α1 α2

Recovering Primitives in 3D CAD / R.B´ eni` ere 9/17

slide-36
SLIDE 36

Introduction Primitives Extraction Problems Conclusion

Cones/Cylinders Extraction

From Curvatures

Recovering Primitives in 3D CAD / R.B´ eni` ere 10/17

slide-37
SLIDE 37

Introduction Primitives Extraction Problems Conclusion

Cones/Cylinders Extraction

From Curvatures Group adjacent points by the criterion of belonging

Recovering Primitives in 3D CAD / R.B´ eni` ere 10/17

slide-38
SLIDE 38

Introduction Primitives Extraction Problems Conclusion

Cones/Cylinders Extraction

From Curvatures Group adjacent points by the criterion of belonging

Recovering Primitives in 3D CAD / R.B´ eni` ere 10/17

slide-39
SLIDE 39

Introduction Primitives Extraction Problems Conclusion

Cones/Cylinders Extraction

From Curvatures Group adjacent points by the criterion of belonging For each point : pointAxisTheo = point + normal ∗ radius ⇒ Rotation Axis ⇒ α angle between Axis and Dir=0

α = π ⇒ Cylinder : Average curvature ⇒ Radius α = π ⇒ Cone : Intersection between each plane created by the two principal directions of one point ⇒ Vertex

Recovering Primitives in 3D CAD / R.B´ eni` ere 10/17

slide-40
SLIDE 40

Introduction Primitives Extraction Problems Conclusion

Cones/Cylinders Extraction

From Curvatures Group adjacent points by the criterion of belonging For each point : pointAxisTheo = point + normal ∗ radius ⇒ Rotation Axis ⇒ α angle between Axis and Dir=0

α = π ⇒ Cylinder : Average curvature ⇒ Radius α = π ⇒ Cone : Intersection between each plane created by the two principal directions of one point ⇒ Vertex

Recovering Primitives in 3D CAD / R.B´ eni` ere 10/17

slide-41
SLIDE 41

Introduction Primitives Extraction Problems Conclusion

Results

Recovering Primitives in 3D CAD / R.B´ eni` ere 11/17

slide-42
SLIDE 42

Introduction Primitives Extraction Problems Conclusion

Results

http ://shapes.aimatshape.net

Recovering Primitives in 3D CAD / R.B´ eni` ere 12/17

slide-43
SLIDE 43

Introduction Primitives Extraction Problems Conclusion

Sparse Mesh

The mesh can not have many point

Recovering Primitives in 3D CAD / R.B´ eni` ere 13/17

slide-44
SLIDE 44

Introduction Primitives Extraction Problems Conclusion

Sparse Mesh

The mesh can not have many point

⇒ The curvature computation is not correct

Recovering Primitives in 3D CAD / R.B´ eni` ere 13/17

slide-45
SLIDE 45

Introduction Primitives Extraction Problems Conclusion

Sparse Mesh

The mesh can not have many point

⇒ The curvature computation is not correct ⇒ The primitive extraction is disturbed

Recovering Primitives in 3D CAD / R.B´ eni` ere 13/17

slide-46
SLIDE 46

Introduction Primitives Extraction Problems Conclusion

Sparse Mesh ⇒ Segmentation

A solution can be to segment the mesh (by the dihedral angle for example)

Recovering Primitives in 3D CAD / R.B´ eni` ere 14/17

slide-47
SLIDE 47

Introduction Primitives Extraction Problems Conclusion

Sparse Mesh ⇒ Segmentation

A solution can be to segment the mesh (by the dihedral angle for example)

⇒ The curvature computation is better

Recovering Primitives in 3D CAD / R.B´ eni` ere 14/17

slide-48
SLIDE 48

Introduction Primitives Extraction Problems Conclusion

Sparse Mesh ⇒ Segmentation

A solution can be to segment the mesh (by the dihedral angle for example)

⇒ The curvature computation is better ⇒ The primitive extraction is improved

Recovering Primitives in 3D CAD / R.B´ eni` ere 14/17

slide-49
SLIDE 49

Introduction Primitives Extraction Problems Conclusion

Noisy Mesh

The mesh can not have many point

Recovering Primitives in 3D CAD / R.B´ eni` ere 15/17

slide-50
SLIDE 50

Introduction Primitives Extraction Problems Conclusion

Noisy Mesh

The mesh can not have many point

⇒ The curvature computation is not correct

Recovering Primitives in 3D CAD / R.B´ eni` ere 15/17

slide-51
SLIDE 51

Introduction Primitives Extraction Problems Conclusion

Noisy Mesh

The mesh can not have many point

⇒ The curvature computation is not correct ⇒ The primitive extraction is disturbed

Recovering Primitives in 3D CAD / R.B´ eni` ere 15/17

slide-52
SLIDE 52

Introduction Primitives Extraction Problems Conclusion

Conclusion and Future Work

Our method take a Mesh

Recovering Primitives in 3D CAD / R.B´ eni` ere 16/17

slide-53
SLIDE 53

Introduction Primitives Extraction Problems Conclusion

Conclusion and Future Work

Our method take a Mesh⇒ extract primitives.

Recovering Primitives in 3D CAD / R.B´ eni` ere 16/17

slide-54
SLIDE 54

Introduction Primitives Extraction Problems Conclusion

Conclusion and Future Work

Our method take a Mesh⇒ extract primitives. Future Work Cut and Fuse Primitives to reconstruct the continue representation

Recovering Primitives in 3D CAD / R.B´ eni` ere 16/17

slide-55
SLIDE 55

Introduction Primitives Extraction Problems Conclusion

Conclusion and Future Work

Our method take a Mesh⇒ extract primitives. Future Work Cut and Fuse Primitives to reconstruct the continue representation Add a Segmentation step to the method

Recovering Primitives in 3D CAD / R.B´ eni` ere 16/17

slide-56
SLIDE 56

Introduction Primitives Extraction Problems Conclusion

Conclusion and Future Work

Our method take a Mesh⇒ extract primitives. Future Work Cut and Fuse Primitives to reconstruct the continue representation Add a Segmentation step to the method Deal with noisy mesh

Recovering Primitives in 3D CAD / R.B´ eni` ere 16/17

slide-57
SLIDE 57

Introduction Primitives Extraction Problems Conclusion

Thanks for your attention QUESTIONS ?

Site : www.lirmm.fr/˜beniere Mail : roseline.beniere@lirmm.fr C4W site : www.c4w.com

Roseline B´ eni` ere, G. Subsol, G. Gesqui` ere, F. Le Breton and W. Puech, Recovering Primitives in 3D CAD meshes, SPIE, San Francisco, 2011

Recovering Primitives in 3D CAD / R.B´ eni` ere 17/17