The Parallel Image Processing System PIPS1 - CiteSeerX

5 downloads 0 Views 288KB Size Report
Hans Burkhardt, Andreas Bieniek, Rudolf Klaus,. Michael N olle, Gerald Schreiber2, Hanns Schulz-Mirbach. Technische Informatik I, Technische Universit at ...
September 1994, Aachen, Germany

The Parallel Image Processing System PIPS1 An open, scalable Image Processing Library for massively parallel systems Hans Burkhardt, Andreas Bieniek, Rudolf Klaus, Michael Nolle, Gerald Schreiber2, Hanns Schulz-Mirbach Technische Informatik I, Technische Universitat Hamburg-Harburg 21071 Hamburg, Germany

Abstract

PIPS is a parallel image processing system developed at the TU Hamburg-Harburg1. The structure of PIPS is highly modular and hierarchical. The scope of the PIPS functionality reaches from basic low level services up to high end user interfaces. PIPS is based on the message passing principle and is therefore portable to most distributed memory architectures. A wide range of library functions, along with implementations of many typical image processing algorithms, make it easy to integrate new parallel algorithms into PIPS. Using the high end interfaces the user views the parallel system as a powerful coprocessor attached to the host machine.

The parallel image processing system PIPS has been developed1 as a platform for research in the eld of image processing and parallel computing [4, 2, 5]. Image processing algorithms are well suited for parallel systems due to the large amount of data and the possibility to distribute the calculations on many processors in a natural way. A typical hardware con guration for the image processing system PIPS is shown in Figure 1. The structure of PIPS is highly modular and hierarchical. The scope of the modules of PIPS reaches from basic low level services up to high end user interfaces. The interaction of the modules shown in Figure 8 can be seen as a chain or a stack where each module relies only on the interface provided by the module of the next lower level. In turn each module provides an interface to the user and/or to the next layer of modules. When ascending in the hierarchy the user is allowed to become increasingly unaware of the properties of the underlying hardware. The high-end interactive interfaces do even hide all parallelization issues from the user. Descending in the hierarchy enables the user to take control of parallelization strategies, data handling, communication concepts or even the hardware. In the following we will describe the modules forming PIPS (as shown in Figure 8) from bottom to top. The hardware interface to the system and the bottom layer of the system is given by the message passer (MEPS) which handles all communication demands arising during the The development of the image processing system is part of the research project Paralleles Rechnen in technischen Anwendungen at the Technische Universitat Hamburg-Harburg. The project is supported by the German Science Foundation (Deutschen Forschungsgemeinschaft, DFG). 2email: [email protected] 1

PIPS 2.0 Scene

TU - HH TI - I

c M.N Video monitor

Camera

Userinterface (Workstation) Graphicprocessor Net

Command stream

Net server

Masterprocessor

Parallel system

Figure 1: Structure of the parallel image processing system PIPS. computation. Also mechanisms for synchronizing the system and broadcasting data are implemented in this layer. New routing and communication strategies can be incorporated into MEPS. The portability of the whole image processing software is guaranteed by adapting the hardware dependent part of the message passer to other architectures. The main intelligence regarding image processing and its parallelization is provided by the next module further up in the hierarchy. The PIPS module can handle distributed storage of image parts and provides services such as data and command distribution and collection. Additionally, easy access to data located on other network processors is given. In this layer the algorithms can be optimized by choosing the most suited data distribution, minimizing communications and calculations or overlapping calculation and communication parts of the algorithm ([6]). The PIPS module employs theoretical results for ecient embeddings of algorithms with nearest neighbour communication demands in logarithmic communication networks [5] and results on scalability of algorithms for networks of di erent size [2]. As a programming interface a C++ library has been implemented to form the next higher level of the PIPS system. At runtime the parallel system is controlled by command streams which are send to the system via the network server. The command streams are generated by library functions on the workstation. By using this library one can implement complex image processing algorithms and integrate them in any system capable of calling user supplied functions. This has been done with the well known Cantata/Khoros3 system. 3

Khoros is public domain software implemented by the University of New Mexico, Albuquerque.

Figure 2: Original image

Figure 3: Impulse response Figure 4: Maximum-Likelihood restoration after 70 iterations.

