Title: Motion Level of Detail: A Character Simplification Method in a Crowd Scene
1Motion Level of Detail A Character
Simplification Method in a Crowd Scene
- Junghyun Ahn
- VR Lab. KAIST
Kwangyun Wohn VR Lab. KAIST
2Contents
- Research topics on Crowd Animation
- What is Motion LoD?
- Related Works
- Motion Dependent vs. Independent
- Joint Posture Clustering (JPC)
- Posture Difference
- Clustering Algorithm
- Global Optimization
- Agglomerative Clustering
- Motion Retargeting
- Conclusion
3Crowd
Group
G
G
G
Individual
I
I
I
G
G
Sensor - Get environment - Collision check
I
I
Behavior Routines - Transition
Behavior Rules
Flow Analysis
Motor Controller - Animate - Simplification
User
Group Control
Individual Control
4Classification
- Scene Reality
- Crowd Modeling BOUVIER 97MUSSE 98 01
- Flow Analysis SHAW 70HELBING 00 SHEKHAR 02
- Behavioral Rules TU 94 MUSSE 97REYNOLDS 99
- Collision Avoidance REYNOLDS 87BROGAN 97KIM
03 - Motion Transition REYNOLDS 87TU 94KIM 03
- Performance
- Image-based Technique AUBEL 00TECCHIA 00
- Motion Simplification CARLSON 97 AHN 04
- Interactivity
- Individual Control BLUMBERG 95PERLIN 96MUSSE
99 - Group Control TU 94MUSSE 99REYNOLDS 00
5What is Motion LoD?
Skeleton simplification
LoD control
Crowd Scene
Select motion
Worldtransform
Select character
Mapping motion to character
Geometry simplification
6Motivation
- Recent trends in real-time crowd animation
- Characters in the scene ?
- Joints per character ?
- Mesh complexity ?
- Need simplification of each character
- Simplify skeleton (joint)
- Simplify geometry (mesh)
- LoD control
Need preprocessing
Enhance performance
7Simple Experiment
Rendering
DataLoading
Computation ratio at the run-time
Rendering(58)
PostureTransform(23)
Skin-ning(11)
Etc.(8)
Environment - 1000 Characters - Each Character
1000 tris 50 joints
Scene Generation(42)
8Related Works
- Skeleton simplification
- CARLSON 97
- Adjust level of simulation
- POPOVIC 99
- Skeleton simplification for motion blending
- Character motion is not concerned
- Geometry simplification
- TECCHIA 00
- Image sequence using imposter
- AUBEL 00
- Multi-resolution geometric model / Imposter
- Good performance
- Lack of controllability
9Skeleton SimplificationMotion Dependent vs.
Independent
- Motion Dependent Approach
- Dynamic skeleton
- Simplify skeleton using motion analysis
- Skeleton structure change each frame
- Motion Independent Approach
- Static skeleton
- Simplify skeleton without motion analysis
- Pre simplify skeleton
10Skeleton SimplificationMotion Dependent vs.
Independent
Advantage
Disadvantage
- Similarity Low
- Low Performance (Simple Motion)
- Level Discrete
- Motion Smooth
- High Performance (Complex Motion)
- Computation Low
MotionIndependent
- Similarity High
- High Performance (Simple Motion)
- Level Continuous
- Motion Rough
- Low Performance (Complex Motion)
- Computation High
MotionDependent
11Motion Dependent Approach Joint Posture
Clustering (JPC)
- Skeleton simplification
- Motion Dependent Approach
- Posture Difference
- E Epos Eori
- Clustering Algorithm
- Difference Map (Clustering Table)
- Level Control
- Distance
- Geometry simplification
- Progressive mesh applied in non-shared vertex
12 Posture Difference
Position Difference between two Posture
Joint j
Joint c
Posture of t
Joint c1
Joint c2
Posture of tref
13 Posture Difference
Orientation Difference between two Posture
Joint j
Joint c
Posture of t
Joint c1
Joint c2
Final Posture Difference
Posture of tref
14Difference Map of Joint j (Clustering Table)
Similar posture(Low Ej(t, tref) value)
t
Different posture(High Ej(t, tref) value)
tref
Element Ej(t, tref)
15Difference Map of Joints
Similar posture(Low Ej(t, tref) value)
RForeArm
Different posture(High Ej(t, tref) value)
Spine (near root)
LFoot (near leaf)
16Clustering AlgorithmGet clustered posture
ClusteredPosture
Get Clustered Posture Find each Rectanglewhere
1. Top-left coordinate (i, j) ? ij2. Width
Height3. At least all elements of a row is
lower than threshold
17Clustering AlgorithmGet the key postures
- Key posture generation
- Minimum row ? key posture of cluster
ClusteredPosture
Difference Map
Key Posture
Clustered Posture
18 Clustered Result
Error 10.0, Clusters 8
Error 30.0, Clusters 5
Error 50.0, Clusters 3
Error 90.0, Cluster 1
19Motion DanceJoints 28
Motion Push OverJoints 80
Original
E 5.0
E 50.0
E 100.0
E 300.0
Motion SmashJoints 80
Motion Look AroundJoints 80
20Average Simplified Joints
Simp. Rate () per frame
28 joints
80 joints
80 joints
80 joints
21JPC Applied in a Crowd Scene
22Motion Independent ApproachModified Structure
Retargeting
- Ongoing work
- Pre simplify base skeleton structure
- Agglomerative Clustering
- Retarget motion to simplified structure
- Nonlinear Optimization
23Clustering Method
- Non-hierarchical Clustering
- K-means Clustering
- Hierarchical Clustering
- Agglomerative Clustering
24Skeleton Simplification using Agglomerative
Clustering
Original
5
10
15
20
25
30
45
40
60
25Optimization Process
Original Motion
Morg
Number of Joints m
Clustered Base Structure
j lt m
Modified Motion
Number of Joints j
Mmod
Number of Joints j
Minimize(Mmod - Msimp) Subject to Both motion
have same root position
Optimization
Retargeting Result
Msimp
2620 simplified
40 simplified
White joints Original StructureBlue joints
Retargeted Result
50 simplified
60 simplified
27Conclusion Future Works
- Motion Level-of-Detail
- Enhance real-time performance of the crowd scene
- Skeleton simplification
- Motion dependent vs. independent
- Future Works
- Skeleton Simplification Considering continuity
of animation - Geometry Simplification Embed mesh to the
skeleton - LoD control Apply various visual information