DEIS - Università di Bologna -
L I A
- Laboratorio d'Informatica Avanzata
Brite-EuRam II Programme
Paint manufactoring process optimization for the building industry,
using original bases and pigments formulation
Contract n. BRE2.CT94-1417
Proposal n. CR-1331-91
The purpose of this project is to develop the next generation of automatic
paint production systems. Up to now, the most advanced way of producing
paints consists in using Tinting Systems. With these systems the paint
producers supply white paints to the sales points, while the pigments are
added at the sales point according to customer requirements. In this way
the customer can choose among an almost infinite number of colours but
only among a small number of paint bases, thus reducing the stocking costs.
The purpose of the next generation of paint production systems is to
synthesize the white paint at the sales point by mixing basic components
(modules), so that the customer can choose the color and the quality. In
this way, the customer requirements will be much better satisfied and the
paint producer will further reduce their stock costs, having to stock only
Eleven partners are involved in this project: four industrial proposers
and seven R&D performers.
The paint production system will include a software package that supports
the user in the choice of paint and eventually in the design of a new
one. The task of DEIS is to develop four subsystems of this package:
The Knowledge Based System (or Expert System) has to select, from a
database of already known paints, the one which fits best the customerÔs
requirements regarding the paint quality. If the paint found does not
exactly satisfy the specifications of the customer, it is used as the
starting point for a second phase in which a new paint is designed: the
composition of the initial paint is changed until the resulting
characteristics match the required ones. This second phase has to be
performed by a software package which is under development by SOFT16.
The system has to choose the paint by asking the customer questions about:
As regards the architecture of the Expert System, two different Artificial
Intelligence approaches have been investigated: the former is based on
classification by learning from a set of examples, while the latter is
based on constraint satisfaction techniques. In the first approach the
paints in the database are considered as classes and the customer requests
are satisfied by associating them to the right class. The rules used to
perform the classification are automatically inferred starting from the
description of the already known paints in the database. We have
experimented the application of an existing system which performs learning
from examples: the C4.5 system, developed by Quinlan.
The other approach considered makes use of constraint satisfaction
techniques. In this approach the system starts with the complete set of
already known paints and successively eliminates the paints whose
requirements do not fit with those asked by the customer. A prototype
system has been written using the SEPIA language that extends logic
programming for the treatment of constraints.
The results of our experimentation have highlighted some limits of the
former approach, while the latter has proved to be more interesting for
our problem. This is due to the fact that the constraint satisfaction
prototype has been tailored to the problem, while C4.5 is a very powerful
and general system but does not fully satisfy the peculiar requirements of
We thus decided to develop the constraint satisfaction approach. Its
- the intrinsic characteristics of the paint, such as the gloss, the
base (water or solvent), the price, the rugosity;
- the support, which can be an old or a new one and can be made of
- the usage of the paint: waterproof, scrub resistant, washable,
We have then ported the prototype system from SEPIA to C++: SEPIA was
very useful for quickly developing a prototype but it would be too
expensive to incorporate it in the final system and it has been designed
for UNIX systems.
- the customer can decide the order in which he wants to specify the
various characteristics of the paint: by selecting first the most
important ones he can establish a priority among them;
- he can see the set of paints that is reduced as new constraints are
- he can specify a characteristic with a certain degree of
uncertainty: for example, he can say that he wants a paint which is
either gloss or satin but not mat.
Besides the problem of helping a customer to choose a single paint,
another problem has emerged which consists in giving advice to an
architect on how to paint a building: this involves how to prepare the
support before the painting, how many layers of paint are necessary and
which paint to use for each layer in order to get the desired result.
This problem is currently solved by an expert with the aid of a dossier in
which for each possible combination of type of support and characteristics
required by the architect, there is a page with the description of the
kind of paint work needed. The page is found by using an index.
After having analyzed this problem with the experts from JEFCO, we decided
to solve this problem by using an hypertext, because it resembles very
much the way the problem is actually solved by human experts. We are
currently analyzing various systems for producing and reading hypertexts.
The aim of the Realistic Paint Viewer is to show to the user how the paint
will exactly look. To this purpose, we have used rendering methods to
construct a realistic tri-dimensional scene with simulated painted
objects. From this scene the user could appreciate the four
characteristic of the paint aspect: Opacity, Gloss, Roughness, Levelling.
There exists various algorithms for rendering and each of them contains
some specific parameters that control the final aspect of the painted
surfaces. These parameters do not directly express the physical
characteristics of the paint but have to be derived from them. Therefore
the Realistic Paint Viewer has to be composed by two phases: in the first
the physical parameters of the paint are mapped into the visual parameters
of the rendering algorithm while in the second the actual rendering is
Of the two main algorithms for rendering, Ray Tracing and Radiosity, we
have chosen the first one because, is a good trade-off between speed and
quality of the image produced.
The key-factor in any ray tracing algorithm is the lighting model: this
is the mathematical model that describes how the light interacts with the
objects. Among the many models available in literature, we have
experimented two of these: Phong's model and Ward's model.
Phong's model has the advantage to be particularly simple, thus not
requiring too much computing time. The main drawback of Phong's equations
is that they are empirical, therefore it is very hard to find the relation
between the parameters of the model and the physical characteristics of
the painted object obtained as results.
Ward's model, instead, is a physically based model. The equations are
more complex and refined than Phong's equations, and all the parameter
have an exact physical meaning. Building the mapping functions, in this
case, should be easier. Obviously we have to pay all this advantages in
terms of rendering speed.
In order to appreciate the gloss of a paint, we need background images
that can be reflected on the painted objects. Actually our software uses
both the algorithms described above: Phong's model is used for the
background objects, in order to improve the speed of the calculation,
whereas the painted object is rendered with the more accurate Ward's model.
As regards the rugosity, we extended the pure ray-tracing algorithm in
order to get a realistic result: we wrinkle the surface of the painted
object using a special technique known as "Bump Mapping".
In order to render the levelling, we had to simulate the hollows generated
by the bristles of the brush.
Here is an example of the results we have achieved with our rendering
It has to provide an easy interaction of the user with all the subsytems
of the package. This interface will be graphic and will use the mouse and
visual items such as buttons, icons, tick boxes, etc.