|
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:
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:
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:
- 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.
- 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.
- 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:
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:
|