A PARALLEL IMPLEMENTATION FRAMEWORK FOR REMOTELY SENSED IMAGE FUSION

The fusion algorithms are data-intensive and computation-intensive, whose processing performance is low if common implementation techniques are adopted. This paper presents a parallel implementation framework based on a generalized fusion model and parallel computing for remotely sensed image fusion. The steps in the implementation corresponding to each fusion algorithm are mainly the same, which discard the process steps, input and output (I/O)operations not impacting the last results. The parallel processing mechanism adopts the data decomposition strategies where different data blocks can be processed in different CPU cores. The developed software module shows that the framework can be applied to implement many algorithms which usually are divided into three general categories. The experiments show that the parallel implementation framework is high performance, which not only decreases the processing time in single CPU core environment but also efficiently utilizes the resources of multi-cores in computer.


INTRODUCTION
Image fusion is capable of integrating different imagery to produce more information than can be derived from a single sensor, in which the lower resolution multispectral image's structural and textural details are enhanced by adopting the higher resolution panchromatic image corresponding to the multispectral image.So far, many pixel level fusion methods, for remote sensing images have been presented.However some algorithms are very complicated, it is very difficult to implement them for us.The reasons are that these algorithms need many steps and generate temporary files in order to implement them, although some processing steps and temporary files do not impact the last results.Thus, a very undesirable result is that the execution of fusion methods which usually using serial processing is very slowly.The processing efficiency sometimes is the determinant aspect for their broad applications.In order to resolve these problems, we present a parallel implementation framework for remotely sensed image fusion, which mainly rely on two improvements.One is the implementation techniques based on the generalized model (Yang, et al., 2009, Zhang andYang, 2008) for image fusion.The framework can discard the middle steps and I/O operations not impacting the last results for some fusion algorithms because of directly calculating the last fusion results.The other is the framework is coupled with parallel computing.The adopted parallel processing technique can fully utilize the computing resource of the processing platforms, which are mostly multi CPU cores machine or cluster computers.The parallel processing mechanism can divide an entire image into different blocks which are dispatched to different processing units.Thus the processing efficiency is extremely improved.The framework can be applied to most image fusion algorithms, which are divided into three general categories (Yang, et al., 2010)

THE PROPOSED PARALLEL IMPLEMENTATION FRAMEWORK
The framework mainly consists of two important features.
One is based on the generalized fusion model (Yang, et al., 2009, Zhang andYang, 2008), the other is the parallel proceeding mechanism.Meanwhile, the two features are coupled completely.

The proposed framework
According to the generalized fusion model (Yang, et al., 2009, Zhang andYang, 2008), the fusion results for most fusion algorithms is formulated as: is intensity value of the (i, j) pixel of the fused kth band; is intensity value of the (i, j) pixel of the lower resolution multispectral kth band;


