2. DESIGN OF AN ADVISORY EXPERT
SYSTEM FOR IMAGE ANALYSIS
At ITC and UT(University of Twente), there are at least
six librariesof subroutines for image processing available.
Each of these has its own characteristics and advantages.
We categorize these subroutines according to their
processing functions. We make an expert program to
organize (by grouping and classification) the subroutines,
and select them using heuristic information. A PROLOG
style specification language is being developed to handle
the problem analysis (logic of selection) and the running of
compiles subroutines. This provides the user with an
advisor for planning a process sequence and for setting
the parameters.
There are many redundant procedures in the
image processing libraries. We keep these redundant
procedures but provide users with a minimum (reduced
instruction) set of a non existing (virtual) machine . This
requires the administration of equivalence or the
reorganisation of subroutines into a more orthogonal set
with appropriate parameters.
An example of elements of a reduced instruction set
for image analysis is based on the treatment of a complete
image as one object in a register. Typical Operations are
: Copy( from image register A with shift(dx,dy), multiply
with a constant and accumulate result in image register B)
, Pack bytes from( A,B,C) into X, sort X, generate
Frequency of coincidence(X -» A,B,C), Select maximum
frequency (likelihood).
In order to select the best sequence of
subroutines and their parameters we must define
evaluation functions in order to enable standard
optimisation software [14] to select procedures, using
minimum cost / maximum benefit .The value of the
evaluation function is the weighted sum of all factors (e.g.
the intention of a user, length of path, time consumption,
software uniform etc).
Knowledge of
Arnysis Processes
Pan : Question
Kien —
Knowledge of Generation .
Image Domein
t
K f Procedures & e | Answers
etes Er LE
a
c
e
Library of Image
Processing
Procedures
Figure 1. Architecture of the system
Figure 1. illustrates the general architecture of the
system. It consists of a reasoning engine, the knowledge
about image processing techniques, a library of image
processing procedures and a database of characteristics
of the input and processed image data; procedures in the
library are applied to analyze the image and the result is
stored in the database. The reasoning engine uses the
510
knowledge about image processing techniques and
characteristics of the image data for reasoning.
To develop the expert system for image processing,
it is very important to create a programming environment.
As we know, there are two kinds of programming style.
One is the imperative style which tells the machine exactly
what to do,such as FORTRAN, C, etc. Another is the
declarative style which only describes the domain problem
and lets the machine take over the problem solving, such
as PROLOG, LISP etc. So far PROLOG is a rather
successful language in Al research. But it is not
satisfactory enough to develop an expert system for image
processing, because its computation capability is too low
to meet the needs of computation in image processing. It
is essential to develop an application language which has
both powerful capability of describing and of solving
problems.
Although the construction of a general knowledge-
based image processing scheme is a very long-range goal,
the appropriate combination of state-of-the-art techniques
can solve a class of problems in a specific domain. Under
the given computational environment at ITC, we develop
a knowledge based system which is able to automatically
plan the processing sequence and select the arguments
for the user, using PROLOG for the advisory/planning part
and linking it with compiled subroutine libraries. In section
3, we present a knowledge representation scheme in the
system. In section 4, we describe the reasoning process.
3. KNOWLEDGE REPRESENTATION
To create programs that have "intelligent" qualities, it
is necessary to develop techniques for representing
knowledge. Unlike people, computers do not have the
ability to acquire knowledge on their own. Any knowledge
they contain about the world has been explicitly provided
in the form of data and knowledge structures.
Knowledge structures are usually closely tailored to
specific problem areas which are called problem domains.
The domain is defined by the set of relevant information
required to solve a specific problem. For a case study we
selected a software package named SPIDER which
consists of over 400 FORTRAN subroutines for various
image processing algorithms.
The knowledge used by the system comes from
three aspects:
(1) The knowledge of image processing
algorithms.
This deals with the usage of algorithms, condition
for arguments and the range of the parameters. We can
find this sort of knowledge in the manual of a software
package,
First of all, we divided SPIDER subroutines into
groups, and found their common parameters for each
group. Figure 2. illustrates the relation between
subroutines. From the figure, we find that frames are
rather suitable to represent these subsets of procedures.
Using figure 2. as a guide for frame layout, we can
embed the usage of the algorithm, conditions for
arg
of di
funct
like «
cate
L
slots
impo
slots
that i
abou
A
inforr
usag