Degenerate Results

For a given trained pattern, set of enabled degrees of freedom, and run-time image, PatMax returns the transformation that best describes the appearance of the trained pattern in the run-time image. For some combinations of patterns, degrees of freedom, and run-time images there are multiple equally correct transformations.

For example, if you train a circular pattern, then search for that pattern with the angle degree of freedom enabled in an image containing a circle, there are an infinite number of equally valid transformations. The combination of such a trained pattern, enabled degrees of freedom, and run-time image is called a degenerate system. Each of the results is called a degenerate result.

If a particular PatMax result is degenerate, that means that there are other equally accurate transformations that describe the difference between the trained pattern and the object in the run-time image. You can determine whether or not a particular result is degenerate by requesting diagnostic information for that result. See Run-time Information Strings.

Note: In most cases, PatMax will have detected the potential for degenerate solutions when you trained the pattern.

The figure below shows an example of a trained pattern and run-time image that produces multiple degenerate results when the uniform scale degree of freedom is enabled.

Pattern and run-time image with potentially degenerate solutions

Any attempt to locate the trained pattern shown in the figure above in the run-time image shown in the figure above with the uniform scale degree of freedom enabled will result in an infinite number of identically transformed instances of the trained pattern in the run-time image. Each instance has the same degree of uniform scale change, and each is located at a different offset within the horizontal line in the run-time image. The figure below shows some of these degenerate results.

Degenerate solutions

The actual number of degenerate results that PatMax returns in a situation like the one shown in the figure above is determined by the overlap thresholds that you configure for PatMax. For example, if you specified an area overlap value of 5%, then PatMax would return approximately the number of results shown in the figure below.

Number of degenerate results limited by overlap threshold

Because the additional pattern instances shown in the figure above (entitled Degenerate solutions) overlap each other by more than 5%, they are discarded by PatMax.

Individual regions of a PatFlex pattern (or PatPersp pattern) might be locally degenerate in which case the resulting transform may not have correct information about some aspects of the pattern. For example, if part of the pattern is a circle with no other features around it, the region containing only the circle would be degenerate in that the transform has no valid information about rotational changes.