(EN) Intelligent Image Processing

A system shell developed for modeling and execution control of knowledge-based image analysis tasks. The approach enables the flexible modeling and use of adaptive image analysis sequences to perform image-understanding tasks in complex, varying and knowledge- intensive domains such as medical image understanding. The shell supports the construction of two separated knowledge bases. The first containing knowledge about image processing algorithms and their parameters and the second containing information about image contents. This allows domain-specific control and validation. The image analysis process is controlled through an inference engine, which is based on a configuration system. The shell is called Cyclops System and is presently being used on the development of medical imaging applications.

One of the main challenges in image understanding is to develop a flexible, adaptable system, capable of performing complex image analysis tasks and of extracting information from varying scenes or images. After three decades research, there is still no general computer vision approach, capable to provide the technology to develop a general-purpose vision system, able to deal with different tasks and images, like the human vision apparatus. In Computer Vision, the state-of-art is still that we have sorts of different, very specialized algorithms for edge-detection, segmentation, filtering, blurring and so on. If we intend to perform some image analysis task, we have to carefully choose, combine and parameterize some of those algorithms adequately. This restricts Computer Vision solutions to narrow application domains and even there, we cannot be sure that some combination of algorithms will perform in a stable and reliable manner for all images of a given category. We can identify two kinds of application domains, where existing image analysis algorithms could, in theory, be used to develop solutions: Domains where the analysis task is simple, the image acquisition is done under controlled conditions and the objects appearing in the images are known before.

The prototypical example of such an application domain is Quality Control. In such applications, the images look almost equal, images are taken under strongly controlled conditions and images are oversimplified through filters, since we are looking for some special image characteristics. For applications like these, present technology enables us to develop specific applications from pipelines of algorithms with hard-wired parameters that work reliable (e.g. find cracks in vitrified tiles). Application domains where we have images all belonging to the same category and where there is one or a group of tasks to be performed. Typical application domains here are medical image analysis, remote sensing and content-based search in large image databases. Since we have no generic tasks, we need no generic solutions and some specific algorithms put together should solve the problem also here.

Everybody who already tried to develop an application for such a domain described in 2., knows that this does not work. There are variations between images, even if they seem, to the human eye, belong to the same category of images and seem to be very similar: contrast characteristics of satellite images are different due to weather; tissue density from different patients differs between X-ray images; tissue appears different in MR-images if slice thickness taken was different, \dots . These variations can be strong enough to force a segmentation algorithm to produce wrong segments or an edge detection algorithm to produce incomplete borders with some set of parameters that worked for the image before. In this paper we propose and describe the implementation of an approach that solves problems that occur in domains like those of the applications exemplified above. These are domains where the tasks to be performed are always similar but much more complex than the quality control tasks, like measuring aneurysms in CT images, finding tissue suspected to be cancerous in MR-mammographies, finding all bridges in a satellite image or finding all images with sunsets in an image database.

The approach here described was developed to be used as an expert system shell for the implementation of image analysis applications. The further refinement of both the model and the implementation of this expert system shell is one of the main tasks of the Cyclops Project, an international cooperation R\&D project existing. In order to provide feedback for the model, we are using the system for the development of several different medical imaging applications together with medical partners.

1. Image Analysis as a Configuration Process

In the human brain the recognition and interpretation of one or several images is divided into two very hard to separate processes. The first process is the analysis of sensor data and the second is a higher intellectual process, which takes into account knowledge about possible objects in an image. In the described Cyclops system both processes have their own knowledge bases.

knowledge base about image processing methods
knowledge base about domain objects

Image analysis is a complex process, in which image processing routines and domain dependent interpretation steps often alternate. We now explain a simple scenario of such problems. After an initial preprocessing (for example image segmentation) a hypothesis about the image content is generated based on the domain knowledge. To confirm or reject this hypothesis several typical properties of the image must be examined, for example the segment size. This properties are stored in the domain knowledge base and create special expectations. For processing this expectations or hypothesis, algorithms must be selected based on the knowledge of the functionality of this operators. This kind of working can be iterated and the user can be asked for a judgment of the results. A very important point is to find the right configuration of the algorithm sequence by taking into account the user interactions. The user should only be asked for advise if his expertise is essential for solving the analysis problem.

All this thoughts show that image analysis is a configuration problem, especially a configuration of an image processing process with finally an image interpretation at the end. Configuration tasks are traditionally marked off planning tasks by the fact that there is only a limited number of configuration steps,which can be chosen from a limited number of possibilities. The number of parameter sets for a configuration can be unlimited. We can find such situations often in technical domains and processes and the image analysis situation has this properties. Because of thoughts the CYCLOPS system is based on a configuration system for technical domains called IDAX .IDAX is based on the truth maintenance system REDUX. Several modifications have been made to the system to adapt it for the image analysis task. The synthesis process for a configuration consist in the creation of an object with specific demands.

