The NeMeSi Project

Arrow Overview
Arrow Data structure
Arrow Fairing
Arrow Multiresolution
Arrow Subdivision
Arrow Feature Extraction
Arrow Publications

The feature extraction framework

Another important component of the NeMeSi framework is the capability to extract and preserve features from models. This goal is accomplished using the pipeline shown in the following figure:
The feature extraction pipeline
This feature extraction technique can be applied on manifold surfaces only. Therefore, The features of a model are extracted one n-cell at a time.

Classification

The classification phase compute a weight for every edge, proportional to the probability that the edge belongs to a feature. Thus, edges close to features have higher weights, and vertices further away have smaller wights. We implemented various operators to accomplish this goal, from a simple extension to the second order differences to a resolution independent operator.

Detection

In the detection step, a set of important edges is selected using a hysteresis function, and feature patches are subsequently extracted. Finally, a thinning algorithm is used to reduce the patches to piecewise linear curves. The three steps involved in this process are illustrated by the following example:
Input surface Set of selected edges Set of feature patches Set of mesh features
In an optional post-process step, unimportant mesh feature can be discared, in order to preserve the most important information.

Multiresolution extraction

The first and last pipeline stages are used to extract features in a multiresolution setting. This is accomplished as follows:
  1. First, a multiresolution representation of the input surface is constructed using progressive mesh. We use this particular simplification operator, since it can be used in conjunction with our operators efficiently. This information is computed in the first pipeline stage.
  2. The standard feature extraction techniques are applied to the coarse representation of the input surface. This operation can be performed very efficiently, since the coarse approximation only contains few edges.
  3. After the mesh feature set has been computed, the coarse mesh is refined using the vertex split operators computed in the first pipeline stage. During this refinement process, the feature information is updated incrementally, so that the full-resolution surface contains a set of full-resolution features.
    The refinement process is illustrated by the following example:
    Coarse mesh Intermediate mesh Full-resolution mesh
We believe feature extraction to be of paramount importance in our framework, since it allows us to apply operators to our model while preserving the important information. In particular, we want to present two examples: feature-preserving fairing and feature-preserving subdivision:
Noisy model Smooth model
Coarse mesh Subdivided mesh

Valid HTML 4.0!