Top Banner
3D 3D Skeleton-based Skeleton-based Human Modeling with Human Modeling with Metaballs Metaballs 18 April 2008 18 April 2008 Donghun Donghun Kim Kim Robot Vision Lab Robot Vision Lab
37

3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Dec 17, 2015

Download

Documents

George Lewis
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

3D3D Skeleton-based Human Skeleton-based Human Modeling with MetaballsModeling with Metaballs

18 April 200818 April 2008

DonghunDonghun Kim Kim

Robot Vision LabRobot Vision Lab

Page 2: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

ContentsContents

MotivationMotivationWhat is the Metaball?What is the Metaball?How can we visualize Metaballs?How can we visualize Metaballs?3D Skeleton Human Model3D Skeleton Human ModelHuman model using MetaballsHuman model using MetaballsExamplesExamplesFuture WorksFuture Works

Page 3: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

MotivationMotivation Motion Analysis of Non-rigid ObjectMotion Analysis of Non-rigid Object Motion Analysis of Articulated Object Motion Analysis of Articulated Object Model based Pose Estimation and Tracking Model based Pose Estimation and Tracking

3D Mesh Data by Visual Hall3D Mesh Data by Visual Hall 3D Skeleton( Curve Skeleton by Thinning, DT, 3D Skeleton( Curve Skeleton by Thinning, DT,

Geometric or General Fields) - on goingGeometric or General Fields) - on going 3D Skeleton-based Motion tracking3D Skeleton-based Motion tracking Metaball Human Model for shape recoveryMetaball Human Model for shape recovery

Motion Analysis by Skeleton-based Motion Motion Analysis by Skeleton-based Motion and Shape Info. (i.e. Manifold learning)and Shape Info. (i.e. Manifold learning)

Page 4: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Implicit SurfacesImplicit Surfaces

Implicit Surfaces: Surfaces which are Implicit Surfaces: Surfaces which are contours(isosurface) through some contours(isosurface) through some scalar field in 3D scalar field in 3D

Different Field function: Metaball, Different Field function: Metaball, Soft Objects, Blobbies Soft Objects, Blobbies

Page 5: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Consider a function f(x,y,z) which define Consider a function f(x,y,z) which define a scalar field in 3D space.a scalar field in 3D space.

Isosurface S is set of points for whichIsosurface S is set of points for which

f(x,y,z) = const.f(x,y,z) = const. It can be thought as an Implicit function It can be thought as an Implicit function

relating x,y and z -> so called implicit relating x,y and z -> so called implicit surface sometimes surface sometimes

What are isosurfaces?What are isosurfaces?

Page 6: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

A particularly interesting case A particularly interesting case Use implicit equation of the formUse implicit equation of the form

Gradient can be computed directlyGradient can be computed directly

Soft/blobby objects that blend into each otherSoft/blobby objects that blend into each other

MetaballsMetaballs

11

2

2

N

i i

i

px

r

N

ii

i

i pxpx

rf

14

2

)(2

x: a point in 3d space

N: num. of metaballs

pi : center position of metaballs

ri : Metaball’s own density field

Page 7: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Field FunctionsField Functions

Blobby MoleculesBlobby Molecules

MetaballsMetaballs

Soft ObjectsSoft Objects

2rb)( aerD

rbif

brb

ifb

ra

brif

b

ra

rD

03

)1(2

33

0)3

1(

)( 2

2

2

0

)9

22

9

17

9

