Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fast Collision Detection for Deformable Models using Representative-Triangles Sean Curtis 1, Rasmus Tamstorf 2, & Dinesh Manocha 1 I3D 2008 February 15,

Similar presentations


Presentation on theme: "Fast Collision Detection for Deformable Models using Representative-Triangles Sean Curtis 1, Rasmus Tamstorf 2, & Dinesh Manocha 1 I3D 2008 February 15,"— Presentation transcript:

1 Fast Collision Detection for Deformable Models using Representative-Triangles Sean Curtis 1, Rasmus Tamstorf 2, & Dinesh Manocha 1 I3D 2008 February 15, 2008 1 University of North Carolina at Chapel Hill 2 Walt Disney Animation Studios

2 Faster Collision Detection Seven layers of cloth and body with 50K triangles. 3.3X collision detection speed-up with Representative Triangles.

3 Previous Work General surveys –Ericson 2004; Lin and Manocha 2003; Teschner et al. 2005.

4 Previous Work Triangle-pair Culling –BVH - BV types Sphere, Swept-sphere, AABB, OBB, k-DOP, hybrid, etc. Bradshaw and O’Sullivan. 2004; Gottschalk et al. 1996; Hubbard 1993; Klosowski et al. 1998; van den Bergen 1997; etc.

5 Previous Work Triangle-pair Culling –BVH Management Restructuring, rebuilding, lazy construction, etc. Larsson and Akenine-Möller 2006; Otaduy et al. 2007, Yoon et al. 2007; Zachmann and Weller 2006.

6 Previous Work Triangle-pair Culling –BVH Management Restructuring, rebuilding, lazy construction, etc. Larsson and Akenine-Möller 2006; Otaduy et al. 2007, Yoon et al. 2007; Zachmann and Weller 2006. –Specialized culling techniques Normal cones, GPU-based culling, etc. Govindaraju et al. 2005; Provot 1997; Sud et al. 2006.

7 Previous Work Feature-based Collision Detection –Voronoi regions (convex and non-convex) Ehmann and Lin 2001; Lin and Canny 1991; Mirtich 1998.

8 Previous Work Feature-based Collision Detection –Voronoi regions (convex and non-convex) Ehmann and Lin 2001; Lin and Canny 1991; Mirtich 1998. –Feature BVs Hutter and Fuhrmann 2007.

9 Previous Work Continuous Collision Detection –Reduction of elementary tests –Govindaraju et al. 2005; Hutter and Fuhrmann 2007; Tang et al. 2007; Wong 2005, etc.

10 Continuous Collision Detection (CCD) Time of collision. t = i+1t = i

11 Continuous Collision Detection (CCD) Time of collision. t = i+1t = i+Δtt = i

12 Continuous Collision Detection (CCD) Time of collision. Test between features (vertices, edges and faces.) Edge-EdgeVertex-Face

13 Triangles vs. Features Triangles used for culling.

14 Triangles vs. Features Triangles used for culling. CD operates on features.

15 Triangles vs. Features Triangles used for culling. CD operates on features. This leads to: –Less efficient culling –Elementary test duplication

16 Culling Efficiency Features usually occupy significantly less space than their corresponding triangles.

17 Culling Efficiency Features usually occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests

18 Culling Efficiency Features can occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests Based on feature BVs: –1 EE test

19 Culling Efficiency Features can occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests Based on feature BVs: –1 EE test

20 Culling Efficiency Features can occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests Based on feature BVs: –2 EE tests

21 Culling Efficiency Features can occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests Based on feature BVs: –2 EE tests

22 Culling Efficiency Features can occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests Based on feature BVs: –2 EE tests

23 Culling Efficiency Features can occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests Based on feature BVs: –2 EE tests

24 Culling Efficiency Features can occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests Based on feature BVs: –2 EE tests

25 Culling Efficiency Features can occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests Based on feature BVs: –2 EE tests

26 Culling Efficiency Features can occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests Based on feature BVs: –2 EE tests

27 Culling Efficiency Features can occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests Based on feature BVs: –2 EE tests –0 VF tests

