A stochastic approach for collision detection in a highly deformable surface Laks Raghupati, Vincent Cantin, François Faure, Marie-Paule Cani EVASION-GRAVIR (CNRS,INRIA,INPG,UJF) Collaboration with IRCAD, Strasbourg and LIFL, Lille
Motivation Minimally invasive surgery training One camera Two actuators Challenges: (Tissue and fluid modeling) Highly colliding bodies Real-time simulation
Previous work Real-time volumetric deformation ● [Cotin00], [Debunne01], [James99,02],[Meseure00],[Pincibono02],[Muller02] Collision detection ● Sphere trees [Palmer95],[Bradshaw02] ● Delaunay triangulations [Cohen95] ● OBB-trees [Gottschalk96] ● AABB-trees [van den Bergen97] ● Temporal coherency [Lin 92]
Medical context Operate on colon Need first to push the small intestine apart
The mesentery Not a well-defined geometric object A lot of self-collisions
A model of intestine and mesentery Topology: rectangular mesh with diagonals
Initial shape Collision-free Intestine developed on a cylinder Attachement = axis Intestine
Mechanical model Mass-spring system with edge-edge collisions
Collision detection Typically % CPU time Lot of previous work (grids, space-based hierarchies, object-based hierarchies...) We want to control the computation time Use time coherency Manage a set of active pairs
Closest features Local minima of distance (edge pairs) Initialized randomly Updated at each time step
Distance update Visit the neighboring pairs Line-line: 3*3 distance computations Line-surface: 3*11 Surface-surface: 11*11
Reducing the number of distance computations Ignore mesentery-mesentery collisions Possible in this context Update one edge then the other n+m computations instead of n*m Further optimizations ?
Managing the set of active pairs At each frame: Pick n pairs randomly Update each pair (local minimas) Delete redundant pairs Delete pairs with distance > D Tune computation time using n and D
Tests Stochastic vs O(n²)
Propagation The method (hopefully) finds one colliding pair per colliding region Collisions are recursively searched starting from the colliding pair The propagation is expensive ● Use a hash map to tag the edge pairs already explored ● Apply heuristics to reduce the search
Computation time Stochastic vs O(n²) Needs comparisons with other methods
Application 400 particles 30 fps Nicer rendering using harware skinning and texture mapping
Demo
Conclusion Collision detection for highly deformable objects www-imagis.imag.fr/Membres/Francois.Faure/papers/intestine Tune the computation time Future work ● Triangle-triangle collisions (Matthieu Nesme) ● Better heuristics (Matthieu Nesme) Search and propagation Criteria for deleting: distance, velocity ● Comparison with other approaches Hierarchical k-dops (Stefan Kimmerle) ● Toward a realistic surgery simulator