슬라이드 1 - SGLab, KAIST

FASTCD: Fracturing-Aware Stable
Collision Detection
Jae-Pil Heo1, Joon-Kyung Seong1, Duksu Kim1,
Miguel A. Otaduy2, Jeong-Mo Hong3,
Min Tang4, and Sung-Eui Yoon1
1KAIST, 2URJC
Madrid, 3Dongguk Univ, 4Zhejiang Univ.
http://sglab.kaist.ac.kr/FASTCD
Collision Detection (CD)
● Collision detection is an essential part of
various applications
● Physically-based simulation
● Games
● Robotics
cloth simulation
2
Quake 4
KAIST Hubo
Inter- and Self- Collisions
● Inter-collisions
● Collisions between two objects
● Self-collisions (intra-collisions)
● Collisions between
different parts of one object
● Takes much longer
computation time (~100x)
than inter-collisions
3
from Govindaraju’s work
CD for Fracturing Models
● Fracturing
● changes topology (connectivity) of a mesh
 pre-computed information and acceleration
structures become useless
● places many objects in close proximity
 CD cost is increasing
● Fracturing is one of the most
challenging scenarios of
collision detection
4
Goals
● Design a collision detection method that
provides followings:
● efficient performance for detecting inter- and
self-collisions
● stable performance with deforming models that
have geometric and topological changes
5
Our Contributions
● A novel culling method for self-collision
detection, dual-cone method, which is
suitable for fracturing models
● A BVH selective restructuring method based
on a novel cost estimation metric and a fast
BVH construction technique for fracturing
models
6
Benchmarks
Cloth-Ball
Exploding-Dragon
Breaking-Walls
# of
topology
changes
0
fixed topology
4
dynamic topology
8
dynamic topology
complexity
92K
252K -> 252K
42K -> 140K
video
7
Previous Work
(1/2)
● BVH update methods
● Refit
● [Teschner et al, 2005]
● Reconstruction
● [Wald et al, 2006]
● Selective restructuring
● [Larsson et al, 2006], [Yoon et al, 2006]
● Selective restructuring for progressively
fracturing models
● [Otaduy et al, 2006]
● Less attention to topology changing models
8
Previous Work
(2/2)
● Culling techniques for self-CD
● Reduce redundant tests (low level culling)
● [Curtis et al. 2008]
● [Tang et al. 2010]
● Easily combined with our method
● Detect self-collision free regions (high level
culling)
● [Volino and Thalmann 1994]
● [Tang et al, 2008]
● [Sara et al, 2010]
● Do not directly consider topology changes
9
Outline
● Background
● Dual-Cone Method
● BVH Update Method
● Comparison
● Conclusion
10
Outline
● Background
● Dual-Cone Method
● BVH Update Method
● Comparison
● Conclusion
11
Bounding Volume Hierarchies (BVHs)
● Organize bounding volumes as a tree
● Leaf nodes have triangles
12
BVH-based CD
● BVH traversal
BV overlap test
A
B
X
C
Y
Dequeue
(A,X)
Collision test pair queue
13
Z
BVH-based CD
● BVH traversal
BV overlap test
A
B
X
C
Y
Dequeue
Z
Refine
Self-CD
(B,Y) (B,Z) (C,Y) (C,Y) (B,C) (Y,Z)
Collision test pair queue
14
What if “A” does not have any self-collisions?
Self-Collision Free Conditions
[Volino and Thalmann 1994]
● surface is rather flat
● Surface Normal Cone (SNC)
 bounds surface normals
● apex angle of SNC α < 90º
● Efficiently constructed
and updated with BVHs
[Provot 1997]
SNC
α
● No self-intersection on projected contour
( contour test )
15
● Quadratic time complexity
● Dual-Cone method reduces this overhead
Intuition of Dual-Cone Method
● Consider the curvature of projected contour
● Binormal: perpendicular to both
surface normal and contour
● Binormal Cone (BNC)
 bounds binormals
β
Contour without
self-intersection
● No self-intersection on contour
 axis angle of BNC β < 90º
● Dual-Cone: SNC and BNC
16
β
Contour with
self-intersection
Conservativeness of Dual-Cone
● Dual-Cone method does not provide culling
for a whole surface, since it is too conservative
17
Dual-Cone Method with BVH
● Combine with BVH to provide practical culling
C
C
● Ignore virtual contour
C
C
C: No Self-Collision
(culling)
● virtual contour: caused by bounding volume split (---)
18
● Can bring counter-example
● Did not miss any collisions in our complex benchmarks
Dual-Cone Method
● Dual-Cone
● SNC: surface normal cone
● BNC: binormal cone
● Contour test can be replaced
with a test that
whether axis of SNC is
inside BNC or not
19
C
C
Result of Dual-Cone Method
● Dynamic topology model
● About 100x performance improvement at
fracturing events
 prior method need pre-computations