28 Culling Efficiency Features can occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests Based on feature BVs: –2 EE tests –0 VF tests

29 Culling Efficiency Features can occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests Based on feature BVs: –2 EE tests –0 VF tests

30 Culling Efficiency Features can occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests Based on feature BVs: –2 EE tests –1 VF test

31 Culling Efficiency Features can occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests Based on feature BVs: –2 EE tests –1 VF test

32 Culling Efficiency Features can occupy significantly less space than their corresponding triangles. Based on triangle BVs: –15 elementary tests Based on feature BVs: –2 EE tests –1 VF test

33 Elementary Test Duplication The intersecting vertex is shared by six triangles.

34 Elementary Test Duplication The intersecting vertex is shared by six triangles. The VF test could be spawned by six different triangle pairs.

35 Representative Triangles (R-Tris) R-Tris definition R-Tris usage R-Tris properties Computing R-Tris (assignment)

36 R-Tri Definition An augmented triangle that “represents” some subset of its features and their corresponding feature BVs.

37 R-Tri Definition Feature Assignment The pattern in which each feature is assigned to an R-Tri is an assignment scheme.

38 R-Tri Definition Feature Assignment The pattern in which each feature is assigned to an R-Tri is an assignment scheme. Assignment scheme –Not unique. –Every feature is assigned to one and only one triangle, incident to the feature.

39 R-Tri Usage Given a pair of R-Tris that are potentially colliding: –Find corresponding feature pairs.

40 R-Tri Usage Given a pair of R-Tris that are potentially colliding: –Find corresponding feature pairs. –Test feature BVs.

41 R-Tri Usage Given a pair of R-Tris that are potentially colliding: –Find corresponding feature pairs. –Test feature BVs.

42 R-Tri Usage Given a pair of R-Tris that are potentially colliding: –Find corresponding feature pairs. –Test feature BVs.

43 R-Tri Usage Given a pair of R-Tris that are potentially colliding: –Find corresponding feature pairs. –Test feature BVs.

44 R-Tri Usage Given a pair of R-Tris that are potentially colliding: –Find corresponding feature pairs. –Test feature BVs. –Spawn elementary tests.

45 R-Tri Usage Given a pair of R-Tris that are potentially colliding: –Find corresponding feature pairs. –Test feature BVs. –Spawn elementary tests. Improves culling and eliminates duplicates.

46 R-Tris Properties General –Compatible with any triangle-pair culling algorithm (including grids, BVHs, sweep & prune, GPU occlusion queries, etc.)

47 R-Tris Properties Complete –R-Tris will find all collisions, guaranteed.

48 R-Tris Properties Compact –R-Tris need no additional memory. (However, O(|E|) data can be cached to potentially boost performance.)

49 R-Tris Properties Connectivity-based –Representation is a function of topology. For meshes which only undergo deformation, assignment is a pre-processing step.

50 Computing R-Tris Assignment Schema How are features assigned to R-Tris? Does it matter? How many elementary tests are performed per contact?

51 Assignment Schema Optimal assignment –One elementary test per contact.

52 Assignment Schema Optimal assignment –One elementary test per contact. –Dependent on triangle-pair culling efficiency.

53 Assignment Schema Optimal assignment –One elementary test per contact. –Dependent on triangle-pair culling efficiency. –Assignment schema offer limited freedom.

54 Assignment Schema Example

55 Assignment Schema Example Tests –2 VF, 0 EE Total –2 VF, 0 EE

56 Assignment Schema Example Tests –2 VF, 2 EE Total –4 VF, 2 EE

57 Assignment Schema Example Tests –1 VF, 4 EE Total –5 VF, 6 EE

58 Assignment Schema Example Tests –1 VF, 4 EE Total –6 VF, 10 EE

59 Assignment Schema Example Tests –1 VF, 2 EE Total –7 VF, 12 EE

60 Assignment Schema Example Tests –2 VF, 4 EE Total –9 VF, 16 EE

61 Assignment Schema Example

62 Assignment Schema Example Tests –0 VF, 0 EE Total –0 VF, 0 EE

