Top Banner
Animating a Three Dimensional Whole Body Point Scan Pushkar Deshmukh Computer Science Department Clemson University July 1999
46

Animating a Three Dimensional Whole Body Point Scan

Jan 19, 2016

Download

Documents

Stacy

Animating a Three Dimensional Whole Body Point Scan. Pushkar Deshmukh Computer Science Department Clemson University July 1999. Outline. Background and Motivation Animation Process Basic Idea Software Architecture Extended Free Form Deformation Designing Lattices - PowerPoint PPT Presentation
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: Animating a Three Dimensional Whole Body Point Scan

Animating a Three DimensionalWhole Body Point Scan

Pushkar Deshmukh

Computer Science Department

Clemson University

July 1999

Page 2: Animating a Three Dimensional Whole Body Point Scan

Outline• Background and Motivation • Animation Process

– Basic Idea

– Software Architecture

– Extended Free Form Deformation

– Designing Lattices

– Skeleton and Joint Structure

– Generating Animations

• Results• Applications and Future Work

Page 3: Animating a Three Dimensional Whole Body Point Scan

3D Whole Body Scanners

Cyberware Whole Body 3D scanner

4 cameras 120K+ points17-sec. Scan x, y, z, RGB values

Page 4: Animating a Three Dimensional Whole Body Point Scan

3D Whole Body Scanners

[TC]2 Whole Body 3D scanner

6 cameras 350K+ points2-sec. Scan x, y, z values

Page 5: Animating a Three Dimensional Whole Body Point Scan

3D Whole Body Scan

Page 6: Animating a Three Dimensional Whole Body Point Scan

3D Whole Body Scan

Close-up view

Page 7: Animating a Three Dimensional Whole Body Point Scan

Motivation

• Ergonomics– Study of relation between workers and their

environment– Used for product design– Faster and Cheaper design process– Measurements from 3D scan

• 3DM Project

– Animating 3D scan

Page 8: Animating a Three Dimensional Whole Body Point Scan

3D Scan Animation

One Approach: Segmenting Scan

Jack.gif Brian.gif Animation.gif

Page 9: Animating a Three Dimensional Whole Body Point Scan

Free Form Deformation

• Basic Idea– Embed an object in a

deformable region

– Deform the region to deform the object