41()( 2

2

4

4

6

6

b

r

b

r

b

rarD

r is distance of a point in space to a particular control point

Page 8: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Comparison of Field FunctionsComparison of Field Functions

< Figure from [4]>

Page 9: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

ExamplesExamples

< Images from [4]>

Page 10: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Metaballs are cool! Metaballs are cool!

Page 11: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Marching CubesMarching Cubes

Well-known Method for scalr field Well-known Method for scalr field polygonizataion polygonizataion

Sample f(x,y,z) on a cubic latticeSample f(x,y,z) on a cubic latticeFor each cubic cellFor each cubic cell

Estimate where isosurface inetersects Estimate where isosurface inetersects cell edges by linear interpolationcell edges by linear interpolation

Tessellate depending on values of f() at Tessellate depending on values of f() at cell verticescell vertices

Page 12: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Marching CubesMarching Cubes

Algorithm for creating a polygonal surface Algorithm for creating a polygonal surface representation of an isosurface of a 3D representation of an isosurface of a 3D scalar fieldscalar field

Combine simplicity with high speed Combine simplicity with high speed because of using lookup tablesbecause of using lookup tables

ApplicationApplication Reconstruction of a surface from volumetric Reconstruction of a surface from volumetric

datasetsdatasets Creating a 3D contour of a mathematical scalar Creating a 3D contour of a mathematical scalar

fieldfield

Page 13: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Marching CubesMarching Cubes

Each vertex can be either Each vertex can be either ““insideinside”” or or ““outsideoutside””

For each cube cell there are 256 ways for For each cube cell there are 256 ways for isosurface to intersect it can be simplified isosurface to intersect it can be simplified down to 15 uniquedown to 15 unique

Page 14: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Marching CubesMarching Cubes

Example Example cubeindex = 0; if (grid.val[0] < isolevel) cubeindex |= 1; if (grid.val[1] < isolevel) cubeindex |= 2; if (grid.val[2] < isolevel) cubeindex |= 4; if (grid.val[3] < isolevel) cubeindex |= 8; if (grid.val[4] < isolevel) cubeindex |= 16; if (grid.val[5] < isolevel) cubeindex |= 32; if (grid.val[6] < isolevel) cubeindex |= 64; if (grid.val[7] < isolevel) cubeindex |= 128;

< Images from [5]> P = P1 + (isovalue - V1) (P2 - P1) / (V2 - V1)

Page 15: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Marching CubesMarching Cubes

Sampling Grid ResolutionSampling Grid Resolution Smoothness and Processing time to displaySmoothness and Processing time to display

< Images from [5]>

Page 16: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Examples of Marching Examples of Marching CubesCubes

• More Information about Marching Cubes is in [3].

Page 17: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

3D Skeleton Human Model3D Skeleton Human Model

Structure( 15 nodes, 14 metaballs)Structure( 15 nodes, 14 metaballs)

0

1

23

4 5

7

68

9 10

1112

13 14

15

Page 18: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Human Model using Human Model using MetaballsMetaballs

Head(1-2-7)Head(1-2-7)

Page 19: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Human Model using Human Model using MetaballsMetaballs

Chest(0-1-2-3-6)Chest(0-1-2-3-6)

Page 20: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Human Model using Human Model using MetaballsMetaballs

Left Arm(1-2-3-8-12)Left Arm(1-2-3-8-12)

Page 21: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Human Model using Human Model using MetaballsMetaballs

Right Arm(1-2-5-11-15)Right Arm(1-2-5-11-15)

Page 22: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Human Model using Human Model using MetaballsMetaballs

Left Hip & Thigh(0-4-9)Left Hip & Thigh(0-4-9)

Page 23: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Human Model using Human Model using MetaballsMetaballs

Right Hip & Thigh(0-5-10)Right Hip & Thigh(0-5-10)

Page 24: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Human Model using Human Model using MetaballsMetaballs

Left Leg(4-9-13)Left Leg(4-9-13)

Page 25: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Human Model using Human Model using MetaballsMetaballs

Right leg(5-10-14)Right leg(5-10-14)

Page 26: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Human Model using Human Model using MetaballsMetaballs

Result (Polygon Surface)Result (Polygon Surface)

Page 27: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Human Model using Human Model using MetaballsMetaballs

Result (Filled surface)Result (Filled surface)

Page 28: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

ProgrammingProgramming 3D cloud data and mesh data from Visual 3D cloud data and mesh data from Visual

Hall(using EPVH lib) as the input of 3D skeletonHall(using EPVH lib) as the input of 3D skeleton 3D Human Model Tool based on Jonney3D Human Model Tool based on Jonney’’s 3D s 3D

Human Model Frame (using Ellipsoid, Cylinder, Human Model Frame (using Ellipsoid, Cylinder, Sphere)Sphere)

OpenGL and FLTK GUI based toolOpenGL and FLTK GUI based tool FunctionsFunctions

3D reconstruction by Visual hall3D reconstruction by Visual hall Obtain Multiple Camera-view point images in OpenGL EnvironmentObtain Multiple Camera-view point images in OpenGL Environment Calculate Camera matrix by transforming the OpenGL Calculate Camera matrix by transforming the OpenGL

representation to Physical camera representationrepresentation to Physical camera representation Parameterized 3D Skeleton Human Model Parameterized 3D Skeleton Human Model 3D Skeleton-based Metaball Model3D Skeleton-based Metaball Model Simple model size option (Height considering body ratio, fat-Simple model size option (Height considering body ratio, fat-

thin option) thin option) Image Saving with OpenCV in OpenGLImage Saving with OpenCV in OpenGL

Page 29: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Modeling ToolModeling Tool

Made by Dave Kim and Thanks to Jonney

Page 30: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Modeling ToolModeling Tool

Made by Dave Kim and Thanks to Jonney

Page 31: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Data ComparisonData Comparison

Multi-View Silhouette Images of Multi-View Silhouette Images of Different Human ModelDifferent Human ModelEllipsoid, Cylinder and Sphere vs. Ellipsoid, Cylinder and Sphere vs.

MetaballsMetaballs3D cloud points and triangle meshes 3D cloud points and triangle meshes

by Visual hallby Visual hall

Page 32: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Example (I)Example (I)

Page 33: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Example (I)Example (I)

Page 34: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Example (II)Example (II)

Metaball Human ModelMetaball Human Model

Page 35: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Example (II)Example (II)

Result by Visual HallResult by Visual Hall

Page 36: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

Future WorkFuture Work

3D Curve skeleton Algorithm[2] 3D Curve skeleton Algorithm[2] DT (fast) + General Field (robust)DT (fast) + General Field (robust)

3D skeleton human model fitting to 3D skeleton human model fitting to Curve Skeleton -> Pose EstimationCurve Skeleton -> Pose Estimation

Shape recovery using the information Shape recovery using the information from the skeletonizationfrom the skeletonization

Motion AnalysisMotion Analysis

Page 37: 3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.

ReferenceReference1.1. Clement Menier, Bruno Raffin, Clement Menier, Bruno Raffin, ““3D Skeleton-based Pose 3D Skeleton-based Pose

Recovery,Recovery,”” The 3 The 3rdrd international Symposimum on 3D Data international Symposimum on 3D Data Processing, Visualization and Transmission, 2006Processing, Visualization and Transmission, 2006

2.2. Nicu D. Cormea etc at al., Nicu D. Cormea etc at al., ““Curve-Skeleton Application,Curve-Skeleton Application,”” IEEE Visualization 2005IEEE Visualization 2005

3.3. T. S. Newman, H. Yi, T. S. Newman, H. Yi, ““A survey of the marching cubes A survey of the marching cubes algorithm,algorithm,”” Computers and Graphics, 2006 Computers and Graphics, 2006

4.4. Implicit Surfaces written by Paul Bourke, June 1997, Implicit Surfaces written by Paul Bourke, June 1997, http://local.wasp.uwa.edu.au/~pbourke/modelling_renderihttp://local.wasp.uwa.edu.au/~pbourke/modelling_rendering/implicitsurf/ng/implicitsurf/

5.5. Polygonising A Scalar Field written by Paul Bourke, May Polygonising A Scalar Field written by Paul Bourke, May 1994, 1994, http://local.wasp.uwa.edu.au/~pbourke/geometry/polygohttp://local.wasp.uwa.edu.au/~pbourke/geometry/polygonisenise