by M Klupsch
Abstract:
This work describes new concepts for the object-oriented modeling and representation of time-varying image and sensor data sequences as well as the functions which process these data sequences. Different frameworks for developing sensor data modules from function and data objects are presented. These allow to develop, configure and control these modules easily and to integrate them into complex real-time program systems transparently as logical sensors. The aim of this work is to provide a software system which supports the design and implementation process of efficient and scalable program components and applications for real-time processing of image sequences and distributed sensor data analysis on standard computer systems. One of the fundamentals of this work is a consistent, explicit modeling of time. This concerns the sensor based data capturing and modeling of the outer process as well as the description of the data processing system itself. The first aspect allows to relate the data to the course of events in the real world and to model the dynamic aspects of the scene, the latter provides mechanisms for analysing the performance of the data processing methods. Data sequences are modelled as autonomous objects ('Sequence') collecting the individual measurements of a specific scene state like images or other sensor data, and the features derived from these. In addition, they represent general properties and methods, which are common for all kinds of data sequences, such as data initialization, access to current and old values, access to their temporal properties, and methods for updating the data sequence or interpolating values. Sensors and operators are modelled as 'Functor' objects, which on an abstract level provide the functionality for continuously capturing, transforming, or analysing the dynamic data sequences. They encapsulate concrete sensor integrations and operator sequences including their static parameters. In addition, they represent general, application independent operator properties, e.g., connections to the input and output data sequences, attributes and methods for analysing the time consumption, or a general interface for the cyclic operator execution. With the help of these Sequence and Functor objects the data flow representation of a sensor data module is easy to implement without the need for an explicit program control specificaton. Instead, the program components are locally executed by new input data or by access to the output data. That behavior can be modified according to topical requirements. It can be controlled by software agents. So, it is easy to adapt the program control and the level of concurrency. The presented concepts were prototyped as C++ class library, which provides a framework for the representation of data Sequences, Functors, software agents, and temporal expressions. Based on this library an extensive distributed robotic application - a team of soccer playing robots - was developed and succesfully employed and tested at different international RoboCup competitions.
Reference:
Objektorientierte Daten- und Zeitmodelle für die Echtzeit-Bildfolgenauswertung (M Klupsch), PhD thesis, Fakultät für Informatik, Technische Universität München, 2000.
Bibtex Entry:
@phdthesis{klupsch_objektorientierte_2000,
author = {M Klupsch},
title = {Objektorientierte Daten- und Zeitmodelle für die Echtzeit-Bildfolgenauswertung},
school = {Fakultät für Informatik, Technische Universität München},
year = {2000},
abstract = {This work describes new concepts for the object-oriented modeling
and representation of time-varying image and sensor data sequences
as well as the functions which process these data sequences. Different
frameworks for developing sensor data modules from function and data
objects are presented. These allow to develop, configure and control
these modules easily and to integrate them into complex real-time
program systems transparently as logical sensors. The aim of this
work is to provide a software system which supports the design and
implementation process of efficient and scalable program components
and applications for real-time processing of image sequences and
distributed sensor data analysis on standard computer systems. One
of the fundamentals of this work is a consistent, explicit modeling
of time. This concerns the sensor based data capturing and modeling
of the outer process as well as the description of the data processing
system itself. The first aspect allows to relate the data to the
course of events in the real world and to model the dynamic aspects
of the scene, the latter provides mechanisms for analysing the performance
of the data processing methods. Data sequences are modelled as autonomous
objects ({'Sequence')} collecting the individual measurements of
a specific scene state like images or other sensor data, and the
features derived from these. In addition, they represent general
properties and methods, which are common for all kinds of data sequences,
such as data initialization, access to current and old values, access
to their temporal properties, and methods for updating the data sequence
or interpolating values. Sensors and operators are modelled as {'Functor'}
objects, which on an abstract level provide the functionality for
continuously capturing, transforming, or analysing the dynamic data
sequences. They encapsulate concrete sensor integrations and operator
sequences including their static parameters. In addition, they represent
general, application independent operator properties, e.g., connections
to the input and output data sequences, attributes and methods for
analysing the time consumption, or a general interface for the cyclic
operator execution. With the help of these Sequence and Functor objects
the data flow representation of a sensor data module is easy to implement
without the need for an explicit program control specificaton. Instead,
the program components are locally executed by new input data or
by access to the output data. That behavior can be modified according
to topical requirements. It can be controlled by software agents.
So, it is easy to adapt the program control and the level of concurrency.
The presented concepts were prototyped as C++ class library, which
provides a framework for the representation of data Sequences, Functors,
software agents, and temporal expressions. Based on this library
an extensive distributed robotic application - a team of soccer playing
robots - was developed and succesfully employed and tested at different
international {RoboCup} competitions.},
}