|
Marching Pixels
|
The developments in the field of computer architecture as seen in recent years since
the 1960s will continue with the same speed in the future. This means computer systems
become faster or cheaper and smaller with equal power. But this also leads to an
increased complexity of these systems. Due to this one needs a technology which focuses more
on the person interacting with the system than on the computer itself. So computers will adapt
more and more to the needs of the user. They will be more flexible and more autonomous.
That is why they are called "organic".
An organic computer is defined as a self-organising system which adapts automatically to
environment needs. They are self-configuring, self-optimising, self-healing and self-protective.
The intended project is driven by a concrete reference to the application of working environments in future smart
factories which will be characterised by a close co-operation of humans and as production assistants denoted
robots. The goal of the project is to develop appropriate base technologies according to organic computing principles
in order to meet the high requirements which are put by such a very sensible machine-human interaction.
The main requirement is to observe strict safety regulations to protect the human worker what is hardly to
manage with traditional digital signal processor architectures. We expect that using organic computing principles
offers better robustness and faster reply times to satisfy real-time requirements.
The intended research work
focuses on the developing of appropriate architectures for organic smart sensor processors. In such smart sensor
systems a new organic computing paradigm is pursued which is denoted as marching pixels. Marching pixels are
virtual organic units which are propagating in a pixel processor array, similar to virtual ants in ant algorithms, to
carry out autonomously important pre-processing tasks, e.g. fast and robust detection of objects and of their
centre points. Furthermore they shall provide necessary pre-processing steps for a software based post-processing
gesture recognition. This allows the robot to assist or even to plan whole tasks in interaction with the human
worker. In the project we want to create and to investigate appropriate self-organising methods for smart sensor
architectures based the on the marching pixels idea. Furthermore we want to develop an appropriate technology
base for the realisation of marching pixels to make smart sensors self-configuring and self-healing. This allow
them to adapt independently to different tasks and to compensate the failure of components.
This toolbox includes several algorithms that exploit the capabilities of emergent agents in order to retrieve object
data in images very fast. Using these algorithms together with the corresponding hardware implementation, one is able
to fulfil hardest industrial realtime requirements.
You can see here three exemplary Flash animations of Marching Pixels algorithms. First, the algorithm Flooding is shown.
Flooding needs to visit pixels which lie outside the objects in order to gather information about the objects. Flooding
is very fast and only needs few states and memory resulting in a very small vision chip if it is used. In this example, only
the y-coordinate of the objects is calculated. In order to also retrieve the x-coordinate, the image has to be rotated and the
algorithm has to be executed once more.
The next animation presents the Opposite Flooding algorithm. This algorithm only visits pixels inside the convex hull of the objects
and is thus better suited for images with objects which lie closely together. This is possible by letting two waves run towards each
other which allow or prevent Marching Pixels from running to other places. One can see that Opposite Flooding is slower than Flooding.
This is the tradeoff for the better recognition capabilities.
The last algorithm was developed in cooperation with the group of Sandor Fekete from Braunschweig. It is the most powerful
algorithm because it is able to also detect objects which lie in each other. The other algorithms fail in that scenario.
In this algorithm, the agents memorize neighbours from their object by relating to them very much like molecule chains or
children holding hands. They are thus capable of detecting if new neighbours belong to the same object like themselves or not.
During their run, the agents collect information about the object which can later be used to calculate, e.g. the centroid.
The drawback of this approach is that it requires a large amount of states for the agents and memory for the single cells.
This results in a much larger vision chip in the end.
This and other emergent Marching Pixels algorithms have also been successfully sythesised and tested for both FPGAs and ASICs. The resuklts can be found in the publications.
Part of our project is the strong cooperation with other gorups, e.g. we work with:
Christian Mueller-Schloer and Tarek Smaoui from university Hannover at optimising ant-based clustering strategies.
Sandor Fekete,
Alexander Kroeller and
Christiane Schmidt
on the improvement of our Marching Pixel algorithms in scope of theory and mathematics.
Wolfgang Rosenstiel, Andreas Bernauer and
Abdelmajid Bouajila
on implementing the ASoC architecture, a self-healing hardware strategy, in our chip.
Rolf Hoffmann und
Patrick Ediger from Darmstadt about questions of emergent algorithms and evolvability of emergence.
Design of algorithms and systems: Marcus Komann
Path planning: Michael Schmidt
FPGA- and ASIC-synthesis: Andreas Loos
Supervisor: Prof. Dietmar Fey
D. Fey: Model-Driven Design and Organic Computing - Two different but Possibly accordable Concepts for the Design of Embedded Systems, Panel discussion contribution on IEEE Int. Symposium on Object/Component/Service-oriented Real-time Distributed Computing, Proceedings ISORC'09, Tokio, pp. 93-94, March 2009.
M. Komann, D. Fey: Evaluating the Evolvability of Emergent Agents with Different Numbers of States, GECCO 2009, Montreal, Canada, 2009.
M. Komann, P. Ediger, D. Fey, R. Hoffmann: On the Effectivity of Genetic Programming Compared to the Time-Consuming Full Search of Optimal 6-State, EuroGP 2009, 12th European Conference on Genetic Programming EvoStar, 2009.
M. Komann, F. Taubert, D. Fey: On the Usefulness of Detecting Soft Errors in Parallel Pipelines for High-Speed Machine Vision based on Organic Computing Principles, ARCS-Workshop on Dependability and Fault Tolerance, Delft, 2009.
A. Loos, M. Schmidt, D. Fey and J. Gröbel: High speed binary image processor for compact real time vision systems, Conference on Design and Architectures for Signal and Image Processing, DASIP 2008, Bruxelles, 2008.
M. Schmidt, D. Fey: A Parallel Path Planning Approach based on Organic Computing Principles, Parallel and Distributed Computing and Systems (PDCS) 2008, Orlando, 2008.
A. Loos, D. Fey: A 2000 frames/s programmable binary image processor chip for applications, Proceedings Work-in-Progress Session 14th IEEE Real-Time and Embedded Applications Symposium RTAS 2008, St. Louis, pp. 49-52, 2008.
D. Fey, C. Gaede, A. Loos, and M. Komann: A New Marching Pixels Algorithm for Application-Specific Vision Chips for Fast Detection of Objects' Centroids, Parallel and Distributed Computing and Systems (PDCS) 2008, Orlando, 2008.
Komann, M.; Kröller, A.; Schmidt, C.; Fey, D. & Fekete, S. P.: Emergent algorithms for centroid and orientation detection in high-performance embedded cameras. CF '08: Proceedings of the 2008 conference on Computing frontiers, ACM, 2008, 221-230.
Komann, M. & Fey, D.: Solving the problem of enforced restriction to few states while evolving cellular automata. AUTOMATA-2008 Theory and Applications of Cellular Automata, 2008, 228-241.
Fey, D. & Komann, M.: Bioinspired architecture approach for a one-billion transistor smart CMOS camera chip. Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, 2007, 6592.
Komann, M.; Mainka, A. & Fey, D.: Comparison of evolving uniform, non-uniform cellular cutomaton, and genetic programming for centroid detection with hardware agents. PaCT, 2007, 432-441.
Fey, D.; Komann, M.; Schurz, F. & Loos, A.: An Organic Computing architecture for visual microprocessors based on Marching Pixels. ISCAS, 2007, 2686-2689.
Komann, M. & Fey, D.: Realising emergent image preprocessing tasks in cellular-automaton-alike massively parallel hardware. International Journal of Parallel, Emergent and Distributed Systems, 2007, 22, 79-89.
Komann, M. & Fey, D.: Marching Pixels - using Organic Computing principles in embedded parallel hardware. PARELEC '06: Proceedings of the International Symposium on Parallel Computing in Electrical Engineering, IEEE Computer Society, 2006, 369-373.
D. Fey, D. Schmidt: Marching-Pixels: A New Organic Computing Paradigm for
Smart Sensor Processor Arrays. Proceedings ACM International Conference on Computing Frontiers 2005, pp. 1-7, Ischia, Italy, May 2005.
D. Fey, D. Schmidt: Marching Pixels: A new organic computing principle
for smart CMOS camera chips. Proceedings Workshop on Self-Organization and Emergence - Organic Computing and its Neighboring Disciplines, pp. 123-130, Innsbruck, Austria, March 14-17, 2005.
D. Fey, D. Schmidt, A. Loos: Reconfigurable OPTO-ASICs as base for future
self-organizing CMOS cameras. Proceedings ARCS Workshop Self-organizing Systems in Physics and Computer Science, pp. 297-304, Augsburg, March 2004.
Currently open study theses:
Modelling
Gesture Recognition with Marching Pixels in SystemC.
Currently open diploma theses:
Gesture
Recognition with Marching Pixels.
Comparing
CELL Processors and General Purpose Computing on Graphics Processing Units
for Marching Pixels.
Further work and theses are possible. Please just come around.