Automatic generation of morphological programs

Developing image processing programs is a highly structured process requiring one or more experts, called analysts, to convert their intuition and experience into programs that solve problems such as character recognition, automatic target recognition, or visual assembly line inspection. Rule-based expert systems have been used to assist in the development process, but these systems require the analyst to provide a high level specification that unambiguously describes the task to be solved. Unfortunately, each new problem requires extensive effort to develop a new specification and possibly modify the rule-base. This dissertation describes a non-rule-based system called MORPH that synthesizes image classification or target recognition programs without requiring the analyst to provide a detailed description of the program's actions. MORPH uses an evolutionary search technique to synthesize programs which utilize the operators from mathematical morphology. MORPH maintains a population of morphological programs that is expanded and combined at discrete time intervals. The expansion phase initiates a goal directed search for operator sequences that extract novel target features. This search process is guided by a performance measure which monitors the operators' sensitivity to the designated areas of the target objects. The combination phase selects pairs of programs to combine into a more discriminating program that captures spatial relationships. The newly formed programs serve as the basis for another cycle of expansion and combination. MORPH was implemented and applied to two image classification problems involving binary images. In the first problem, classification of handwritten digits, several solutions were generated that achieved high accuracy on both training and test sets. In addition, some of the machine generated programs produced near perfect accuracy. The system also attained good results on a problem involving the classification of foreign scripts. MORPH was applied to two industrial inspection problems that required the programs to locate the defects in grayscale images of computer components. The machine generated programs exhibited acceptable results on both problems. In general, the machine generated programs achieved accuracies which are comparable to solutions derived with human intervention.