As another high end user interface 'PipsLab' has been designed. It provides access to almost all features of the C++ library via an interpreter. The syntax and usage of 'PipsLab' fairly resembles MatLab4. E.g. it is possible to have subroutines and loops. On top of 'PipsLab' resides the X-Windows front-end 'Action'. It gives intuitive access to all 'PipsLab' features. Operations can be triggered by drag and drop techniques and are visualized, even when they have been entered directly in the 'PipsLab' interpreter. Iterative algorithms for image restoration have been parallelized and integrated into the system ([3]). Typically, the main workload of the algorithm originates from multiple fast Fourier transformations in each iteration. Figure 5 shows, that eciencies from 80 to 90% are attainable even for moderate problem sizes solved on a large number of processors. Base for the calculation of eciencies is the runtime on a single processor. Results of a restoration which corrects the optical distortion of the Hubble Space Telescope are shown in Figures 2, 3 and 4. The algorithms can also be used to enhance images from earth based telescopes. A tomographic analysis of the three dimensional temperature distribution of nearly rotational symmetric ames from four projections [7] are shown in Figure 6. The parallel implementation calculates the tomographic analysis nearly within video frame rate (120 ms) with 64 processors on the transputer based parallel computer SC-128. An other example is the Viterbi-algorithm for the Maximum-Likelihood restoration of distorted images with additive noise. The algorithm searches very eciently for the most probable solution using the information that the original image has binary values and the noise is gaussian. Figure 7 shows the advantage compared to conventional image restoration methods like pseudoinverse and Wiener ltering which make no use of the available a priori knowledge. At present PIPS has over 100 image processing functions. Apart from many standard functions like local ltering, fast Fourier and Walsh transform, we have also integrated functions from computer tomography, image restoration [1, 3] and the extraction of invariant features [6]. In most cases the parallel implementation of the functions achieve very good eciencies on a parallel transputer system with up to 128 nodes. 4

MatLab is a registered trademark of The Math Works, Inc.

1 0,9 0,8 0,7

efficiency

0,6 0,5 0,4 0,3 0,2 0,1 0 0

8

16

24

32

40

48

56

64

72

80

88

96

104

112

120

128

processors 128x128

256x256

512x512

1024x1024

Figure 5: The eciency of the implemented fast Fourier transformation.

Figure 7: 1) Image distorted with system impulse response = 1 7[1 1 1 1 1 1 1] and additive noise SNR=10dB (20x89 Pixel). 2) Figure 6: Tomographic analysis of image se- Restoration with pseudoinverse lter. quences, reconstructed from 4 projections of 3) Restoration with Wiener lter. 4) Restoration with Viterbi algorithm. a bunsen ame. h

=

;

;

;

;

;

;

Figure 8: The modular concept of the image processing software PIPS.

References

[1] H. Burkhardt and L.C. Barbosa. Contributions to the Application of the ViterbiAlgorithm. IEEE Trans. on Information Theory, IT-31(5):626{634, 1985. IBM Research Report, RJ 3377(40413) 1/22/82, San Jose, Ca. [2] H. Burkhardt, B. Lang, and M. Nolle. Aspects of Parallel Image Processing Algorithms and Structures. pages 65{84. ESPRIT BRA 3035 Workshop, Bonas (F), August 1990, North-Holland, 1991. [3] R. Klaus. Segmentation Based Sensor Fusion of Distorted Multiframe-Images. In Proc. of the IEEE Winter Workshop on Nonlinear Digital Signal Processing, Tampere, Finland, January 1993. [4] B. Lang. Digitale Bildverarbeitung mit kombinierter Pipeline- und Parallel-Architektur. PhD thesis, Technische Universitat Hamburg-Harburg, October 1991. Ersch. als Fortschrittbericht (Reihe 10, Nr. 208) der VDI-Zeitschriften, VDI-Verlag. [5] M. Nolle and G. Schreiber. Einbettung von Gitter{Algorithmen in de Bruijn{Graphen. 3. PASA Workshop Bonn, in Mitteilungen{Gesellschaft fur Informatik e.V., pages 12{ 19, April 1993. [6] M. Nolle and H. Schulz-Mirbach. Vollstandige algebraische Beschreibung und Parallelisierung von translations- und rotationsinvarianten Transformationen fur Grauwertbilder. In S. Fuchs and R. Ho mann, editors, 14. DAGM - Symposium "Mustererkennung", pages 30{41, Dresden, 1992. Reihe Informatik aktuell, Springer. [7] E. Stoll. Anwendung von Bildverarbeitungs- und automatischen Bildauswertemethoden fur multispektrale und multisensorielle bildgebende Metechnik. DFG-Forschungsbericht (Abschlubericht) im SFB 238, "Prozenahe Metechnik und systemdynamische Modellbildung fur mehrphasige Systeme", Projekt Bu-C5 und Interner Bericht 1/94, Technische Informatik I, TU-HH, January 1994.