example-based skeleton...

59
Scott Schaefer Can Yuksel Example-Based Skeleton Extraction

Upload: others

Post on 17-Oct-2019

36 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Scott Schaefer Can Yuksel

Example-Based Skeleton Extraction

Page 2: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Example-Based Deformation

Examples

Page 3: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Previous Work

Mesh-based Inverse Kinematics [Sumner et al. 2005], [Der et al. 2006]

Example-based deformation methodNon-linear minimizationNot real-time

Image taken from [Sumner et al. 2005]

Page 4: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Objective

Determine parameters for skeletal animation from set of examples

Bone transformationsVertex weightsBone connectivityJoint locationsRoot node

Examples

Page 5: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Previous Work

Skeleton from shape decomposition[Katz, Tal 2003][de Aguilar et al. 2004][Theobalt et al. 2004][Katz et al. 2005][Lien et al. 2006]

Image taken from [Lien et al. 2006]

Page 6: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Previous Work

Skeleton from shape decomposition[Katz, Tal 2003][de Aguilar et al. 2004][Theobalt et al. 2004][Katz et al. 2005][Lien et al. 2006]

Image taken from [Lien et al. 2006]

Page 7: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Previous Work

Example-based skinning[Wang et al. 2002][Mohr, Gleicher 2003]

Image taken from [Wang et al. 2002]

Page 8: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Previous Work

Skinning Mesh Animations [James, Twigg2005]

Robust face clustering for bone estimationNon-negative least squares for weightsCompresses animations for display on GPUNo connectivity/hierarchy/joint positions

Image taken from [James, Twigg 2005]

Page 9: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Previous Work

Skeletons from real world data[Kurihara, Miyata 2004][Anguelov et al. 2004][Kirk et al. 2005]

Image taken from [Kirk et al. 2005] Image taken from [Kurihara, Miyata 2004]

Page 10: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Outline

Bone estimationSkinningFinding bone connectivityEstimating joint locations

Page 11: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Outline

Bone estimationSkinningFinding bone connectivityEstimating joint locations

Page 12: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Outline

Bone estimationSkinningFinding bone connectivityEstimating joint locations

Page 13: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Outline

Bone estimationSkinningFinding bone connectivityEstimating joint locations

Page 14: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Outline

Bone estimationSkinningFinding bone connectivityEstimating joint locations

Page 15: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Bone Estimation

Cluster faces that transform in the same rigid manner

Page 16: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Rigid Error Functions

∑∫ −+= i t

kii

TIRRdttpTtRp

T

20

,)()(min

TtRpi +)(0

Page 17: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Rigid Error Functions

TtRpi +)(0

0pRpT k −= ∑∫

∑∫=

i t

i t

ki

dt

dttpkp

)(

where

Page 18: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Rigid Error Functions

TtRpi +)(0

ki

ki

ki

t

Tkii ptptpdttptpM −=∫= )()(ˆwhere)(ˆ)(ˆ 0

Page 19: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Rigid Error Functions

TtRpi +)(0

IRRSSRSM TT === andwhere[Shoemake et al. 1992], [Alexa et al. 2000], [Müller et al. 2005]

Page 20: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Rigid Error Functions

Eigen decomposition of 4x4 matrix [Horn 1987]

TtRpi +)(0

Page 21: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Rigid Error Functions

Compact representation (17 floats)

TtRpi +)(0

Page 22: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Skin Weights

Weight properties:Match the motion of the example posesTranslation invariantFour or less bone weights per vertexPositive weights

∑ +=i

iii TpRp )(ˆ α

Page 23: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Skin Weights

Page 24: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Skin Weights

Page 25: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Skin Weights

Page 26: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Skin Weight Validation

Page 27: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Bone Connectivity

Vertex weights indicate information about bone connectivity!!!

5.

4. 1.

Page 28: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Bone Connectivity

Vertex weights indicate information about bone connectivity!!!

5.

4. 1.

STRONG!!!

Page 29: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Bone Connectivity

Vertex weights indicate information about bone connectivity!!!

5.

4. 1.

weak…

Page 30: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Bone Connectivity

Extract maximal spanning tree to determine connectivityFor each vertex

For each bone weightLet be the maximum weightAdd weight to edge between (max, j)

maxj,maxα

Page 31: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Joint Locations

Page 32: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Joint Locations

Joint has same position with respect to both bone transformations

Page 33: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Joint Locations

Many joints act as hinges and bend along an axisYields infinite number of solutions to minimization!!!

Page 34: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Joint Locations

Vertex weights indicate information about joint locations!!!

5.5.

Page 35: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Joint Locations

Vertex weights indicate information about joint locations!!!

5.5.

Joint close to this vertex

Page 36: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Joint Locations

Vertex weights indicate information about joint locations!!!

1.9.

Joint not close to this vertex

Page 37: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Joint Locations

Vertex weights indicate information about joint locations!!!

1.9.

Joint not close to this vertex

Minimize distance to estimated joint location

Page 38: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Root of Skeleton

Very arbitrary…We choose bone closest to center of massCenter of mass importantin physical calculations somakes sense to set root there

Page 39: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Examples

Page 40: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Examples

Page 41: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Examples

Page 42: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Page 43: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Examples

Page 44: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Examples

Page 45: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Examples

Page 46: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Page 47: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Examples

Page 48: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Examples

Page 49: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Examples

Page 50: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Page 51: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Examples

Page 52: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Examples

Page 53: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Examples

Page 54: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

Page 55: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Results

29 bones 19 bones 9 bones

Page 56: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Performance

0.00s1.85s1.57s1999996Lion

0.02s32.23s32.29s222384638Elephant

0.00s2.53s5.21s12930000Armadillo

0.00s4.01s2.11s24914410Cat

0.00s11.14s5.53s292316843Horse

0.00s6.46s9.96s194615789Hand

Skeleton Extraction

SkinningFace Clustering

BonesExample Poses

FacesModel

Page 57: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Performance

0.00s1.85s1.57s1999996Lion

0.02s32.23s32.29s222384638Elephant

0.00s2.53s5.21s12930000Armadillo

0.00s4.01s2.11s24914410Cat

0.00s11.14s5.53s292316843Horse

0.00s6.46s9.96s194615789Hand

Skeleton Extraction

SkinningFace Clustering

BonesExample Poses

FacesModel

Face Clustering 10x-50x faster than Mean Shift Clustering [James, Twigg 2005]

Page 58: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Importing Skeletons

Maya-script importerManipulate directly in MayaNo plugins/special software neededWorks with existing production pipelines

Page 59: Example-Based Skeleton Extractionfaculty.cs.tamu.edu/schaefer/research/slides/skeletonization.pdf · Example-Based Skeleton Extraction. Example-Based Deformation Examples. Previous

Future Work

Skeletons are good but not perfectImprove weight fittingAdd user feedback to create an intelligent system