next up previous
Next: The Category Definition Up: The GRUFF Object Previous: The GRUFF Object

The Knowledge Primitives

All of GRUFF'S reasoning about shape is performed using ``low level" procedural knowledge which is implemented as a set of knowledge primitives. Each knowledge primitive represents some primitive physical property concerning shape, physics, or causation. Each knowledge primitive takes some (specified portions of a) 3-D shape description as its input, along with values of the parameters for the primitive, and returns an evaluation measure between 0 and 1. The evaluation measure represents how well the shape element satisfies the particular invocation of the primitive.

The knowledge primitives used by GRUFF to recognize chairs are [Stark Bowyer1991,Stark Bowyer1994,Sutton, Stark, Bowyer1993]:

  1. relative_orientation (normal_one, normal_two, range_parameters)
    This primitive determines if the angle between the normals for two surfaces (normal_one and normal_two) falls within a desired range.
  2. dimensions ( shape_element, dimension_type, range_parameters )
    This primitive can be used to determine if the dimension (e.g. width or depth) of a surface lies within a specified range.
  3. proximity ( proximity_type, shape_element_one, shape_element_two )
    This primitive can be used to check qualitative relations between shape_elements, such as above, below and close to.
  4. clearance ( object_description, clearance_volume )
    This primitive can be used to check for a specified volume of unobstructed free space in a location relative to a particular part of the shape.

  5. stability ( shape, orientation, applied_force )
    This primitive can be used to check that a given shape is stable when placed on a flat supporting plane in a given orientation and with a (possibly zero) force applied.

Each of the first two knowledge primitives include four range parameters: z1 (stands for 1st zero point), n1 (1st normal point), n2 (2nd normal point), and z2 (2nd zero point). These parameters are used to define a trapezoidal fuzzy membership function, as in Figure 2, for calculating an evaluation measure for the invocation of the primitive. The last three of the knowledge primitives do not have range parameters. They return an evaluation measure of 1 or 0 depending on whether or not the primitive physical property has been satisfied.

 
Figure 2:   Fuzzy membership function returns an evaluation measure of a primitive physical property.

Trapezoidal membership functions reflect a desire to name (categorize) objects in a manner compatible with human naming. There is typically a non-trivial range for the ``ideal" value of many physical properties related to functionality. For example, while there is a unique value for the mean sittable surface area of a population of chairs, that value is not the only one that would rate a perfect ``1.0" for sittability. Reasonable deviations result in no decrease in the sittability. When the sittable surface area falls outside the ideal range (i.e., between z1 and n1, or between n2 and z2 in Figure 2), the evaluation measure is reduced, indicating the surface provides a less than perfect (but still functional) sittable area. Finally, when the area falls outside the range of values (less than z1, or greater than z2 in Figure 2), the surface can no longer function as the sittable portion of a chair, and a evaluation measure of 0 is returned.



next up previous
Next: The Category Definition Up: The GRUFF Object Previous: The GRUFF Object



Larry &
Wed Oct 18 17:48:34 EDT 1995