430 likes | 729 Views
Learning 3D mesh segmentation and labeling. Presented by Ayrat Mutygullin 23 May 2017. Evangelos Kalogerakis Aaron Hertzmann Karan Singh. Goal: mesh segmentation and labeling. Labeled Mesh. Input Mesh. Head. Neck. Torso. Leg. Tail. Ear. Training Meshes. 2.
E N D
Learning 3D mesh segmentation and labeling Presented by Ayrat Mutygullin 23 May 2017 Evangelos Kalogerakis Aaron Hertzmann Karan Singh
Goal: mesh segmentation and labeling Labeled Mesh Input Mesh Head Neck Torso Leg Tail Ear Training Meshes 2
Related work: mesh segmentation [Mangan and Whitaker 1999, Shlafman et al. 2002, Katz and Tal 2003, Liu and Zhang 2004, Katz et al. 2005, Simari et al. 2006, Attene et al. 2006, Lin et al. 2007, Kraevoy et al. 2007, Pekelny and Gotsman 2008, Golovinskiy and Funkhouser 2008, Li et al. 2008, Lai et al. 2008, Lavoue and Wolf 2008, Huang et al. 2009, Shapira et al. 2010] Surveys: [Attene et al. 2006, Shamir 2008, Chen et al. 2009] 3
Related work: mesh segmentation Shape Diameter [Shapira et al. 10] Randomized Cuts [Golovinskiy and Funkhouser 08] Normalized Cuts [Golovinskiy and Funkhouser 08] Random Walks [Lai et al. 08] 4
Is it possible to perform human level segmentation? [X. Chen et al. SIGGRAPH 09] 5
Is it possible to perform human level segmentation? [X. Chen et al. SIGGRAPH 09] 6
Related work: computer vision for segmentation and labeling Textonboost [Shotton et al. ECCV 06] 7
Related work: mesh segmentation & labeling Consistent segmentation of 3D meshes [Golovinskiy and Funkhouser 09] Multi-objective segmentation and labeling [Simari et al. 09] 8
Learning mesh segmentation and labeling Learn from examples Significantly better results than state-of-the-art No manual parameter tuning Can learn different styles of segmentation Several applications of part labeling 9
Labeling problem statement Head c2 Neck c3 c1 Torso Leg c4 Tail Ear C= { head,neck,torso,leg,tail,ear} 10
Conditional Random Field for Labeling Head Neck Torso Leg Tail Ear Labeled Mesh Input Mesh Unary term 11
Conditional Random Field for Labeling Head Neck Torso Leg Tail Ear Labeled Mesh Input Mesh Face features
Conditional Random Field for Labeling Head Neck Torso Leg Tail Ear Labeled Mesh Input Mesh Face Area
Conditional Random Field for Labeling Head Neck Torso Leg Tail Ear Labeled Mesh Input Mesh Pairwise Term
Conditional Random Field for Labeling Head Neck Torso Leg Tail Ear Labeled Mesh Input Mesh Edge Features
Conditional Random Field for Labeling Head Neck Torso Leg Tail Ear Labeled Mesh Input Mesh Edge Length
Conditional Random Field for Labeling Head Neck Torso Leg Tail Ear Labeled Mesh Input Mesh Unary term
Feature vector surface curvature singular values from PCA shape diameter distances from medial surface average geodesic distances shape contexts spin images contextual label features x 18
Learning a classifier Head x2 Neck Torso Leg Tail Ear x1 19
Learning a classifier We use the Jointboost classifier [Torralba et al. 2007] Head x2 Neck Torso ? Leg Tail Ear x1
Unary term 21
Unary Term Most-likely labels Classifier entropy 22
Our approach Head Neck Torso Leg Tail Ear Labeled Mesh Input Mesh Pairwise Term 23
Pairwise Term Geometry-dependent term 24
Pairwise Term Label compatibility term Head Neck Ear Torso Leg Tail Head Neck Ear Torso Leg Tail 25
Full CRF result Head Neck Torso Leg Tail Unary term classifier Full CRF result Ear 26
Dataset used in experiments We label 380 meshes from the Princeton Segmentation Benchmark Each of the 19 categories is treated separately [Chen et al. 2009] Antenna Head Thorax Leg Abdomen 27
Quantitative Evaluation Labeling • 6% error by surface area • No previous automatic method Segmentation • Our result: 9.5% Rand Index error • State-of-the art: 16%[Golovinskiy and Funkhouser 08] • With 6 training meshes: 12% • With 3 training meshes: 15% 28
Segmentation Comparisons Shape Diameter [Shapira et al. 10] Randomized Cuts [Golovinskiy and Funkhouser 08] Our approach 30
Segmentation Comparisons Shape Diameter [Shapira et al. 10] Randomized Cuts [Golovinskiy and Funkhouser 08] Our approach 31
Learning different segmentation styles Head Neck Torso Leg Tail Ear Training Meshes Test Meshes Head Front Torso Middle Torso Back Torso Front Leg Back Leg Tail 32
Generalization to different categories Head Wing Body Tail Head Neck Torso Leg 33
Failure cases Face Hair Torso Handle Neck Leg Nose Cup 34
Limitations Adjacent segments with the same label are merged Head Torso Upper arm Lower arm Hand Upper leg Lower leg Foot 35
Limitations Results depend on having sufficient training data Handle Cup Top Spout 19 training meshes 3 training meshes 36
Limitations Many features are sensitive to topology Head Torso Upper arm Lower arm Hand Upper leg Lower leg Foot 37
Thank you! 38
Question 1 • Density of meshes. Did you have to remesh? - No, they used just Benchmark meshes, And i think they are very nice and easy to use without remeshing.
Question 2 • - If you would work with scanned meshes or something, you have to worry about density of samplings of this meshes, right? • - Ok, so for that reason we use multy-scaled features, so essentially we compute for example curvature in relative size of object, so during the feature selection that Joinboost does, the scale of this object would be also automatically selected to use this mapping, so its adapted for different density meshes. But for point clouds and some complex architecture models, we have to explore more features I guess.
Question 3 Slide 18. - Some of this descriptors have already been used for segmentation individually? - In our case we put all this features in a big feature vector and we do this because different such a features might be relevant for different parts and different segmentation styles.
Question 4 • What is the ω and μ in pairwise term ? - This classifier helps detect boundaries better than using only dihe- dral angles. The second term penalizes boundaries between faces with high exterior dihedral angle ω . The μ term penalizes boundary length and is helpful for preventing jaggy boundaries and for removing small, isolated segments. A small constant ε is added to avoid computing log 0.
Question 5 • What do JointBoost classifier? • JointBoost is a boosting algo- rithm that has many appealing properties: it performs automatic feature selection and can handle large numbers of input features for multiclass classification, it has a fast sequential learning algorithm, and it produces output probabilities suitable for com- bination with other terms in the CRF model. JointBoost is designed to share features among classes, which greatly reduces generalization error for multiclass recognition when classes overlap in feature space.