Surfaces are not the only evidence accepted for model features - previously recognized subcomponents are also used. For example, a nose would be such a subcomponent in the context of a face. The structures can be rigidly connected to the parent object (e.g. nose to face) or non-rigidly connected (e.g. arm to body). The collections should correspond to model features because of the model segmentation assumptions (Chapter 7) and the surface cluster formation process (Chapter 5).
Any analysis associated with these structures can be reduced to analysis of the subcomponent SURFACEs, but it would be desirable to use the larger units. First, the substructures might have been previously identified, and so processing should not be duplicated, and second, the use of larger structural units helps reduce the combinatorial matching. Finally, parsimony dictates that matching should proceed at the level of descriptions, and complex objects would be described using subcomponents.
Because of the hierarchical synthesis  nature of the recognition process, previously recognized subcomponents can be directly integrated as evidence, without having to return to the surface analysis . As the subcomponent's type is already a strong constraint on its usability, the remaining constraints are:
The placement test is:
|be the global transformation for the subcomponent|
|be the transformation from the subcomponent's to the object's reference frame|
|if (by INVERSE and TRANSFORM) is consistent with the object's reference frame (by MERGE) then allow attachment.|
No structure adjacency criterion was implemented, but subcomponent SURFACEs should be adjacent to other object SURFACEs, as conditioned by any external or self-occlusion. Figure 9.8 illustrates the subcomponent aggregation process.
Only one instance of a recognizable rigidly connected subcomponent occurred in the test image. Here, the cylindrical robot shoulder body and the small triangular shoulder patch were joined to form the complete robot shoulder. The combination passed the placement test, so proceeded to verification.