| Chair Computer Architecture > Organic Computing Project Marching Pixels | ||||||||||
|
Organic Computing Project Marching Pixels |
|||||||||
| News |
After we've shown the feasability of Genetic Programming towards the evolution of agent based algorithms, we want to extend that principle towards emergent algorithms now. Therefore, we also want to exploit the possibilities offered by the Jena Campus GRID which allows us to traverse immense search spaces during evolution.
|
|||||||||
|---|---|---|---|---|---|---|---|---|---|---|
![]() | ||||||||||
| What does OC mean? |
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.
|
|||||||||
![]() | ||||||||||
| Description of the project |
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 allows them to adapt independently to different tasks and to compensate the failure of components. |
|||||||||
| Marching Pixels Toolbox |
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.
|
|||||||||
![]() | ||||||||||
| Project partners |
Part of our project is the strong cooperation with other gorups, e.g. we work with:
|
|||||||||
![]() | ||||||||||
| Staff |
We are always searching for interested students to work in this project as HiWis! We furthermore cooperate closely with the PixStack group and the ProInno II-Project: FPGA-camera in order to realise the ideas in hardware.
|
|||||||||
![]() | ||||||||||
| Publications |
|
|||||||||
![]() | ||||||||||
| Study and diploma theses |
Currently open diploma theses: none
Further work and theses are possible. Please just come around. |
|||||||||
![]() | ||||||||||
![]() | ||||||||||
| Further information |
|
|||||||||
![]() |
Author: Marcus Komann Changed: 2009-03-23 14:25 | |||||||||