3.3 FEATURE RECOGNITION ISSUES
Modeling systems such as Noodles are particularly rich in topological and geometric information concerning edges, faces, and vertices as well as their adjacency relations. The total number of elements in models based on industrial parts is usually large and features can be quite complex in their definition. Such abundance of information in geometric models makes a brute-force, pattern-matching approach to feature recognition practically intractable. It can be shown that the problem is NP-complete and the results could be characterized by a combinatorial explosion [Gadh & Prinz 91].
In addition to the problem of combinatorial explosion, there exists the problem of variation due to the topological variation. This is related to a given representation and the modeling system being used. Noodles, for instance, currently linearizes its surfaces and this linearization can be done to any level of refinement. For example, a conical boss can be roughly represented with eight sides or use a more refined representation involving thirty two sides. Topological variations are due primarily to the chosen representation and not the underlying part geometry.
Apart from topological variations, the actual geometric shape and configuration of a feature will vary. Not all variations will define a new shape feature. As such, feature extraction techniques must effectively deal with legitimate design variations which either deviate from the definition of an ideal feature or involve multiple features.
There are several published techniques to recognize features from low-level CAD data. Most employ boundary-representation graphs using face-edge-vertex (F-E-V) information. A template feature, defined in terms of the given graph, is matched against the given model to isolate a sub-graph [Chuang & Henderson 90][de Floriani and Bruzzone][Finger & Safier 90] [Gavankar and Henderson 90]. The approaches which best lend themselves to formal treatment are those which use a formal grammar to describe "syntactically correct" variations in a shape feature [Pinilla et al 89][Safier & Finger 90].
Several researchers have used formal grammars to work with geometric variations in features [Henderson 84] [Pinilla et al 89]. With such techniques, feature recognition involves a process of parsing. Having prepared an appropriate syntactic representation, it is necessary to define parsing operators for the grammar. The parsing of context-free string grammars is well understood in formal language theory. However, variations in features found in a three-dimensional solid are difficult to express in string grammars [Pinilla et al 89].
Experience has shown that eliciting all potential variations of a feature is difficult; engineers are far more comfortable specifying what defines a feature than specifying all the variations that do not ultimately affect feature's classification. With these techniques, feature templates and all possible variations must be explicitly defined, whether directly as a graph or in terms of rewrite rules. It would fare better for an engineer to just describe the essential - generic - characteristics of a feature, with variations, which do not interfere with these characteristics, implicitly handled.
Another drawback is the computational complexity of the feature recognition process itself. Although heuristics in some algorithms provide efficiency, graph matching problems are intrinsically a sub-graph isomorphism problem and are NP-Complete [Garey & Johnson 79]. As the number of features and permissible variations increase, the problem becomes more difficult. As the complexity of the features increases, the problem becomes intractable.