Humans: The Final Frontier Adrien Treuille source:

advertisement
Humans:
The Final Frontier
source: http://www.gimartex.es/myfiles/Ballet-dancer_01.jpg
Adrien Treuille
Overview
• State of the art.
• Body models.
• Animation
• Vote.
• Questions
source: 3dscience.com
Overview
• State of the art.
• Body models.
• Animation
• Vote.
• Questions
source: 3dscience.com
•
State of the Art
Steady but slow progress
towards digital humans.
•
State of the Art
Steady but slow progress
towards digital humans.
•
(As usual, rendering ahead
of animation.)
•
State of the Art
Steady but slow progress
towards digital humans.
•
•
(As usual, rendering ahead
of animation.)
State of the art for animation
production.
•
State of the Art
Steady but slow progress
towards digital humans.
•
(As usual, rendering ahead
of animation.)
•
State of the art for animation
production.
•
State of the art for games.
•
State of the Art
Steady but slow progress
towards digital humans.
•
(As usual, rendering ahead
of animation.)
•
State of the art for animation
production.
•
•
State of the art for games.
Uncanny Valley.
•
State of the Art
Steady but slow progress
towards digital humans.
•
(As usual, rendering ahead
of animation.)
•
State of the art for animation
production.
•
•
•
State of the art for games.
Uncanny Valley.
Facial Animation.
•
State of the Art
Steady but slow progress
towards digital humans.
•
(As usual, rendering ahead
of animation.)
•
State of the art for animation
production.
•
•
•
•
State of the art for games.
Uncanny Valley.
Facial Animation.
Most human animation is
data driven.
(Like saying that
graphics is solved
by the camera.)
Overview
• State of the art.
• Body models.
• Animation
• Vote.
• Questions
source: 3dscience.com
Overview
• State of the art.
• Body models.
• Animation
• Vote.
• Questions
source: 3dscience.com
Body Representation
source: http://www.3eop.com/data/3d/images/08_05_26_anatomy_study_male.jpg
How to represent a human body on a computer?
Body Representation
• Kinematic Skeleton
source: https://buffy.eecs.berkeley.edu/PHP/resabs/resabs.php?
f_year=2005&f_submit=advgrp&f_advid=10917651
Body Representation
• Kinematic Skeleton
• Anatomical
source: http://physbam.stanford.edu/~fedkiw/
To appear in SIGGRAPH 2005.
Body Representation
A
B
C
Figure 5: Using M ESH IK to pose a bar: (A) Two example poses superimposed o
constrained to stay in place while a single vertex on the right side is manipulated.
Note that M ESH IK generalizes beyond the two examples and can create arbitrary b
A
B
C
D generalizes poorly. (D)
E In this top down view,F moving the constra
interpolates and
no examples were provided in this direction. (E)–(F) Providing one additional ex
generalize
to bends
that direction
as The
well left
as incap
the space
between.
Figure 5: Using M ESH IK to pose a bar: (A) Two example poses superimposed on
top ofineach
other. (B)
of theinunbent
bar is
• Kinematic Skeleton
• Anatomical
• Pure Mesh
constrained to stay in place while a single vertex on the right side is manipulated. Three edits using our nonlinear feature space are shown.
Note that M ESH IK generalizes beyond the two examples and can create arbitrary bends in the plane. (C) In contrast, the linear feature space
interpolates and generalizes poorly. (D) In this top down view, moving the constrained vertex perpendicular to the bend causes a shear since
no examples were provided in this direction. (E)–(F) Providing one additional example in the perpendicular direction allows M ESH IK to
generalize to bends in that direction as well as in the space in between.
A
B
ç
source: http://physbam.stanford.edu/~fedkiw/
A
B
Figure 6: Top row: Ten lion example poses. Bottom row: A sequence of posing
front leg is pulled forward and the lion continuously deforms as the constraint is
the front leg can be edited in isolation. (D) A similar operation is performed to adj
example.
ç
C
D
Figure 6: Top row: Ten lion example poses. Bottom row: A sequence of posing operations. (A) Two handle vertices are chosen. (B) The
source:(C)
http://people.csail.mit.edu/sumner/research/meshik/
front leg is pulled forward and the lion continuously deforms as the constraint is moved.
The red region is selected and frozen so that
the front leg can be edited in isolation. (D) A similar operation is performed to adjust the tail. The final pose is different from any individual
example.
A
B
C
D
Figure 7: Posing simulated flag. Top row: Fourteen examples of a flag blowin
To appear in SIGGRAPH 2005.
Body Representation
A
B
C
D
Figure 5: Using M ESH IK to pose a bar: (A) Two example poses superimposed on top
constrained to stay in place while a single vertex on the right side is manipulated. Thre
Note that M ESH IK generalizes beyond the two examples and can create arbitrary bends
A
B
C
D generalizes poorly. (D)
E In this top down view,F moving the constrained v
interpolates and
no examples were provided in this direction. (E)–(F) Providing one additional exampl
generalizeon
to bends
that direction
as The
well left
as incap
the space
between.
Figure 5: Using M ESH IK to pose a bar: (A) Two example poses superimposed
top ofineach
other. (B)
of theinunbent
bar is
• Kinematic Skeleton
• Anatomical
• Pure Mesh
• What are the
constrained to stay in place while a single vertex on the right side is manipulated. Three edits using our nonlinear feature space are shown.
Note that M ESH IK generalizes beyond the two examples and can create arbitrary bends in the plane. (C) In contrast, the linear feature space
interpolates and generalizes poorly. (D) In this top down view, moving the constrained vertex perpendicular to the bend causes a shear since
no examples were provided in this direction. (E)–(F) Providing one additional example in the perpendicular direction allows M ESH IK to
generalize to bends in that direction as well as in the space in between.
advantages
and
A
disadvantages?
B
ç
A
B
C
Figure 6: Top row: Ten lion example poses. Bottom row: A sequence of posing opera
front leg is pulled forward and the lion continuously deforms as the constraint is move
the front leg can be edited in isolation. (D) A similar operation is performed to adjust th
example.
ç
C
D
Figure 6: Top row: Ten lion example poses. Bottom row: A sequence of posing operations. (A) Two handle vertices are chosen. (B) The
front leg is pulled forward and the lion continuously deforms as the constraint is moved. (C) The red region is selected and frozen so that
the front leg can be edited in isolation. (D) A similar operation is performed to adjust the tail. The final pose is different from any individual
example.
A
B
C
D
To appear in SIGGRAPH 2005.
Body Representation
A
B
C
D
Figure 5: Using M ESH IK to pose a bar: (A) Two example poses superimposed on top
constrained to stay in place while a single vertex on the right side is manipulated. Thre
Note that M ESH IK generalizes beyond the two examples and can create arbitrary bends
A
B
C
D generalizes poorly. (D)
E In this top down view,F moving the constrained v
interpolates and
no examples were provided in this direction. (E)–(F) Providing one additional exampl
generalizeon
to bends
that direction
as The
well left
as incap
the space
between.
Figure 5: Using M ESH IK to pose a bar: (A) Two example poses superimposed
top ofineach
other. (B)
of theinunbent
bar is
• Kinematic Skeleton
• Anatomical
• Pure Mesh
• What are the
constrained to stay in place while a single vertex on the right side is manipulated. Three edits using our nonlinear feature space are shown.
Note that M ESH IK generalizes beyond the two examples and can create arbitrary bends in the plane. (C) In contrast, the linear feature space
interpolates and generalizes poorly. (D) In this top down view, moving the constrained vertex perpendicular to the bend causes a shear since
no examples were provided in this direction. (E)–(F) Providing one additional example in the perpendicular direction allows M ESH IK to
generalize to bends in that direction as well as in the space in between.
advantages
and
A
disadvantages?
B
ç
A
B
C
Figure 6: Top row: Ten lion example poses. Bottom row: A sequence of posing opera
front leg is pulled forward and the lion continuously deforms as the constraint is move
the front leg can be edited in isolation. (D) A similar operation is performed to adjust th
example.
ç
C
D
Figure 6: Top row: Ten lion example poses. Bottom row: A sequence of posing operations. (A) Two handle vertices are chosen. (B) The
front leg is pulled forward and the lion continuously deforms as the constraint is moved. (C) The red region is selected and frozen so that
the front leg can be edited in isolation. (D) A similar operation is performed to adjust the tail. The final pose is different from any individual
example.
A
B
C
D
Skeleton Representation
f2 f3
f1
f4
f5
ω5
root: ω0
Ω is the vector of
internal joint
angles, i.e.
shoulders, hips,
etc.
ω0 = [x0 , θ0 ] ∈ R
6
ωi = fi,Ω (ωi−1 )
Motion Capture
• Attach markers to a humans body.
• Calibrate a skeleton which makes those
markers “make sense.”
• Cameras capture 2D markers positions.
• Estimate 3D marker positions.
• Inverse kinematics: convert marker
positions to skeleton...
• How?
Marker Energy Function
ωi = fi,Ω (ωi−1 )
m̂j = τi (ωi )mj
E=
!
j
!
||m̂j
− m̂j ||
2
dE
dΩ
Derivatives
derivative
calculation
goes
towards
root
ωi = fi,Ω (ωi−1 )
!
dE
!
T dm̂j
=2
(m̂j − m̂j )
dΩ
dΩ
j
vector matrix
"
!
dm̂j
∂ m̂j ∂ωi
∂ωi ∂ωi−1
∂ωi ∂ωi−1 ∂ωi−2
=
+
+
+ ···
dΩ
∂ωi
∂Ω
∂ωi−1 ∂Ω
∂ωi−1 ∂ωi−2 ∂Ω
matrix
matrix multiplies
Inverse Kinematics Summary
• Telescoping composition of functions
from root.
• Compute derivatives in the opposite
direction!
To appear in SIGGRAPH 2005.
Body Representation
A
B
C
D
Figure 5: Using M ESH IK to pose a bar: (A) Two example poses superimposed on top
constrained to stay in place while a single vertex on the right side is manipulated. Thre
Note that M ESH IK generalizes beyond the two examples and can create arbitrary bends
A
B
C
D generalizes poorly. (D)
E In this top down view,F moving the constrained v
interpolates and
no examples were provided in this direction. (E)–(F) Providing one additional exampl
generalizeon
to bends
that direction
as The
well left
as incap
the space
between.
Figure 5: Using M ESH IK to pose a bar: (A) Two example poses superimposed
top ofineach
other. (B)
of theinunbent
bar is
• Kinematic Skeleton
• Anatomical
• Pure Mesh
• What are the
constrained to stay in place while a single vertex on the right side is manipulated. Three edits using our nonlinear feature space are shown.
Note that M ESH IK generalizes beyond the two examples and can create arbitrary bends in the plane. (C) In contrast, the linear feature space
interpolates and generalizes poorly. (D) In this top down view, moving the constrained vertex perpendicular to the bend causes a shear since
no examples were provided in this direction. (E)–(F) Providing one additional example in the perpendicular direction allows M ESH IK to
generalize to bends in that direction as well as in the space in between.
advantages
and
A
disadvantages?
B
ç
A
B
C
Figure 6: Top row: Ten lion example poses. Bottom row: A sequence of posing opera
front leg is pulled forward and the lion continuously deforms as the constraint is move
the front leg can be edited in isolation. (D) A similar operation is performed to adjust th
example.
ç
C
D
Figure 6: Top row: Ten lion example poses. Bottom row: A sequence of posing operations. (A) Two handle vertices are chosen. (B) The
front leg is pulled forward and the lion continuously deforms as the constraint is moved. (C) The red region is selected and frozen so that
the front leg can be edited in isolation. (D) A similar operation is performed to adjust the tail. The final pose is different from any individual
example.
A
B
C
D
To appear in SIGGRAPH 2005.
Body Representation
A
B
C
D
Figure 5: Using M ESH IK to pose a bar: (A) Two example poses superimposed on top
constrained to stay in place while a single vertex on the right side is manipulated. Thre
Note that M ESH IK generalizes beyond the two examples and can create arbitrary bends
A
B
C
D generalizes poorly. (D)
E In this top down view,F moving the constrained v
interpolates and
no examples were provided in this direction. (E)–(F) Providing one additional exampl
generalizeon
to bends
that direction
as The
well left
as incap
the space
between.
Figure 5: Using M ESH IK to pose a bar: (A) Two example poses superimposed
top ofineach
other. (B)
of theinunbent
bar is
• Kinematic Skeleton
• Anatomical
• Pure Mesh
• What are the
constrained to stay in place while a single vertex on the right side is manipulated. Three edits using our nonlinear feature space are shown.
Note that M ESH IK generalizes beyond the two examples and can create arbitrary bends in the plane. (C) In contrast, the linear feature space
interpolates and generalizes poorly. (D) In this top down view, moving the constrained vertex perpendicular to the bend causes a shear since
no examples were provided in this direction. (E)–(F) Providing one additional example in the perpendicular direction allows M ESH IK to
generalize to bends in that direction as well as in the space in between.
advantages
and
A
disadvantages?
B
ç
A
B
C
Figure 6: Top row: Ten lion example poses. Bottom row: A sequence of posing opera
front leg is pulled forward and the lion continuously deforms as the constraint is move
the front leg can be edited in isolation. (D) A similar operation is performed to adjust th
example.
ç
C
D
Figure 6: Top row: Ten lion example poses. Bottom row: A sequence of posing operations. (A) Two handle vertices are chosen. (B) The
front leg is pulled forward and the lion continuously deforms as the constraint is moved. (C) The red region is selected and frozen so that
the front leg can be edited in isolation. (D) A similar operation is performed to adjust the tail. The final pose is different from any individual
example.
A
B
C
D
xi,4
0
xi,3
0
xi,2
(a)
(b)
Dense Marker Capture
(b)
Figure 3: (a) a marker (red dot) and its one-ring neighbors (blue
dots); (b) a local reference frame on the marker.
n0i
p: (a) Twelve cameras surrounding a small
meras (shown in red) were aimed up rather
downward facing markers; (b) 350 small
subject’s body.
Motion Systems 2006]. To increase accucameras close to the subject with a small
imately 2 m by 2 m by 2.5 m high). Two
rather than down to capture markers facing
(a)
(b)
ure 2(a) shows the camera configuration.
t 0i
x0i
0
bi
0
xi,6
0
xi,1
0
xi,5
left arm
0
xi,3
0
xi,2
(a)
(a)
0
xi,4
(b)
Figure 3: (a) a marker (red dot) and its one-ring neighbors (blue
dots); (b) a local
(b)reference frame on the(c)marker.
ely
350 reflective
markers
the subject’s
: Capture
setup: (a)
Twelveoncameras
surrounding Figure
a small4: The reference pose: (a) markers; (b) marker surface; (c)
ubtle
of the
skin effectively,
frame at each marker.
egion.movement
Two cameras
(shown
in red) werewe
aimed uplocal
rather
ameter
3.0 mm)downward
with a hemispherical
shape(b) 350 small
wn
to capture
facing markers;
of the markers
from the
body. Although
attached
to the subject’s
body.
ave an even distribution of the markers on
a mesh from the marker positions in the reference pose. Neighborpproximate grid on the subject’s body, and
ing markers are identified based on the geodesic distance along the
hat grid.
The average
twoincreaseskin.
This process was done manually for our experiments. We call
econd
[Vicon
Motion distance
Systems between
2006]. To
accuas
4-5 cm. the
We cameras
supplemented
thethe
grid
pat- with the
resulting mesh the marker surface (Figure 4(a) and (b)). The
positioned
close to
subject
a small
rkers in(approximately
areas where more
indices
region
2 mresolution
by 2 m bywould
2.5 m high).
Two of the vertices on the surface are assigned to the markers as
of theaimed
elbowupand
the point
on thetolower
partmarkerslabels.
is done only once for
were
rather
than down
capture
facingThe construction(a)of the marker surface
(b)
(c)
or ground.
example).
Figure
shows
marker
each subject.
he
Figure
2(a)2(b)
shows
the the
camera
configuration.
left arm
On the markerFigure
surface,
we denote
thepose:
marker
index(b)
i as
mi , surface; (c)
ed approximately 350 reflective markers on the subject’s
4: The
reference
(a)with
markers;
marker
positions
the markers
with of
thethe
VICON
1 ≤ we
i ≤ N, where
is the
number
of markers, and its one-ring
oD capture
theofsubtle
movement
skin effectively,
local N
frame
at each
marker.
Motion
Systems
2006].3.0
In mm)
conventional
moneighbor
mall
markers
(diameter
with a hemispherical
shape as mi,k , 1 ≤ k ≤ di , where di is the valence of marker i.
tion is
by of
a skeleton
modelfrom
and the
a rigid
mize
theaided
offset
the markers
body. Although
We denote the position of the i-th marker by x0i and the position of
ver,
becausetoofhave
the an
significant
deformations
necessary
even distribution
of the markers
on
a mesh from
theinmarker
positions
in the
reference
pose. Neighborits one-ring
neighbors
as x0i,k
the reference
pose.
Using
a similar
notdrew
make
assumption.
assump,ldwe
anthis
approximate
gridThis
on the
subject’s body,
and to that
ing of
markers
areand
identified
based on[2005],
the geodesic
distance along the
technique
Lipman
his
colleagues
we
define
r motion
the The
face,average
but ourdistance
whole between two
he
markerscapture
on thatofgrid.
skin.
process
done manually
We call
the local frame
for This
marker
i in was
the reference
pose for
withour
itsexperiments.
origin
Laser Range Scanning
Filling in Missing Data
(c)
(d)
source: Allen, Curless, Popović. The space of human body shapes: reconstruction and
parameterization from range scans.
How could this be accomplished?
What can you do with a
huge set of human meshes
in vertex correspondence?
source: Allen, Curless, Popović. The space of human body shapes: reconstruction and parameterization from range scans.
PCA Shape Analysis
Displacements of
Example Poses
=
PCA
Basis
Coefficient Matrix
source: Anguelov, Srinivasan, Koller, Thrun, Rodgers, Davis. SCAPE: Shape Completion and Animation of People.
Multilinear Analysis
To appear in SIGGRAPH 2005.
mode 3
identity
d3
d2
d1
mode 2
expression
T
mode 1
(a)
(b)
(c)
(d)
vertices
Figure 2: In (a) we show a 3rd -order (3-mode) tensor T whose
modes have d1 , d2 , and d3 elements respectively. Depending on
Figure 3: Data tensor for a bilinear model that varies with idenhow we look at the data within the tensor, we can identify three
tity and expression; the first mode contains vertices, while the secVlasic, Brand, Pfister, Popović. Face Transfer with Multilinear Models.
mode spaces. By viewing the data assource:
vectors
parallel to the first
ond and third modes correspond to expression and identity respecmode (b), we define mode-1 space as the span of those vectors.
tively. The data is arranged so that each slice along the second mode
Similarly, mode-2 space is spanned by vectors parallel to the second
contains the same expression (in different identities) and each slice
mode (c), and mode-3 space by vectors in the third mode (d).
along the third mode contains the same identity (in different expressions). In our trilinear experiments we have added a fourth mode,
where scans in each slice share the same viseme.
Mode-n Product. The most obvious way of manipulating mode
spaces is via linear transformation, officially referred to as the
4.1 Face Data
mode-n product. It is defined between a tensor T and a matrix
M for a specific mode n, and is written as a multiplication with a
We demonstrate our proof-of-concept system on two separate face
subscript: T ×n M. This notation indicates a linear transformamodels: a bilinear model, and a trilinear model. Both were estion of vectors in T ’s mode-n space by the matrix M. Concretely,
timated from detailed 3D scans (∼ 30K vertices) acquired with
T ×2 M would replace each mode-2 vector v (Figure 2c) with a
3dMD/3Q’s structured light scanner (http://www.3dmd.com/) in
transformed vector Mv.
a process similar to regular flash photography, although our methods would apply equally to other geometric data sets such as motion
Tensor Decomposition. One particularly useful linear transforcapture. As a preprocess, the scans were smoothed using the bilatmation of mode data is the N-mode singular value decomposition
eral filter [Jones et al. 2003] to eliminate some of the capture noise.
(N-mode SVD). It rotates the mode spaces of a data tensor T proThe subject pool included men, women, Caucasians, and Asians,
ducing a core tensor C , whose variance monotonically decreases
from the mid-20s to mid-50s.
from first to last element in each mode (analogous to matrix SVD).
This enables us to truncate the insignificant components and get a
Bilinear model. 15 subjects were scanned performing the same
reduced model of our data.
source: Anguelov, Srinivasan, Koller, Thrun, Rodgers, Davis. SCAPE:
Shape expressions.
Completion and Animation
of People.
10 facial
The expressions
were picked for their familMathematically, N-mode SVD can be expressed with mode
Example
source: Anguelov, Srinivasan, Koller, Thrun, Rodgers, Davis. SCAPE: Shape Completion and Animation of People.
Overview
• State of the art.
• Body models.
• Animation
• Vote.
• Questions
source: 3dscience.com
Overview
• State of the art.
• Body models.
• Animation
• Vote.
• Questions
source: 3dscience.com
Data Driven Human
Animation
source: Kovar, Gleicher, Pighin. Motion Graphs.
To appear in Proceedings of SIGGRAPH ’02
et al. 2001], which (like motion graphs) are
enting connections in a database of motion.
e created manually — short motion clips are
cripted capture sessions and blends are creractive tools. Motion graphs are constructed
ove trees are typically geared for rudimen“I want to turn left, so I should follow this
d to more complicated objectives.
sitions is an important part of our approach.
was done by Perlin [1995], who presented a
othly interpolating between two clips to credefined orientation filters that allowed these
be performed on rotational data in a more
se et al. [1996] presented a more complex
nsitions that preserved kinematic constraints
perties.
of motion graphs is to control a character’s
blem is important enough to have received
attention. Because a character’s path isn’t
vance, synthesis is required. Procedural and
esis methods have been developed for a few
ing [Multon et al. 1999; Sun and Metaxas
odgins et al. 1995; Bruderlin and Calvert
es such as these can generate flexible motion
e of movement styles is limited. Also, these
ce the quality of motion attainable by hand
apture. While Gleicher [2001] presented a
path traversed in a clip of motion capture,
need for continuous streams of motion, nor
Figure 2: Consider a motion graph built from two initial clips. (top) We can trivially
insert a node to divide an initial clip into two smaller clips. (bottom) We can also insert
a transition joining either two different initial clips or different parts of the same initial
clip.
Motion Graph Schematic
also allow clips (or, more generally, sets of frames) to be annotated with other information, such as descriptive labels (“walking,”
“karate”) and constraint information (left heel must be planted on
these frames).
A motion graph is a directed graph where all edges correspond to
clips of motion. Nodes serve as choice points connecting these
clips, i.e., each outgoing edge is potentially the successor to any
incoming edge. A trivial motion graph can be created by placing
all the initial clips from the database as arcs in the graph. This cre-
Finding Candidate
Transitions
Examples
Overview
• State of the art.
• Body models.
• Animation
• Vote.
• Questions
source: 3dscience.com
Overview
• State of the art.
• Body models.
• Animation
• Vote.
• Questions
source: 3dscience.com
Vote
• We have only two lectures left!
• Possible topics:
Reduction / Real-time
• Model
Simulation - 10
human
• Physics-based
animation. - 10
• Animal Motion / Morphology
• Optimization Control - 5
• Anything else?
Overview
• State of the art.
• Body models.
• Animation
• Vote.
• Questions
source: 3dscience.com
Overview
• State of the art.
• Body models.
• Animation
• Vote.
• Questions
source: 3dscience.com
Questions
• How do we fix the foot skate problem?
• How can we generalize away from
existing motion capture data?
• How could we search for motion clips?
• How could we motion capture wild
animals?
• How could we go from “motion capture”
to “physics capture?”
Download