Post on 29-Jan-2016
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, Strasbourgand LIFL, Lille
Motivation
Minimally invasivesurgery 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 developedon a cylinder
Attachement = axis
Intestine
Mechanical model
Mass-spring system with edge-edge collisions
Collision detection
Typically 70-90 % 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 minimaof 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
Number of segmentsComputation time (ms)
O(n²) Stochastic50 30 10100 120 17200 473 27
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