63 Assignment Schema Example Tests –1 VF, 0 EE Total –1 VF, 0 EE

64 Assignment Schema Example Tests –0 VF, 0 EE Total –1 VF, 0 EE

65 Assignment Schema Example Tests –0 VF, 0 EE Total –1 VF, 0 EE

66 Assignment Schema Example Tests –0 VF, 0 EE Total –1 VF, 0 EE

67 Assignment Schema Example Tests –0 VF, 0 EE Total –1 VF, 0 EE

68 Global Optimality A single assignment scheme which provides optimal performance for all cases.

69 Global Optimality A single assignment scheme which provides optimal performance for all cases. Unfeasible in general

70 Global Optimality A single assignment scheme which provides optimal performance for all cases. Unfeasible in general –No a priori knowledge of deformations.

71 Global Optimality A single assignment scheme which provides optimal performance for all cases. Unfeasible in general –No a priori knowledge of deformations. –Representation is localized. The probability that neighboring triangles are included by the triangle- pair culling algorithm are high.

72 Global Assignment Schema Maximal Scheme [Wong and Baciu 2005] Total Tests –3 VF Empty Tri

73 Global Assignment Schema Maximal Scheme [Wong and Baciu 2005] Total Tests –9 VF –27 EE Average –19.5 tests Full Tri

74 Global Assignment Schema Uniform Scheme Total Tests –9 VF –9 EE V-E Tri

75 Global Assignment Schema Uniform Scheme Total Tests –9 VF –9 EE Average –18 tests E-E Tri

76 Global Assignment Schema Efficacy of a scheme depends on: –Actual mesh deformation, and –Triangle-pair culling efficiency.

77 Global Assignment Schema Efficacy of a scheme depends on: –Actual mesh deformation, and –Triangle-pair culling efficiency. The assignment scheme doesn’t really matter.

78 Global Assignment Schema Simple greedy scheme –Visit each triangle For each incident feature that hasn’t already been assigned, assign it to this triangle.

79 Global Assignment Schema Simple greedy scheme –Visit each triangle For each incident feature that hasn’t already been assigned, assign it to this triangle Very simple. Very fast.

80 Benchmarks Flamenco Dancer Tris: 50 K Verts: 26 K Edges: 75 K Frames: 352 Princess Tris: 92 K Verts: 47 K Edges: 139 K Frames: 1045 N-Body Balls Tris: 34 K Verts: 18 K Edges: 51 K Frames: 375 Cloth-Ball Tris: 40 K Verts: 20 K Edges: 60 K Frames: 465

81 Results System Characteristics –Binary BVH. –AABB BVs. –For self-collision, adjacent features are never tested.

82 Results System Characteristics –Binary BVH. –AABB BVs. –For self-collision, adjacent features are never tested. Hardware –Intel Xeon 3 GHz with 3 GBytes RAM –32-bit Windows XP

83 Results Comparison Algorithms –R-Tri (RTRI) * In the paper DB is ADJ and MARK is NO-DUPL.

84 Results Comparison Algorithms –R-Tri (RTRI) –Database (DB) * Run-time database to eliminate duplicate queries. Feature BVs for improved culling. * In the paper DB is ADJ and MARK is NO-DUPL.

85 Results Comparison Algorithms –R-Tri (RTRI) –Database (DB) * Run-time database to eliminate duplicate queries. Feature BVs for improved culling. –Mark-up (MARK) * Uses representation without feature BVs. * In the paper DB is ADJ and MARK is NO-DUPL.

86 Results Comparison Algorithms –R-Tri (RTRI) –Database (DB) * Run-time database to eliminate duplicate queries. Feature BVs for improved culling. –Mark-up (MARK) * Uses representation without feature BVs. –Baseline (BASIC) No duplicate culling and no feature BVs. * In the paper DB is ADJ and MARK is NO-DUPL.