. Since three general categories of fusion algorithms (Yang, et al., 2010) can be deduced to the generalized model by mathematical transformation, the framework can be applied to them.In addition, Yang et al. (2009) lists the computing methods of the two important parameters in the model for most commonly used fusion algorithms.Therefore the basic implementation framework is established.The advantages of the implementation framework lie in two aspects.One is to avoid a specific implementation method for a specific fusion algorithm.Most fusion algorithms are implemented according to the last fusion results, which have the same parameters.The other is that the implementation framework can discard the middle steps and I/O operations not impacting the last results for some fusion algorithms because of directly calculating the last fusion results.The most important characteristic is that parallel computing can easily be incorporated into the framework.The parallel proceeding mechanism is shown in Fig. 1.The master processor receives the results sent by multi-slave processors and then writes the results to the output file, whereas the slave processors read data blocks from the input file according to a specific data decomposition strategy and then proceed these respective data blocks.The data decomposition strategies adopted in the framework are shown in Fig. 2.An entire image can be divided into strips (Fig. 2a), tiles (Fig. 2b) or bands (Fig. 2c) respectively.One among these three types of strategies can be chosen according the real requirements.In a word, the framework only calculates the two parameters ) , ( j i  and ) , , ( j i k  in the formula (1) instead of processing step by step according to the generalized fusion model, meanwhile it can concurrently process multiple data blocks by adopting the data decomposition strategy.

The developed software module
A software module has developed for image fusion based on the implementation framework.The eight algorithms respectively using Intensity Hue Saturation (IHS) (Carper, 1990, Shettigara, 1992), Color Normalization (CN) (Vrabel, 2000), Principal Component Analysis (PCA) (Shettigara, 1992), Block Regression (BR) (Zhang and Yang, 2010), Smoothing Filter Based Intensity Modulation (SFIM) (Liu, 2000), Local Correlation Modelling (LCM) (Hill, 1999), additive à trous wavelet transform (N´u˜nez, 1999), and combing PCA and à trous wavelet transform (González-Audícana, et al, 2004) , which all supports parallel computing.The GUI of the software module is shown in the Fig. 3. From top to down, the function of the GUI is for selecting the processing number, selecting the panchromatic image, selecting the multispectral image, choosing a fusion algorithm, selecting output fused file, and the bottom is for displaying the processing status information.The software module can supports not only single machine with multicore CPU but also HPC (high performance computing) computers.It can run on different operation systems, e.g.Microsoft Windows, Linux and Mac OS X.

EXPERIMENTS
We take two kinds of experiments.One is to record the execution time which can demonstrate the efficiency of parallel processing mechanism of Fig. 1 in comparison with serial processing.The other is to demonstrate the fusion quality in comparison with commercial software ERDAS.

Parallel Processing Experiments
The experiments are tested in an ordinary PC with 4 cores running on Windows 7 operation systems.The panchromatic and multispectral images in the same scene are fused respective by using IHS transform fusion algorithm in the software, SFIM fusion algorithm in the software and IHS transform fusion algorithm in ERDAS software.The file size of the fused image is 3.1 Gigabyte.The process time with different cores are indicated in Tab. 1.The time using IHS method in the framework is less than the same method in the ERADS software.The reason is that the framework discards the middle steps and I/O operations not impacting the last results.In this case of single machine, the time using IHS in the framework is near one ninth of time using ERDAS software.The speedup of SFIM and IHS in framework is near 2.5x when four cores are used.The more are the CPU cores used, the high speedup.The experiments show that the parallel implementation framework for remotely sensed image fusion is high performance, which not only decreases the processing time in single CPU core environment but also efficiently utilizes the property of multi-cores in computer.

Visual Comparison of Fusion Results
The other test is to demonstrate the visual effect of fusion result by comparing with the commercial software ERADS.

IHS (ERDAS) 897s
Tab. 1 Process times for fusion algorithms with different CPU cores

DISCUSSIONS AND CONCLUSIONS
In the light of the generalized model, this paper presents a parallel framework implementing various fusion algorithms， which not only discards the processing steps and I/O operations not impacting the fusion results but also utilizes the parallel computing to improve execution efficiency.The framework can be applied to most fusion algorithms, which usually are divided into three categories, i.e., CS technique, modulation based technique and MRA based technique.Once the framework were established, the main tasks to implement a fusion algorithm are to transform the fusion algorithm to the generalized mode and to calculate the last results instead of processing step by step.The experiments show that the parallel processing mechanism in the framework can extremely improve processing efficiency, which can completely utilize the computing resource of the processing platforms ranging from single machine with multi CPU cores to HPC computers.The developed software module can run on different system like Windows, Linux and Mac OS X.Also the experiments show that fusion results using the algorithms in the software are consistent with those of other software.

Fig
Fig.1The parallel proceeding mechanism

Fig
Fig.3The developed software module

.
From the formula (1), the main steps corresponding to each fusion algorithm are almost the same when those algorithms are implemented, i.e.,