Every additional demand must be noticed for the synthesis process. Normally such conditions are modeled as constrains, sometimes as simple logical conditions. But for our problem it is completely different. The main requirement for the image processing task is that from the result the meaning of the image is visible, either for the computer or a person. In the last case the main task of the assisting system is to direct the attention of the user to the important features of the image. One problem in the image processing domain is that the description of the algorithms and the results are not stable enough to fulfill hard constraints or logical conditions. For controlling the behavior of a image analysis sequence the execution of the image analysis operators is needed and often the user must judge if the results are satisfactory. In technical domains, for example the configuration of a circuit with special properties in electrical engineering, such a control process is not needed because the propagation of the constraints during the configuration guarantee an useful result. In the image analysis domain this is not the case, even if all constraints of the configuration of an analysis process are fulfilled there can be a bad result, caused for example by variations in the image quality. If the result of an executed configuration is not good some parts of it must be refined, but a lot of results of the first execution can be reused and only some image operators are executed a second time.

2. System Architecture

In Figure the architecture of the Cyclops system is presented. The image pool is a collection of image processing methods. The image archive is based on a SQL-database. The other components are described in the following subsections.

The execution control system: the domain knowledge system, the static knowledge base, the expectation matching component, the image archive the operator pool.
The complete knowledge about the area of image processing is stored in the static knowledge base of the configuration system. The knowledge is completely divided into concrete and abstract domain objects, which are connected by relations. With the help of this relations a concept hierarchy could be described, which is used as an orientation for the dynamical configuration process. The objects of the image processing knowledge base could be modeled with the help of the following aspects. With the aid of relations the dependencies between domain objects could be described. A taxonomical hierarchy of objects could be described by the Class-Of/Is-A relations and the compositional hierarchy by the Has-Parts/Part-Of relation. For the connections between abstract objects and technical realization a Has-Implementation relation can be used. The unary Execution relation is an extension to declare that an abstract operator is assigned for execution. With this relation concrete execution points can be declared, which are used after the complete configuration of a part process.

Attributes describe the properties of objects. In the Cyclops system there a four groups of attributes with specific meanings input attributes output attributes parameter configurations attributes. A type is assigned to every attribute. The types of the parameter attributes normally are enumeration types and declare the set of possible operators for the determination of the parameter values. The types of the input and output attributes have a special meaning. Often image operator implementations use a specific data format and for the next step in the operator sequence an data conversion is needed. In the Cyclops system this conversions are added automatic during the dynamic configuration process by matching the types of the input and output attributes of the implementations in a sequence. Constraints are used for the modeling of restricting dependencies between objects. Preference rules allow the definition of domain dependent knowledge for decisions during the configuration process. The rules can be used for the heuristic control of configuration steps or describe a local quality criterion of the domain.

With the phase mechanism of the static knowledge base the configuration process can be divided into a series of phases. The actual phase provides a filter for the sorting of the goals on the agenda of the inference engine. bindings are needed for the modeling of the data flow between image analysis operators. They connect attributes of different operators. We must distinguish between interface and flow bindings. Interface bindings describe connections between attributes of an aggregate and the attributes of a component. Flow bindings describe the connection between the output of an operator and the input of the following operator. Image operators can have one ore several implementations. The functionality of an operator is determined during the modeling of image analysis application. With the implementation the type of the execution call must be declared. The type and format of the call is modeled in the properties. For the execution Cyclops can use UNIX program calls, functions in an dynamic C library and Smalltalk block closures.

3. The Inference engine

The inference engine is based on the IDAX system which is an assistant system for the configuration of technical domains. I uses similar concepts like PLAKON system Between the classical configuration and the configuration of image analysis processes there are some differences:

The description of a process is not only containing the decomposition in subprocesses or the selection of the possible implementations. The determination of the data flow between the subprocesses is also needed. Decisions during the configuration process sometimes only can be made after the complete configuration of a subprocess and the execution of the operators. For getting and controlling the results. The execution of the complete image sequence configuration with the input data is needed. Because the execution of image operators often is time consuming a correct configuration is needed To configurate means the composition of well known components to a complex thing. The problem is to find the right composition which satisfies the needs of the user and the domain constraints. In the image analysis domain there are existing additional implicit demands to the results, that can not be controlled by the propagation of constraints. Tests with the complete configurated object must be performed.
The configuration process in Cyclops follows the principle of iterative refinement. The process starts with an initial abstract object which is assigned to the goal of the configuration. By comparing this dynamical object with the fitting object in the static knowledge base operators for the processing of the goal are found. This operators for the handling of the goal can be divided into the following task classes:

