# Human Motion Analysis by WZv3K4

VIEWS: 37 PAGES: 61

• pg 1
```									Human Motion Analysis

Shunsuke Kudoh
(Ikeuchi lab.)
Overview

   Basic knowledge
   Motion capturing system
   Expression of human postures
   Expression of joint angles

   Case studies
   Papers in SIGGRAPH
   Studies in Ikeuchi lab.
Motion capturing system

   Optical motion capture (infrared camera)
   Magnetic motion capture

   Video movie

   Bend sensor
    etc.
Optical motion capture
   Acquirable data                 赤外カメラ

   Position of markers
   High accuracy (1mm)
   High frame rate (200 fps)
   Occlusion
   Expensive (\$300,000)
マーカ
Magnetic motion capture
   Acquirable data
   Pos. and rot. of markers                           エミッタ
   Occlusion-free
   Small number of markers
   Cheaper (\$500,000)
   Limited environment                          マーカ
   Weak for magnetic field
(impossible to use in a building)
   Large transmitter
Human posture

ルート

marker position (joint position)   Joint angles
≒Output from a motion capture    (pos of root + joint angles)
Joint angle

   Euler angle

   Quaternion

   (Rotation matrix)
Euler angle

   3-tuple of angles ( z , y , x )
   Rotation around ｚ-，ｙ-，ｘ-axis
Problem of Euler angle

   Singular point (Gimbal lock)
   Impossible to calculate differential

parallel
Rotating 90 degrees
in the middle joint

Euler joint                          Gimbal lock
quaternion
   Extension of complex numbers

q  t  xi  yj  zk       ij   ji  k
jk  kj  i
ki  ik  j
i 2  j 2  k 2  ijk  1
   Usually, written as follows:
q  (t ; x, y, z )
q  (t ; x)
q tx                      x  ( x, y, z )
Basic operation of quaternion
   product
q1q2  (t1t2  x1  x2 ; t1x2  t2 x1  x1  x2 )
q1  (t1; x1 ), q2  (t2 ; x2 )
   conjugate
q  (t;x)
   unit quaternion
quaternion of norm one (i.e. qq  1)
 t  x  y  z 1
2    2     2    2
Rotation by unit quaternions

   Rotation around a unit vector   u
by an angle 
        
q  (cos ; u sin )
2       2
   Rotating a vector    v by a quaternion q
(0; v' )  q(0; v)q
Rotation by unit quaternions
                        
qv q   cos  u sin  v cos  u sin 
    2       2      2       2
                                                     
 v cos   2
 (uv  vu) cos           sin        uvu sin   2

2                         2         2                   2
                                                             
 v cos   2
 2(u  v ) cos       sin        {2(u  v)u  v} sin   2

2                 2      2                                          2
 {v  (u  v)u} cos   (u  v) sin   (u  v)u
u v

{v  (u  v)u} cos   (u  v) sin 
(u  v)u               v
v  (u  v)u                        uv  u  v  u  v
u
v
slerp

   Interpolation between two quaternions
v
slerp( q1 , q2 ,  )  (cos v ;    sin v )
v
q  (cos  ; u sin  )              (0    1)
v  (1   )1u1  2 u2
q2
q1         1

Motion Graphs

Lucas Kovar, Michael Gleicher, Frederic Pighin
(SIGGRAPH2002)
Overview

The top images are original motions
The bottom images are generated motion by motion graph
Overview

   Concatenating motion clips

   Generating motion to follow a given path
Motion graph

   Information in a motion clip
   Position of the root joint
   Joint angles （quaternion）
   Label to describe the motion
   “walking” “karate” etc.
   “left heel must touch the ground” etc.
Motion graph

   Structure of motion graph
   Edge: motion sequence
   Node: a choice point to connect motion clips

Trivial motion graph
（original data）

Inserting a node

Inserting a new transition (edge)
Similarity of postures

   Distance D( Ai , B j ) between frames Ai , B j
   Windows of frames  derivative information
   Point cloud  appropriate weight for each joint
   Horizontal rotation and translation are ignored
 essentially same motions

Defining similarity considering above factors
Similarity of postures
Using windows of frames  derivative information

D( Ai , B j ) transition from Ai to B j
The i-th frame

sequence A
Considering windows of k frames
sequence B
The j-th frame
Similarity of posture
Comparing by point clouds
 considering weight of each joint
＝ comparing by real appearance
Similarity of posture
Horizontal rotation and translation are ignored
 the motion is fundamentally unchanged
if we translate it along the floor plane or
rotate it about the vertical axis.

Similarity

T , x0 , z0 : horizontal translati on and rotation
pi , p'i : correspond ing points in point clouds
wi : weights
Example of similarity
Motion 2

White values  lower errors
Black values  higher errors
Green dots  local minima

Motion 1
Creating transitions

   Creating transitions between nodes whose
values are lower than a threshold
The i-th frame

sequence A
transition         The j-th frame

sequence B
Blending k frames (window size)
Creating transitions

   Blending windows
   Using a cubic blending function

ルート位置

関節角度
Pruning graph

   Nodes that are not part of any cycle

Strongly connected component
Searching motion path
Searching the best path in motion graph
 optimization problem about f (w)

e : edge of a graph

w : path （ [e1 , e2 ,, en ]）
g ( w, e) : additional cost when edge e is appended to w
A naïve solution
   Start and end nodes are selected
   Searching the shortest path by depth-first search

The result is not good
   Defining the cost function g ( w, e) as follows

P : target path given by a user
P' : path estimated from motion graph
P( s) : point on P whose arc - distance from the start of P is s
Result
Original motion
（and its mirror motion）

Created motion
Result

Creating motion
from “walking” motion

Creating motion
from “karate” motion
Result

Result from walking, sneaking,
and karate.
A user can indicate the desired
transition points.
Summary
   Creating motion sequence by concatenating
motion clips

   Construct motion graph based on similarity
   Evaluating similarity between motion clips
   Blending two motion clips

   Creating motion along the path given by a user
Dynamic Response for
Motion Capture Animation

V. B. Zordan, A. Majkowska, B. Chiu, M. Fast
(SIGGRAPH2005)
Overview
Flowchart
Database

Simulation 1                    Motion selection

Motion capture
Motion capture        Passive response
(transition-to)

Simulation 2

Active response

Interpolation

Plausible response
Flowchart
Database

Simulation 1                    Motion selection

Motion capture
Motion capture        Passive response
(transition-to)

Simulation 2

Active response

Interpolation

Plausible response
Related work
   Motion graph
[Arikan02], [Kovar02],[Lee02],[Li02],[Metoyer02]
 Aligning motion clips (search, compare)
 Blending motion clips

Creating appropriate motion by simulation

   Combination of physical model and motion capture
[Oshita01],[Zordan02],[Komura04]
 Natural motion against sudden disturbance
 Feasible motion (dynamically consistent motion)

Simulation is limited in short time period  natural
Procedure of creating motion

1.   Passive response
2.   Selecting transition-to motion
3.   Active response
4.   Plausible response
Passive response

   Generating a reaction from motion-
captured data

   Controlling torque of a human model by
PD control
   Generating a reaction by changing the gain
Torque controller
   Generating joint torque by PD control

 t torque at joints
 d target tr ajectory (motion - captured data)
kt , bt coefficien ts (based on inertial moment)
Passive response
   Changing ”stiffness” of joints
＝ changing the gain of PD control

tc time of impact, te response time, t f recovery t ime

In order to absorbing impact force,
the lower gain is selected after the impact
Passive response
Procedure of creating motion

1.   Passive response
2.   Selecting transition-to motion
3.   Active response
4.   Plausible response
Transition-to motion
   Extracting a motion sequence from the library
that is similar to the simulation result.
   Comparing successive frames (frame window)
   Comparing differential factor (such as velocity)
   Windows size is changeable between 0.1sec～1.0sec

   Normalizing frame windows by the position and
rotation of the root
Formulation

   Human posture (1 frame)
pi position, i rotation

   Distance between frame windows

pos                         rot

W* frame window, f*i frame, e the number of frames
Weight coefficients

Quadric decrease   •Large weight in the trunk
•Large weight in the support foot
→ avoiding foot sliding
フレーム
Effective search
   Searching motion takes 70 % of the
computation time!

   Motion search area
   Limiting from 0.1 to 1.0 sec after the impact

   Start point of a frame window
   Selecting a candidate roughly
   Searching precisely around the candidate
Procedure of creating motion

1.   Passive response
2.   Selecting transition-to motion
3.   Active response
4.   Plausible response
Active response

   Response that is created by considering
transition-to motion

   Passive response is created only by the
previous motion
Necessary to creating realistic motion
(significant characteristic of this method)
Formulation

 torque at joints
 d target tr ajectory
k p , kv coefficien ts
I coefficien ts based on the inertial moment

• Similar to passive response
• Target trajectory is different
Target trajectory
   Blending two motion-captured data
   Not considering the interaction to the ground

Initial motion          Motion-captured data

ブレンド

Motion-captured data      Transition-to motion
Procedure of creating motion

1.   Passive response
2.   Selecting transition-to motion
3.   Active response
4.   Plausible response
Method

   Blending active response and transition-to
motion

   Linear interpolation for the root position
   Slerp interpolation for the joints
Implementation details
   Capturing motion of two persons
   110 motions (each motion is 3 ~ 10 sec.)
   Offense: kicking and punching
   Defense: no stepping, stepping, loss of balance
   Human model of 51 DOF
   3 DOF×１５ joints ＋ 6 DOF （root）
   Using Open Dynamic Engine （ODE)
   Dynamic simulation and detecting collision
Result （１）
Result （２）
Result （３）
Summary
   Creating natural human motion easily
   Less than 10 min including initial setting by a user
and computation
   By an animator, it may takes 1 hour
   Reaction is created by simulation
   Intended motion is not necessary to exist in database

```
To top