HAL Id: hal-00260062
https://hal.archives-ouvertes.fr/hal-00260062
Submitted on 16 Apr 2013
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Arnaud Renouf, Régis Clouard, Marinette Revenu
To cite this version:
Arnaud Renouf, Régis Clouard, Marinette Revenu. How to formulate image processing applica- tion ?. International Conference on Computer Vision Systems, 2007, Bielefeld, Germany. 10 p.,
�10.2390/biecoll-icvs2007-17�. �hal-00260062�
How to formulate image processing applications ?
Arnaud Renouf, R´egis Clouard, and Marinette Revenu GREYC Laboratory (CNRS UMR 6072)
6, Boulevard Mar´echal Juin 14050 CAEN cedex FRANCE [email protected]
Abstract. This paper presents an ontology-based system for helping in- experienced users formulate image processing applications. We propose models and their formalization through ontologies that identify and orga- nize the necessary and sufficient information to design such applications.
We also explain the interaction means that lead the user to give a good formulation of his/her application.
1 Introduction
In the last fifty years, a lot of image processing applications have been developed in many fields (medicine, geography, robotic, industrial vision, ...). Nevertheless, the problem of formulating such applications in image processing terms has been little studied. Image processing specialists develop their applications by trial- error cycles and do not define a real formulation of the problem they consider.
Thus, applications are merely formulated through their solution and not by a formal definition of the problem they solve.
However a complete and rigorous formulation of the application is essential towards the goal of designing more robust and more reliable vision systems, and in order to fix the limits of the application, to favor reusability and to enhance the evaluation. Such a formulation has to clearly specify the objective and to identify the range of the considered input data. Unfortunately, formulating an image processing application is a problem of qualitative nature that relies on subjective choices. Hence, an exhaustive or exact definition of the problem does not exist. Only an approximative characterization of the desired application be- havior can be defined [1].
Our approach tends to acquire the user’s business knowledge and map it to an image processing one in order to find a solution. Hence, we propose to study the formulation of image processing applications through the design of a system that allows inexperienced users to build their applications by interaction. In this paper, we present a brief state of the art on image processing application formu- lation (Section 2) and describe the global system we are developing (Section 3).
Then we propose a model for the formulation of image processing applications
and its formalization through an ontology (Section 4). Finally, the interaction
part of the system is explained (Section 5).
2 State of the Art
Attempts to formulate image processing applications were conducted around knowledge based systems such as LLVE [2], CONNY [3], OCAPI [4], MVP [5] or BORG [6]. A priori knowledge on the application context (sensor effects, noise type, lighting conditions, ...) and on the goal to achieve were more or less im- plicitly encoded in the knowledge base. The formulation of the application is reduced to the choice of a transformation objective in a list of predefined im- age processing tasks which are well known. Therefore they make the saving of a complete and explicit formulation of the image processing application.
Among these works, an original approach was proposed by J. Hasegawa et al. [7]. The formulation is given by the user through a sample figure as a sketch.
This kind of formulation is interesting because it is objective and its nature is quantitative. Nevertheless its scope is limited to a restrictive subset of segmenta- tion or detection goals and it does not really take into account the input images variability.
More recent approaches bring more explicit modelling [8][9][10][11] but they are all restricted to the modelling of business objects description for tasks such as detection, segmentation, image retrieval, image annotation or recognition appli- cations. They use ontologies that provide the concepts needed for this description (a visual concept ontology for object recognition in [9], a visual descriptor on- tology for semantic annotation of images and videos in [12] or image processing primitives in [8]) or they capture the business knowledge through meetings with the specialists (e.g. use of the NIAM/ORM method in [10] to collect and map the business knowledge to the vision knowledge). But they do not completely tackle the problem of the application context description (or briefly as in [9]) and the effect of this context on the images (environment, lighting, sensor, image format). Moreover they do not define the means to describe the image content when objects are a priori unknown or unusable (e.g. in robotic, image retrieval or restoration applications). They also suppose that the objective is unique and known beforehand (to detect, extract or recognize an object with a restrictive set of constraints) and therefore they do not address its formulation.
3 A System to Formulate Image Processing Applications
Our work is part of a global project which aims at developing a system that
automatically generates image processing softwares from user-defined problem
formulations. This system is composed of two sub-systems (Fig. 1): a formulation
system for image processing applications which is the focus of our work, and a
planning system for image processing tasks [6]. At the moment, the system han-
dles only one image processing task at a time. If a real application needs several
tasks, the system is used as many times as there are tasks. It is also restricted to
image processing tasks. It considers only image-to-image transformations with-
out any interpretation of the image content. The user defines the problem with
the terms of his/her domain by interaction with the user layer of the formula-
tion system. This part of the system is a human-machine interface which uses
How to formulate image processing applications ? 3
image processing plan
Construction of the Ontology Processing
Image BORG
Planning System for Image Processing Tasks
in an image processing problem Transformation of the user’s formulation
by interaction with the user Formulation of the application
Formulations Image Processing Applications
for Formulation System
HERMES
Domain Ontology
Image ProcessingLayer User Layer
Images
Application
Fig. 1. The system architecture of the project.
a domain ontology to handle the information dedicated to the user. It groups concepts that allow the users to formulate their processing intentions and define the image class. Then the formulation system translates this user formulation into image processing terms taken from an image processing ontology. It uses a set of rules to ground the symbols given by the user which are terms of his/her domain and concepts of the domain ontology to image data which are concepts of the image processing ontology (see Section 5.3). This translation realizes the mapping between the phenomenological domain knowledge of the user and the image processing knowledge.
The result of this translation is an image processing request which is sent to the planning system to generate the program that responds to this request. This cooperation needs the two sub-systems to share the image processing ontology.
Then the formulation system executes the generated program on test images and presents the results to the user for evaluation purposes. The user is respon- sible for modifying the request. This process is repeated until the results are validated.
4 Formulation Model for Image Processing Applications
We propose a complete model for the formulation of image processing applica-
tions [13]. This model allows to identify and organize the relevant information
which are necessary and sufficient for the planning system (or an image process-
ing specialist) to develop a convenient solution. It covers all image processing
tasks and is independent from any application domain. In this section, we present
a brief review of this model formalization through an image processing ontology
(notice that this ontology tackles the problem of the formulation from the image
processing experts point of view). This ontology is composed of two parts: the
objectives specification and the image class definition. It is written in OWL DL
which is based on description logics, defines 300 concepts, 23 roles and 183 re-
strictions. During the translation step, the formulation system instantiates this
* *
*
*
*
*
0..1
0..1
0..1 constraint
Control Constraint
Performance Criteria
Quality Criteria
has
value Value
Numeric Value
Symbolic Value
has
task task criteria Criteria
to Optimize has−
error
has−
error Level of
Detail has
level
Elements to include include
exclude Elements
to exclude
has object
Acceptable Error has
1 Objective
Object Business has
Fig. 2. CML representation of the objective specification model.
ontology and sets their properties using an OWL API in order to represent the formulation of the user at the image processing level.
4.1 The Objective Specification
This specification relies on the teleological hypothesis [13]. This hypothesis leads us to define an image processing application through its finalities. Hence, an application objective is represented by a list of tasks with related constraints (criteria to optimize with acceptable errors, levels of detail with acceptable er- rors, elements to be excluded and included in the result) and a list of control constraints. We present on Fig. 2 the formalization of this model using the CML formalism of CommonKADS which covers the ontologies specification [14]. This figure represents the highest abstraction level of the objective specification part of the image processing ontology and does not show all its concepts. A concept like Task is the root of a hierarchic tree where nodes are processing categories and leaves are effective tasks. Processing categories belong to reconstruction, segmentation, detection, restoration, enhancement and compression objectives.
Effective tasks are extract object, detect object, enhance illumination, ...
To illustrate the use of this model, we take the example of a cytological ap-
plication [15] where the user wants to extract serous cell nuclei. In Table 1, we
present the formulation of the application objective which is obtained from the
instances (and their properties) created by the formulation system in the image
processing ontology. The terms (task, extract object, criteria to optimize, ...) are
concepts of the ontology and terms in italic are instances created by the system
(object1 is an instance of the concept business object, num1 is an instance of the
concept interval ).
How to formulate image processing applications ? 5 Table 1. Formulation of the application objective for the cytologic application.
Task: Extract object
Criteria to optimize: Boundaries localization Acceptable error: Prefer boundaries inside Level of detail: Separate just-touching Acceptable error: Prefer not to separate Business object: object1 (“Serous Cell Nucleus”) Elements to be excluded: Touching borders
Control constraints Quality criteria Processing time: num1([0,2] secs) Performance criteria Application quality: Reliability
* * *
* 0..1
1
* Description
Level
Physical Level
Perceptive Level
Business Object
Image Format
Acquisition System
Description Element
Noise
Visual Primitive
Background Edge Region Noise Descriptor
Composition Distribution Descriptor
Colour Descriptor
Luminance
Shape Descriptor
Convexity Circularity Hue
Value
Numeric Value
List Patch
Interval Symbolic Value
Relative Comparison
Predefined Term
Level
Comparison Term Length
Unit Surface
Unit Unit
Value Part
Linguistic Variable {more_than,less_than,equal_to}
has term has unity
has has
value has
descriptor has
element
has term
{very_low, low, medium, high,very_high}
compared