Specialization along the Is-A relation Decomposition along the Part-Of relation Parametrization, the determination of an attribute value ore the selection of a technical implementation Execution of a subconfiguration for the control of its behavior By treating a goal with the help of an operator the object is instantiated and a set of new subgoals is created. All not treated goals are administrated on an agenda. For every goal a set of operators can be chosen. This operators are the conflict set for the treatment of the goal. For the execution of a configuration step two decisions must be made. The first is the selection of the next goal and the second is the selection of one operator to reach the goal. The selection of an operator can be influenced by preference rules.

All the decisions made during the configuration are stored in an domain specific truth maintenance system based on REDUX. With the help of the TMS all decisions about the exclusion of a operator during the treatment of a goal can be managed. This is very important for the revision mechanism of the system.

4. The Execution Control

The execution control component is responsible for the concrete execution of the elementary image processing routines. It is an interface between the inference engine and the execution of the image analysis sequence. The inference engine is creating an execution request structure of a completed configuration subtask for the execution control component. This component is following the principle of the data flow graph.


5. Domain Knoledge Base

Cyclops supports a Domain Database and allows the instantiation of configuration variables with domain knowledge. These variables will typically be parameters from image operators (the underlying image analysis processes) that will hold a value, a texture, a shape description or a position of some searched structure to be used during analysis or during expectation matching. This domain knowledge is intended to be used by the image operators.

For the development of domain databases, Cyclops provides its own tool, NeuralTaxon, which is shortly described below. It is possible, and necessary indeed, to use any other external database for accessing domain knowledge.
During the configuration process, the reduction of a DomainKnowledgeGoal can produce a query to any chosen domain database. Results from previous image analysis tasks stored in configuration variables can also be used to generate queries. This enables a modeled application to use achieved results to direct its search for domain knowledge, which can be used to parameterize further analysis steps. Queries, together with their bindings to configuration variables can be modeled in the image analysis database.

NeuralTaxon is the name of the domain database-modeling tool included as part of Cyclops. NeuralTaxon supports the modeling of knowledge in form of hierarchical bayesian semantic networks and was developed specially to provide support for image analysis tasks. Information, which can be represented in the Neural-Taxon system, goes beyond the information in a semantic network. Not only concepts and their attributes are represented, but also the respective frequency of the occurrence of attribute-value pairs and geometric information can be stored. NeuralTaxon supports full inheritance through the concept hierarchy and also queries based on incomplete information. Using this tool we developed a domain database describing a digital brain atlas NaKS – Neuroanatomical Knowledge Source – which is intended to be used in applications in the medical imaging areas of brain stroke and neurocysticercosis presently under development.
Cyclops allows the setting of automated control points (ExpectationMatchingGoals) on the modeling of an application in the image processing database. These control points allow consistency checking. We call automatically consistence-checkable results from image processing sequences expectations.
From the point of view of the modeling of image processing, there are two distinct important aspects of consistency checking of results:
a) expectation generation and matching and
b) backtracking, reconfiguring and reexecuting involved tasks.

Expectations are handled as normal configuration variable values that are checked against results through abstract image operators modeled as ExpectationMatchers in the database. Expectations can be values as simple as TRUE and modeled directly in the image processing database, can also be complex result descriptions generated by a query to a domain database. An ExpectationMatching goal is part of the modeling and is configured like any other image analysis sub-sequence. It is configured and executed only after all dependent analysis (sub-) tasks are finished. If an ExpectationMatching detects an error (e.g. areas suspect of being cancer in MR-mammographies are outside of the breasts), knowledge-based backtracking will take place. If the developer did not model any special behavior for backtracking, Cyclops will use optimality relationships stored in the image processing database and try to retract some executed step and replace it by the least suboptimal. The JTMS will be used to keep track of still valid results and avoid blind reprocessing. Cyclops allows also the modeling of special relations between operators, parameters, abstract operators and results to guide the retraction of configuration operators in case of unmatched expectations. The developer can: a) model which parameters or implementations are to be preferentially changed in some context, b) how much trials are to be made with some variable before another is tried and c) if some variable is only to be changed in combination with another, even if not modeled in the constraint system. The JTMS is used to keep track of all modifications an also to avoid the reprocessing of some already existing partial result.