● Fixed topology model
Contour Test
Miss Collisions ? Culling Ratio
FPS
No Test
Yes
49%
3.40
VT94
No
48%
2.54
Dual-Cone
No
46%
3.24
● Did not miss collisions
● Comparable performance with “No Test”
 Low culling overhead
20
Dual-Cone Method
● Pros
● Low culling overhead
 O(1) for each node [Provot 1997]
● Efficiently constructed and updated
for fracturing models
● Cons
● Approximate culling
21
Outline
● Background
● Dual-Cone Method
● BVH Update Method
● Comparison
● Conclusion
22
Selective Restructuring of BVHs
● As models deform, culling efficiency of their BVHs
can be getting lower
● should be restructured
Deform
Restructuring
● How to determine efficiency of BVH?
● LM metric : Overlap volume of sibling nodes
[Larsson and Akenine-Möller 2006]
23
● Our cost metric measures expected number
of intersection tests !
Cost Estimation Metric
(1/2)
● TS (n) = expected # of intersection tests
from node n for self-collision detection
● Recurrence formula
SelfCD(n)  SelfCD(nL )  SelfCD(nR )  InterCD(nL , nR )
A
n
nL
● Replace with cost terms
TS (n)  TS (nL )  TS (nR )  CostInter(nL , nR )
● No self-collision at n  TS (n)  0 (Dual-Cone )
● Dual-Cone operator D(n)  0 or 1 (no self - collision or not)
TS (n)  D(nL )TS (nL )  D(nR )TS (nR )  CostInter(nL , nR )
24
nR
Cost Estimation Metric
(2/2)
TS (n)  D(nL )TS (nL )  D(nR )TS (nR )  CostInter(nL , nR )
● Cost estimation metric TI (n) for inter-collision
detection
[Yoon and Manocha 2006]
● We approximate
CostInter(nL , nR )  TI (nL )  TI (nR )
● Finally we obtain
TS (n)  D(nL )TS (nL )  D(nR )TS (nR )  TI (nL )  TI (nR )
● Metric values can be computed in bottom-up BVH
refitting process
25
Metric Validation
● Estimated # of tests vs Observed # of tests
Observed # of intersection tests
TS (root node of BVH)
● Linear Correlation : 0.71
● for various models ( 0.28 ~ 0.76 , average 0.48 )
26
Selective Restructuring using Our
Metric
compute v recent
v now
v
CD
deform
-restructure
recent
-update v
27
recent
 1.25
Compute v now
v now
v
recent
 1.25
Result of Selective Restructuring
252K triangles, dynamic topology
● LM metric : [Larsson and Akenine-Möller 2006]
● Performance degradations at topological
changes  unstable
28
Fast BVH Construction Method
● At a fracturing event, BVH for fractured part should
be re-constructed
● causes noticeable performance degradation
● Propose BVH construction method
based on grid and hashing
instead of typical NlogN methods
● Constructed hierarchy has
low culling efficiency, but
requires less construction time
29
● Overall performance improved
at fracturing events
Result of Fast BVH Construction
● Performance degradations at fracturing
events are reduced
30
Comparison (Continuous-CD)
252K triangles, dynamic topology
● 260x faster than T-CCD [Tang et al. 2008] at topology
changes
● Our method shows stable performance
● Characteristics of benchmarks!
31
Comparison (Discrete-CD)
42~140K triangles, dynamic topology
● 20x faster than optimized spatial hashing [Teschner et al,
2003] (S-Hash)
● Stable performance
32
Limitations
● Dual-Cone method combined with BVHs is an
approximate method
● BVH selective restructuring method using our
cost estimation metric does not guarantee to
always improve the performance
● Finalize with positive
33
Conclusion
● Stable CD methods for fracturing models
● Dual-cone culling method for self-collision
detection
● BVH selective-restructuring method using our
cost estimation metric measuring estimated # of
intersection tests
● Fast BVH construction method that reduces
performance degradations at fracturing events
34
● 260x performance improvement at fracturing
event over prior BVH based CD method
● 20x performance improvement over optimized
spatial hashing
Fracturing Benchmarks
● Our fracturing benchmarks are at:
http://sglab.kaist.ac.kr/models
● Our project page:
http://sglab.kaist.ac.kr/FASTCD
35
Acknowledgments
● Members of Scalable Graphics Lab, KAIST
● Anonymous reviewers
● Funding agencies
● MEST, NSFC, Spanish Dept. of Science and
Innovation, BK, KAIST, IITA, KRF, MSRA,
ADD, MKE, KSEF
36
Thanks for your attention.
Any question or feedback?
37