165
Obviously some attributes of features are more
important than others and not all attributes are
required to identify a feature. Generally speaking,
spectral and shape attributes are more important
identifiers at the very coarsest levels of the
interpretation hierarchy, while size, shape and
texture information become more important at
more detailed levels. The system was therefore
designed to give the user the option to supply those
attributes which are deemed most important for the
situation at hand. Alternatively, the system is
capable of informing the user if more specific
information is required, or if the system's
interpretation is based on incomplete information.
Once a feature has been identified, the result will be
displayed to the user and will be added to the data
base, so that it can be retrieved for future use during
the interpretation. In addition to storing the
identity of a feature, the category it belongs to, its
place in the interpretation hierarchy, and its
coordinates are also stored to facilitate integration
into a GIS.
4.4 Choice of Programming Languages
Fortran was chosen for the image analysis part of
the system because of its algorithmic nature and the
availability of a wide range of statistical/analytical
software routines. In addition, software previously
developed by Paine (1987) was incorporated into the
smoothing and segmentation process, and this also
was written in Fortran. (The overall structure of
the automated image interpretation system is
shown in Figure 3).
Prolog, a traditional artificial intelligence language,
was chosen for the image understanding part of the
system. Prolog is well suited to problems that
involve objects and the relationships between
objects, because of its declarative rather than
procedural approach. This enhances the
modularity of the program, and makes it easier to
add new information to the knowledge base, if the
application area of the system is to be expanded or if
new information about the field becomes available
(Genesereth and Ginsberg, 1985). These properties
make Prolog a language suitable for prototyping.
For automated image interpretation, modularity,
and especially the backtracking mechanism, which
is a built-in feature of Prolog, is extremely
important. In a truly modular system, relaxing
some of the assumptions outlined in Section 4.3
above merely involves the addition of new
modules to the knowledge base. The structure of
the original rules can, for the most part, remain
unchanged.
Although the construction of a natural language
user interface was not the focus of this research, it
should be noted that Prolog is suitable for natural
language parsing. An expert-like facade, which
explains system reasoning, can therefore be added
to the system at a later point in time without the
problem of interfacing different programming
languages. The extraction of spatial attributes, such
as area and shape, however, is a task for which
Prolog is not well suited, because spatial attribute
extraction requires numerical computations which
are procedural in nature. Area calculations in a
raster image consist of counting pixels, while the
degree of compactness is calculated as a shape
measure (Perkins et al., 1985). C was selected as the
language to extract spatial attributes, because it can
relatively easily be interfaced with Prolog. More
complex attributes, such as pattern information, are
supplied directly by the user if they are required for
an identification.
IMAGE ANALYSIS ► FORTRAN
IMAGE UNDERSTANDING ► PROLOG
(SOME C)
Figure 3: Structure of Automated Image
Interpretation System
5 RESULTS AND DISCUSSION
The image understanding system as it currently
stands contains about thirty-five rules aimed at
identifying fields (fallow and planted with various
crops), man-made structures, road segments, water