The MAMMALYZER II presents a diagnosis support image processing system which preprocesses dynamic MR-Mammographs (MRM) for easier and less erroneous analyzes by the medical practitioner. The breast images are provided by a special MRI sequence which is based on the work of . It uses the property that malignant tumors need a much higher perfusion than healthy tissue. Making use of a contrast-agent such as GDTA, the need for higher perfusion results in a faster accumulation of contrast agent in those areas. A comparison of the observed signal-increase ratios between different MRM-volumes gives an indication on the healthieness of the shown tissue.

The first prototype of MAMMALYZER was structured as a pipeline of different image-processing filters controlled by a graphical user interface. This pipeline can be interactively controlled by the physician, who chooses one of two processing pipes. One for fast results and one for a more accurate analysis. A problem of the first prototype was, that most of the parameters for both matching and marking modules depend on image characteristics such as TE, TR, slice thickness, field of view, and image resolution and also on the extent of motion artifacts. A set of standard parameters was developed that works stable with the standard MRM sequences of the 1.0 T scanner of the former partner hospital in Kaiserslautern. These parameters have to be modified if one uses images from another scanner or images with another acquisition protocol. For this reason, the analysis sequences are modeled with the Cyclops system. The aim of modeling the MRM analysis under this expert system is to automatically use the results of a previous calculation of MRM-inter-volume disparities and knowledge about interrelations between image parameters and module parameters for choosing optimal analysis sequences and module parameters. Thus, users do not have to perform the task of choosing between different analysis sequences and lots of parameters, since the sequence is automatically chosen and parameterized by Cyclops which communicates with MAMMALYZER II.

Figure shows the a simplified view of the configuration of the mamma analysis process. The abstract goal ImageProcessing is specialized to the goal MammaProcessing, which is then decomposed to the subgoals MammaPreProcessing, MammaMainProcessing and MammaExpectation. The system automatically recognizes the type of sequence and chooses appropriate image operators and parameters. After execution of the configured pipeline the expectation matching module controls the process results and decides whether they have an acceptable quality or pipeline parts must be changed. With the aid of JTMS-structure only the responsible operators, and those operators using their results, must be refined.

Cyclops is a very powerful expert system shell for the modeling and execution of image analysis applications in complex domains. Its has proved its performance in different applications in the field of medical image analysis. Cyclops provides strong knowledge representation schemes for two kinds of knowledge. The image processing knowledge which is modeled in the static knowledge base of the configuration system and the domain knowledge which is used to solve domain dependent questions.

In the future the shell will be improved in several fields. One important is the development of easy to use knowledge acquisition tools. The second field is the development of an approach to deal with unexpected results of an image processing sequence even if all configuration constraints are fulfilled. A set of new applications using the Cyclops system is currently under development and will show the big advantages of the configuration based approach.

Sobre Aldo von Wangenheim

possui graduação em Ciências da Computação pela Universidade Federal de Santa Catarina (1989) e Doutorado Acadêmico (Dr. rer.nat.) em Ciências da Computação pela Universidade de Kaiserslautern (1996). Atualmente é professor Associado da Universidade Federal de Santa Catarina, onde é professor do Programa de Pós-graduação em Ciência da Computação e dos cursos de graduação em Ciências da Computação e Medicina. É também professor e orientador de doutorado do Programa de Pós-Graduação em Ciências da Computação da Universidade Federal do Paraná - UFPR. Tem experiência nas áreas de Produção de Conteúdo para TV Digital Interativa, Informática em Saúde, Processamento e Análise de Imagens e Engenharia Biomédica, com ênfase em Telemedicina, Telerradiologia, Sistemas de Auxílio ao Diagnóstico por Imagem e Processamento de Imagens Médicas, com foco nos seguintes temas: analise inteligente de imagens, DICOM, CBIR, informática médica, visão computacional e PACS. Coordena o Instituto Nacional de Ciência e Tecnologia para Convergência Digital - INCoD. É também Coordenador Técnico da Rede Catarinense de Telemedicina (RCTM), coordenador do Grupo de Trabalho Normalização em Telessaúde do Comitê Permanente de Telessaúde/Ministério da Saúde e membro fundador e ex-coordenador da Comissão Informática em Saúde da ABNT - ABNT/CEET 00:001.78. Atualmente também é membro da comissão ISO/TC 215 - Health Informatics. Foi coordenador da RFP6 - Conteúdo - do SBTVD - Sistema Brasileiro de TV Digital/Ministério das Comunicações. Desde 2007 é Coordenador do Núcleo de Telessaúde de Santa Catarina no âmbito do Programa Telessaúde Brasil do Ministério da Saúde e da OPAS - Organização Pan-Americana de Saúde e Coordenador do Núcleo Santa Catarina da RUTE - Rede Universitária de Telemedicina.