• Developed by Thomas Sederberg and Scott Parry (Free-Form Deformation of Solid Geometric Models. SIGGRAPH '86, volume 20, pages 151-160, ACM, August 1986.)

• Lattices

U

V

W

Parallelepiped Lattice

Page 10: Animating a Three Dimensional Whole Body Point Scan

Free Form Deformation

• Mathematical Definition– Tensor product trivariate Bernstein polynomial

where Lijk is the (i, j, k)th control point of the lattice, (u,v,w) are lattice space coordinates of point P and the lattice has l+1, m+1, n+1 planes in the U, V, W directions respectively.

m

j

kknn

k

jjmiill

i

wwk

nvv

j

muu

i

lzyx

0ijk

00

L111,,P

Page 11: Animating a Three Dimensional Whole Body Point Scan

Free Form Deformation• Steps

– Calculate lattice space coordinates (u, v, w) (Freeze lattice)

– Deform the lattice

– Deform object

Example of FFD

Page 12: Animating a Three Dimensional Whole Body Point Scan

Free Form Deformation

• Limitation– Only parallelepiped lattices

• Extended Free Form Deformation– developed by Coquillart (Extended Free-Form Deformation: A

Sculpturing Tool for 3D Geometric Modelling. Computer Graphics, Volume 24, Number 4, pages 187-196, August 1990, ACM SIGGRAPH)

– allows non-parallelepiped lattices

Page 13: Animating a Three Dimensional Whole Body Point Scan

Animation Process

Basic Idea• Enclose scan data

points in EFFD lattices• Freeze lattices• Move lattice control

points• Deform scan to

generate animations

Page 14: Animating a Three Dimensional Whole Body Point Scan

Steps in Animation Process

• Read a 3D scan

• Build EFFD lattices around the scan

• Build skeleton and joint structure

• Freeze the lattices

• Generate postures by varying joint angles

• Interpolate between postures to generate animation

Page 15: Animating a Three Dimensional Whole Body Point Scan

Software Architecture

User Interface

Skeleton & Joint Structure

Extended Free Form Deformation

3D Human Scan

Software Modules

CMainAnim

CMatrix

CDataPoint

CLattice CJoint

CSkeleton

CComplexJoint

Class diagram

Page 16: Animating a Three Dimensional Whole Body Point Scan

Extended Free Form Deformation

P(x, y, z)

X

Y

Z

Start: A point P(x, y, z) enclosed in a lattice

P(x', y', z')

X

Y

Z

Second Step: Find new (x, y, z) coordinates of P using its (u, v, w) coordinates and the lattice control points.

P(u, v, w)

U

V

W

First Step: Calculate (u, v, w) coordinates of P

Page 17: Animating a Three Dimensional Whole Body Point Scan

Find Cartesian Coordinate

m

j

kknn

k

jjmiill

i

wwk

nvv

j

muu

i

lzyx

0ijk

00

L111,,P

Where, - Lijk is the cartesian coordinate of the (i, j, k)th control point of the lattice - (u, v, w) is the lattice space coordinates of point P - the lattice has l + 1, m + 1, and n + 1 planes in the U, V, and W directions respectively and

!!

!

!!

!

!!

!

kkn

n

k

n

jjm

m

j

m

iil

l

i

l

Page 18: Animating a Three Dimensional Whole Body Point Scan

Find Lattice Space Coordinate

Lattice Space

U

W

V

P(ui, vi, wi)

Cartesian Coordinate Space

X

Z

Y

P(xi, yi, zi)

P(xf, yf, zf)

VL000

L100

L101

L001

L011L111

L110L010

FFD Equation

-1iJ

~

• Iterative Process– Aim, find (u, v, w) coordinate for point P(xf, yf, zf)

– Start with point P(u0 = 0.5, v0 = 0.5, w0 = 0.5)

– Find cartesian coordinate P(x0, y0, z0)

Page 19: Animating a Three Dimensional Whole Body Point Scan

Find Lattice Space Coordinate

– We obtain

where is inverse of transpose of local approximate of Jacobian at (u0, v0, w0)

– In general

– Terminating condition

-10000f000111 J

~,,P,,P,,,, zyxzyxwvuwvu ff

-10J

~

-1if111 J

~,,P,,P,,,, iiiffiiiiii zyxzyxwvuwvu

Page 20: Animating a Three Dimensional Whole Body Point Scan

JacobianSuppose we have a function

where X is of dimension n and L is of dimension m, then

dX = J(L) dL

and, the (i, j)th element of J is given by

From above equation

LX f

j

i

l

f

ijJ

-1-1 J~

XXJL ddd

Page 21: Animating a Three Dimensional Whole Body Point Scan

Jacobian

wvuzw

wvuzv

wvuzu

wvuyw

wvuyv

wvuyu

wvuxw

wvuxv

wvuxu

,,,,,,

,,,,,,

,,,,,,

J

kjikjikji

kjikjikji

kjikjikji

zzyyxx

zzyyxx

zzyyxx

,,1kj,i,,,1kj,i,,,1kj,i,

,,k1,ji,,,k1,ji,,,k1,ji,

,,kj,1,i,,kj,1,i,,kj,1,i

J~

Using forward differences to obtain an estimate of Jacobian at lattice control points we have:

Page 22: Animating a Three Dimensional Whole Body Point Scan

Jacobian

• Estimate jacobian at point P(u, v, w) using trilinear interpolation

• Extend the jacobian

Page 23: Animating a Three Dimensional Whole Body Point Scan

Terminating the iterative process

• V = P(xf, yf, zf) - P(xi, yi, zi) <

• Number of Iterations (NI) and0 < NI < 50 = 0.0001

50 < NI < 500 = 0.01

NI = 500 = 0.1

• Average number of iterations ~ 4

Page 24: Animating a Three Dimensional Whole Body Point Scan

Extended Free Form Deformation

• Point-in-lattice membership

P(x, y, z)

X

Y

Z

Start: A point P(x, y, z) enclosed in a lattice

P(x', y', z')

X

Y

Z

Second Step: Find new (x, y, z) coordinates of P

P(u, v, w)

U

V

W

First Step: Calculate (u, v, w) coordinates of P

Page 25: Animating a Three Dimensional Whole Body Point Scan

Designing Lattices

• Five EFFD lattices• Each lattice has

– Two planes in X direction

– Two planes in Y direction

– Seven planes in Z direction

XYZ Plane 0

Plane 6

Page 26: Animating a Three Dimensional Whole Body Point Scan

Designing Arm and Leg Lattices

Plane 0

Plane 6

Plane 0

Plane 6

Plane 3

Plane 3

Page 27: Animating a Three Dimensional Whole Body Point Scan

Designing Torso Lattice

Plane 0

Plane 6

Plane 2

Plane 4

Page 28: Animating a Three Dimensional Whole Body Point Scan

Designing Lattices

Page 29: Animating a Three Dimensional Whole Body Point Scan

Designing Lattices

• Moving Control Points

• Maintaining Continuity

• Avoid Overlap

Page 30: Animating a Three Dimensional Whole Body Point Scan

Skeleton and Joint Structure

• Need– Deform the lattice control points in a controlled manner

• Provides– Ability to move the control points by specifying joint

angles

Page 31: Animating a Three Dimensional Whole Body Point Scan

Skeleton and Joint Structure

CenterRight Hip

Right Knee

Left Hip

Left Knee

Spine

NeckBase

Left Shoulder

Right Shoulder

Left Elbow

Right Elbow

Right Hip

Spine

Left Hip

Right Knee Left Knee

Neck Base

Right Shoulder Left Shoulder

Right Elbow Left Elbow

Root Position

Center

Joint Dependency HierarchySkeleton and Joint Structure

Page 32: Animating a Three Dimensional Whole Body Point Scan

Associating Joints with Lattices

• Link to lattices– Using lattice plane numbers

• Control points affected by the joint

• Additional Constraints– Proper placement of lattice

planes

Plane 0

Plane 6

Plane 3

Page 33: Animating a Three Dimensional Whole Body Point Scan

Joints and Lattice Control Points

• Joint local coordinate system

• Local angle of rotations

• Sequence of rotation– Z, X, and then Y

X

Y

Z

X

Y

Z

X

Y

ZY

X Z

Y

XZ

Y

XZ

Y

XZ

Y

X

Z

Y

X

Z

Y

X

Z

Y

X

Z

Joint local coordinate system

Page 34: Animating a Three Dimensional Whole Body Point Scan

Joints and Lattice Control Points• Local coordinates of the control points• Changing local angle of rotation

Y

X Z

Y

XZ

P

Y

X

ZY

XZ

P

Initial state Rotating shoulder about X axis

Page 35: Animating a Three Dimensional Whole Body Point Scan

Joints and Lattice Control Points

• Find initial joint angles

Page 36: Animating a Three Dimensional Whole Body Point Scan

Generating Animations

• Postures

Initial posture A posture with hands raised and upper body turned

Page 37: Animating a Three Dimensional Whole Body Point Scan

Generating Animations

• Saving posture files

• Animations generated by linear interpolation between postures

ROOT_POSITION 0.010000 -0.050000 0.000000CENTER 0.000000 0.000000 0.000000SPINE 0.000000 0.000000 0.000000NECK_BASE 0.000000 0.000000 0.000000NECK 0.000000 0.000000 0.000000RIGHT_ELBOW 48.366463 25.538908 0.000000RIGHT_SHOULDER -50.856022 0.000000 0.000000RIGHT_HIP -2.726310 -2.723229 0.000000RIGHT_KNEE -4.720062 5.182696 0.000000LEFT_ELBOW 36.594429 -25.992308 0.000000LEFT_SHOULDER -49.398701 0.000000 0.000000LEFT_HIP -0.000002 2.862404 0.000000LEFT_KNEE -9.512845 -7.522387 0.000000

Sample posture file

Page 38: Animating a Three Dimensional Whole Body Point Scan

Results

Upper body movement

Page 39: Animating a Three Dimensional Whole Body Point Scan

Results

Movement of lattice control points

Page 40: Animating a Three Dimensional Whole Body Point Scan

Results

Leg Movement

Page 41: Animating a Three Dimensional Whole Body Point Scan

Results

Handshake

Page 42: Animating a Three Dimensional Whole Body Point Scan

Applications

• Improving ergonomics in product design

• Visualizing simulations involving human characters

• Computer games

• Designing safer and comfortable apparel

• Representing human participants in VR

• Film industry

Page 43: Animating a Three Dimensional Whole Body Point Scan

Conclusion

• Simple animations can be created from a 3D human scan

• The 3D scan works as a good human model

• Further improvement in term of speed and quality of animation are possible

Page 44: Animating a Three Dimensional Whole Body Point Scan

Future Work

• Improving speed of the process– Reduce number of data points– Automate lattice designing– Using accelerated search algorithm for point-in-

lattice membership– Providing multi-processor support

Page 45: Animating a Three Dimensional Whole Body Point Scan

Future Work

• Improving quality of generated animations– Implementing effects like squash and stretch of

muscles– Increasing number of joints– Restricting the degree of freedom and adding

limits on magnitude of rotations– Using better interpolation algorithms– Interfacing with human simulation packages

Page 46: Animating a Three Dimensional Whole Body Point Scan

Acknowledgements

I would like to thank my committee members

Dr. Roy Pargas (Committee Chair), Dr. Andrew Duchowski and Dr. Gene Tagliarini

for their guidance and for their valuable and insightful criticism and advice.