On-the-fly Curve-skeleton Computation for 3D shapes
Andrei Sharf, Thomas Lewiner, Ariel Shamir, Leif Kobbelt
On-the-fly curve-skeleton computation for a real scan of a woman model. Even in the presence large missing data
(left), the deformable model accurately interprets the shape to generate a thin curve skeleton with a meaningful segmentation.
The curve-skeleton of a 3D object is an abstract geometrical and topological representation of its 3D shape. It maps the spatial relation of geometrically meaningful parts to a graph structure. Each arc of this graph represents a part of the object with roughly constant diameter or thickness, and approximates its centerline. This makes the curve-skeleton suitable to describe and handle articulated objects such as characters for animation. We present an algorithm to extract such a skeleton on-the-fly, both from point clouds and polygonal meshes. The algorithm is based on a deformable model evolution that captures the object’s volumetric shape. The deformable model involves multiple competing fronts which evolve inside the object in a coarse-to-fine manner. We first track these fronts’ centers, and then merge and filter the resulting arcs to obtain a curve-skeleton of the object. The process inherits the robustness of the reconstruction technique, being able to cope with noisy input, intricate geometry and complex topology. It creates a natural segmentation of the object and computes a center curve for each segment while maintaining a full correspondence between the skeleton and the boundary of the object.
Color mapping of the evolution tension parameter (left). The initial skeleton structure (left) is filtered using the evolution tension parameter (center left), simplifying the skeleton (center right) while preserving the skeleton/model correspondence and segmentation (right).
Filtering of the curve-skeleton of a dragon mesh
Tracking the center of fronts during reconstruction defines the inner curve-skeleton of a multi-torus object. The topological events on the deformable model are mapped as loops in the curve-skeleton.