using machine learning
play

Using machine learning Learning knot methods in geometric modeling - PowerPoint PPT Presentation

Machine learning in geometric modeling Georg Umlauf Using machine learning Learning knot methods in geometric modeling placement SVM knot placement for curves SVM knot placement for skinning Georg Umlauf Learning primitive


  1. Machine learning in geometric modeling Georg Umlauf Using machine learning Learning knot methods in geometric modeling placement SVM knot placement for curves SVM knot placement for skinning Georg Umlauf Learning primitive classification SVM primitive classification SAE feature engineering Institute for Optical Systems University of Applied Science Constance, Germany Joint work with Pascal Laube, Merlin Blume, Manuel Caputo, Matthias Franz Dagstuhl, 1 June 2017

  2. Machine learning Contents in geometric modeling Georg Umlauf ◮ Part 1: Learning knot placements for b-spline curve approximation and t-spline surface skinning Learning knot placement ◮ Using support vector machines (SVMs) to learn good SVM knot placement for knot vectors for spline curve/surface approximation. curves SVM knot placement for skinning ◮ Part 2: Learning surface primitive classification Learning primitive classification from point clouds SVM primitive classification SAE feature engineering ◮ Using SVMs to classify point clouds to geometric primitive classes. ◮ Using stacked auto-encoders (SAEs) to learn geometric features used for classification.

  3. Machine learning Part 1: Learning knot placements for b-spline in geometric modeling curve and t-spline surface approximation Georg Umlauf Problem definition Learning knot 2d-input Given a sequence of points p i for curve placement SVM knot placement for approximation. curves SVM knot placement for skinning 3d-input Given an array of sequences of points for surface Learning primitive skinning (lofting). classification SVM primitive classification Output: Good knot vector(s) for spline approximation. SAE feature engineering

  4. Machine learning Curve approximation in geometric modeling hide Georg Umlauf Curves: Compute the control points c j of a b-spline curve Learning knot placement � c j · N l C ( t ) = j ( t ) SVM knot placement for curves SVM knot placement for skinning of degree l minimizing Learning primitive classification � � p i − C ( t i ) � 2 . SVM primitive classification SAE feature engineering Skinning: Compute the control points c i , j of a t-spline surface � � c i , j · N k i , j ( u ) · N l S ( u , v ) = j ( v ) of degree ( k , l ) minimizing � � � p i , j − S ( u i , v j ) � 2 i , j has its own knot vector u ( j ) . where each N k

  5. Machine learning Approach in geometric modeling ◮ Design geometric point features for knot placement. Georg Umlauf ◮ Train a support vector machine (SVM) to learn the Learning knot placement quality of a candidate knot. SVM knot placement for ◮ For validation use approximation of test data. curves SVM knot placement for skinning ◮ Use the trained SVM to generate knot vectors for new Learning primitive approximation tasks. classification SVM primitive classification SAE feature engineering Training Test set manually designed generation Feature design automatic/trained SVM and extraction Knot Knot Point data selection vector Knot placement

  6. Machine learning Support vector machines (SVMs) (1) in geometric modeling 1. Map data points to feature vectors x i . Georg Umlauf ◮ For training label the data with correct class labels y i . Learning knot placement SVM knot placement for curves SVM knot placement for skinning Learning primitive classification SVM primitive classification SAE feature engineering

  7. Machine learning Support vector machines (SVMs) (1) in geometric modeling 1. Map data points to feature vectors x i . Georg Umlauf ◮ For training label the data with correct class labels y i . Learning knot 2. For a linear decision function sign ( ω t x + b ), maximize placement SVM knot placement for the margin between the classes by minimizing curves SVM knot placement for skinning ω t ω/ 2 y i ( ω t x i + b ) ≥ 1 . s.t. Learning primitive classification SVM primitive classification SAE feature engineering separating hyper-surface separating hyper-plane margin support vectors

  8. Machine learning Support vector machines (SVMs) (1) in geometric modeling 1. Map data points to feature vectors x i . Georg Umlauf ◮ For training label the data with correct class labels y i . Learning knot 2. For a linear decision function sign ( ω t x + b ), maximize placement SVM knot placement for the margin between the classes by minimizing curves SVM knot placement for skinning ω t ω/ 2 y i ( ω t x i + b ) ≥ 1 . s.t. Learning primitive classification 3. For noisy data add slack ξ i , i.e. minimize SVM primitive classification SAE feature engineering � ω t ω/ 2 + C y i ( ω t x i + b ) ≥ 1 − ξ i . ξ i s.t. separating hyper-surface separating hyper-plane slack margin support vectors

  9. Machine learning Support vector machines (SVMs) (2) in geometric modeling 4. For non-linearly-separable data, replace the scalar pro- Georg Umlauf duct with a kernel K ( · , · ), i.e. use the decision function Learning knot placement �� � α i y i K ( x i , x ) + b . sign SVM knot placement for curves SVM knot placement for � �� � skinning score Learning primitive classification ◮ This is solved using Lagrange multipliers and dualization with ω = � α i y i x i . SVM primitive classification SAE feature engineering separating hyper-surface slack margin support vectors

  10. Machine learning Support vector machines (SVMs) (2) in geometric modeling 4. For non-linearly-separable data, replace the scalar pro- Georg Umlauf duct with a kernel K ( · , · ), i.e. use the decision function Learning knot placement �� � α i y i K ( x i , x ) + b . sign SVM knot placement for curves SVM knot placement for � �� � skinning score Learning primitive classification ◮ This is solved using Lagrange multipliers and dualization with ω = � α i y i x i . SVM primitive classification SAE feature engineering 5. The score measures the signed distance to the separating hyper-surface. separating hyper-surface slack margin score support vectors

  11. Machine learning Geometric features for curve knot placement (1) in geometric modeling What are good geometric features for knot placement? Georg Umlauf See e.g. [Park/Lee2007; Piegl/Tiller2000+2012; Razdan; Yuan/Chen/Zhou2013; etc.]. Learning knot placement ◮ Point distances. SVM knot placement for curves ◮ Features derived from discrete curvature estimates κ i . SVM knot placement for skinning ◮ Local curvature maxima (LCM) are points p i with Learning primitive classification SVM primitive classification κ i > max ( κ i − 1 , κ i + 1 ) and κ i ≥ κ average . SAE feature engineering ◮ Features derived from the LCM ◮ Angles to closest LCM. ◮ Euclidean, arc-length, or parametric point distances to the closest LCM. Training Test set manually designed generation Feature design automatic/trained SVM and extraction Knot Knot Point data selection vector Knot placement

  12. Machine learning Geometric features for curve knot placement (2) in geometric modeling Subsequent knot selection Georg Umlauf ◮ Use salient features as knots and, in regions without Learning knot placement salient features, sample uniformly, SVM knot placement for curves ◮ ... or use averages of uniform parameter averages... SVM knot placement for skinning Learning primitive classification SVM primitive classification SAE feature engineering Training Test set manually designed generation Feature design automatic/trained SVM and extraction Knot Knot Point data selection vector Knot placement

  13. Machine learning Score-based knot placement in geometric modeling How well do points with salient geometric features Georg Umlauf perform for approximation? Learning knot placement ◮ Score maxima of a trained SVM. SVM knot placement for ◮ Choose peaks by prominence: Highest value you have to curves SVM knot placement for skinning at least descend to to reach a higher peak. Learning primitive classification SVM primitive classification SAE feature engineering Training Test set manually designed generation Feature design automatic/trained SVM and extraction Knot Knot Point data selection vector Knot placement

  14. Machine learning Score-based knot placement in geometric modeling How well do points with salient geometric features Georg Umlauf perform for approximation? Learning knot placement ◮ Score maxima of a trained SVM. SVM knot placement for ◮ Choose peaks by prominence: Highest value you have to curves SVM knot placement for skinning at least descend to to reach a higher peak. Learning primitive classification SVM primitive classification SAE feature engineering Subsequent knot selection ◮ For knot insertion, find closest score peak to mid-point of knot segment with maximum score-sum. ◮ In regions without score peaks, sample score-weighted. Training Test set manually designed generation Feature design automatic/trained SVM and extraction Knot Knot Point data selection vector Knot placement

  15. Machine learning Results for SVM curves knot placement in geometric modeling Georg Umlauf ◮ Score from high score (red) to low score (blue) Learning knot placement SVM knot placement for curves SVM knot placement for skinning Learning primitive classification SVM primitive classification SAE feature engineering

Recommend


More recommend