87 Results Average Number of Elementary Tests (× 10 6 ) / Average Frame Time for CCD (sec) Speed-up of R-TRI R-TRIDBMARKBASICR-TRIDBMARKBASIC 0.23 / 0.09 0.23 / 0.13 0.74 / 0.13 2.0 / 0.46 1.0 X1.5 X 5.3 X 0.27 / 0.23 0.27 / 0.39 1.7 / 0.36 7.6 / 1.15 1.0 X1.7 X1.6 X5.1 X 0.45 / 0.15 0.45 / 0.43 1.2 / 0.22 5.5 / 0.75 1.0 X2.9 X1.4 X5.0 X 0.46 / 0.19 0.46 / 0.63 1.5 / 0.28 6.8 / 0.92 1.0 X3.3 X1.5 X4.9 X

88 Limitations Subservient to the choice of BV-type – even with feature BVs (AABB) false positives > 90%.

89 Limitations Subservient to the choice of BV-type – even with feature BVs (AABB) false positives > 90%. Benefit decreases as the meshes become triangle soups – every triangle represents all of its own features.

90 Limitations Subservient to the choice of BV-type – even with feature BVs (AABB) false positives > 90%. Benefit decreases as the meshes become triangle soups – every triangle represents all of its own features. It may take a performance hit in memory- strapped systems.

91 Conclusions A simple mechanism for accelerating collision detection.

92 Conclusions A simple mechanism for accelerating collision detection. –Eliminates duplicate queries without expensive run-time data structures.

93 Conclusions A simple mechanism for accelerating collision detection. –Eliminates duplicate queries without expensive run-time data structures. –Easy to implement.

94 Conclusions A simple mechanism for accelerating collision detection. –Eliminates duplicate queries without expensive run-time data structures. –Easy to implement. –Complementary to most existing CD systems.

95 Conclusions A simple mechanism for accelerating collision detection. –Eliminates duplicate queries without expensive run-time data structures. –Easy to implement. –Complementary to most existing CD systems. –Orthogonal to culling algorithm and BV type.

96 Acknowledgments ARO NSF DARPA/RDECOM Intel Walt Disney Animation Studios

97 Questions

98 References BRADSHAW, G., AND O’SULLIVAN, C. 2004. Adaptive medial-axis approximation for sphere-tree construction. ACM Trans. on Graphics 23, 1. EHMANN, S., AND LIN, M. C. 2001. Accurate and fast proximity queries between polyhedra using convex surface decomposition. Computer Graphics Forum (Proc. of Eurographics’2001) 20, 3, 500–510. ERICSON, C. 2004. Real-Time Collision Detection. Morgan Kaufmann. GOTTSCHALK, S., LIN, M., AND MANOCHA, D. 1996. OBBTree: A hierarchical structure for rapid interference detection. Proc. of ACM Siggraph’96, 171– 180.

99 References GOVINDARAJU, N., KNOTT, D., JAIN, N., KABAL, I., TAMSTORF, R., GAYLE, R., LIN, M., AND MANOCHA, D. 2005. Collision detection between deformable models using chromatic decomposition. ACM Trans. on Graphics (Proc. of ACM SIGGRAPH) 24, 3, 991–999. HUBBARD, P. M. 1993. Interactive collision detection. In Proceedings of IEEE Symposium on Research Frontiers in Virtual Reality. HUTTER, M., AND FUHRMANN, A. 2007. Optimized continuous collision detection for deformable triangle meshes. In Proc. WSCG ’07, 25–32. KLOSOWSKI, J., HELD, M., MITCHELL, J., SOWIZRAL, H., AND ZIKAN, K. 1998. Efficient collision detection using bounding volume hierarchies of k-dops. IEEE Trans. on Visualization and Computer Graphics 4, 1, 21–37.

100 References LARSSON, T., AND AKENINE-MÖLLER, T. 2006. A dynamic bounding volume hierarchy for generalized collision detection. Computers and Graphics 30, 3, 451– 460. LIN, M., AND CANNY, J. F. 1991. Efficient algorithms for incremental distance computation. In IEEE Conference on Robotics and Automation, 1008–1014. LIN, M., AND MANOCHA, D. 2003. Collision and Proximity Queries. In Handbook of Discrete and Computational Geometry: Collision detection MIRTICH, B. 1998. V-Clip: Fast and robust polyhedral collision detection. ACM Transactions on Graphics 17, 3 (July), 177–208.

