
face detection in the frames of visual sequences
captured by cameras built into the machine. This is
the task performed by the environment analysis
module and it can be illustrated as the sequence
UML diagram (cf. Figure 4).
Cameras
module
Environment
analysis module
Face detection
module
take the next
video frame
frame ready
detect human
face
human face
present
AUT
Conversational
agent module
welcome
potential user
Figure 4: Exemplary sequence diagram within the cash
machine simulator system, AUT stands for Algorithm
Under Test – the part of the system being tested in the
particular experiment.
It is obvious from the Figure 4 that there is a
skeleton of the system that is present in every
particular implementation and there are modules that
are included for testing purposes, i.e. AUT –
Algorithm Under Test. However the system has to
define a common language for exchange the data
flowing between the modules. The best choice is
some XML application. This XML application must
provide the modules with the ability to exchange the
audiovisual data and the ability to exchange control
data. Audiovisual data create massive streams while
control data are rather sparse.
4 THE ARCHITECTURE
The architecture constitutes some software modules,
that are the core of the system and modules that can
be plugged into it for testing purposes. The core
modules cover the following:
• Cash machine module,
• Authorization module,
• Conversational Agent module,
• Audiovisual storage and retrieval module,
• Environment analysis module,
• Speech synthesis module, and
• Visualization module.
The modules communicate with each other using
Computer Vision Markup Language application,
CVML (List, Fisher, 2004). The media data and the
control signals are both encapsulated in XML syntax
that is understood by every module. The AUT being
plugged into the system must recognize a set of
commands from this syntax to process media and to
produce its output that will be probably sent to
another module for further processing.
The modules themselves have internal structure
to allow finer processing and controlling the AUT
being plugged into the system. The communication
between elements of modules relies on the same idea
of sending AV data and control data encapsulated
into CVML application.
Such a general architecture does not impose any
particular software platform and any particular
software tool that has to be used. The only
requirement is that the used tools are to understand
XML encapsulating media data and control data.
However we would propose a model solution. It
includes Java as a platform for generating graphical
user interfaces. The SWT (Standard Widget Toolkit,
http://www.eclipse.org.swt/) would be used instead
of AWT and Swing. For rendering purposes we
would propose some OpenGL package for Java, for
example JME (Java Monkey Engine,
http://www.jmonkeyengine.com/) – one of the most
efficient implementation of OpenGL to Java
mapping, that supports many OpenGL extensions.
As the IDE for building software we would
propose Ecplise platform (http://www.eclipse.org). It
has many advantages over other IDEs available. For
instance, from collaborative point of view, again, it
does not impose use of any particular programming
language, however it is fine suited for Java as a
result of many anonymous Java programmers
contributions.
The Eclipse IDE defines Rich Client Platform
(RCP) that enables close integration of tools being
created within the IDE. For example the JME
OpenGL engine is prepared within RCP concept.
Massive computations needed by tested
algorithms can be processed in other programming
languages or external mathematical packages, for
instance Scilab (http://www.scilab.org/). The Java
Native Interface can be used for this purpose or any
other method offered by the mathematical package
itself.
5 CONCLUSIONS
We have discussed the idea of the intelligent cash
machine through its use cases, data flow within the
system and sketch of the architecture. We have
proposed a set of tools well tailored to the needs of
SIGMAP 2007 - International Conference on Signal Processing and Multimedia Applications
404