101 References MOLLER, T. 1997. A fast triangle-triangle intersection test. Journal of Graphics Tools 2, 2. OTADUY, M., CHASSOT, O., STEINEMANN, D., AND GROSS, M. 2007. Balanced hierarchies for collision detection between fracturing objects. In IEEE Virtual Reality. PROVOT, X. 1997. Collision and self-collision handling in cloth model dedicated to design garment. Graphics Interface, 177–189. TANG, M., YOON, S., CURTIS, S., AND MANOCHA, D. 2007. Interactive continuous collision detection between deformable models using connectivity-based culling. UNC Chapel Hill, Technical Report.

102 References TESCHNER, M., KIMMERLE, S., HEIDELBERGER, B., ZACHMANN, G., RAGHUPATHI, L., FUHRMANN, A., CANI, M.- P., FAURE, F., MAGNENAT-THALMANN, N., STRASSER, W., AND VOLINO, P. 2005. Collision detection for deformable objects. Computer Graphics Forum 19, 1, 61–81. TROPP, O., TAL, A., SHIMSHONI, I. 2006. A fast triangle to triangle intersection test for collision detection. Computer Animation and Virtual Worlds 17, 5, 527–535. VAN DEN BERGEN, G. 1997. Efficient collision detection of complex deformable models using AABB trees. Journal of Graphics Tools 2, 4, 1–14.

103 References WONG, W. S.-K., AND BACIU, G. 2006. A randomized marking scheme for continuous collision detection in simulation of deformable surfaces. Proc. of ACM VRCIA. YOON, S., CURTIS, S., AND MANOCHA, D. 2007. Ray tracing dynamic scenes using selective restructuring. Proc. of Eurographics Symposium on Rendering. ZACHMANN, G., AND WELLER, R. 2006. Kinetic bounding volume hierarchies for deforming objects. In ACM Int’l Conf. on Virtual Reality Continuum and its Applications.

104 Feature-based Hierarchies Memory –There are 2 * N nodes in a BVH with N nodes. –Typically, |E| + |V| = 2 * F. –There are 3 * F total leaves yielding 6 * F total nodes. –In a triangle soup, |E| + |V| = 6 * F giving 14 * F total nodes.

105 Representative Triangles The Strengths Preliminary results – VF culling: BenchmarkTotal non- adjacent pairs Implied VF tests VF_BV Overlaps VF_BV Cull rate V-Line Intersections V-Line Cull rate balls4.7 x 10 7 2.82 x 10 8 7.81 x 10 7 72.3% 6.23 x 10 7 77.9% cloth-ball9.98 x 10 7 5.99 x 10 8 1.36 x 10 8 77.4% 7.22 x 10 7 87.9% princess2.33 x 10 8 1.4 x 10 9 7.12 x 10 8 49.1% 4.78 x 10 8 65.8% dragon- bunny 2.66 x 10 8 1.6 x 10 9 1.04 x 10 9 34.9% 7.49 x 10 8 53.1%

106 Representative Triangles The Strengths Preliminary results – EE culling: BenchmarkTotal non- adjacent pairs Implied EE tests EE_BV Overlaps EE_BV Cull rate balls4.7 x 10 7 4.23 x 10 8 1.78 x 10 8 58.0% cloth-ball9.98 x 10 7 8.98 x 10 8 3.3 x 10 8 63.2% princess2.33 x 10 8 2.1 x 10 9 1.33 x 10 9 36.7% dragon- bunny 2.66 x 10 8 2.4 x 10 9 1.8 x 10 9 24.9%

107 Last Thoughts Zero additional memory –Swept vertices need no BV. –Edge BVs can be computed on the fly. –Assignment encoded in triangle ID. Adaptive reassignment –Might be possible to adaptively change assignments to accommodate actual collisions. –Move non-colliding feature assignments to incident tris not involved in collisions.


Download ppt "Fast Collision Detection for Deformable Models using Representative-Triangles Sean Curtis 1, Rasmus Tamstorf 2, & Dinesh Manocha 1 I3D 2008 February 15,"

Similar presentations


Ads by Google