Stefan Robila - Semantic Scholar

31 downloads 0 Views 651KB Size Report
In case of some projection pursuit algorithms, kurtosis, skewness (fourth and third ... component selection using kurtosis, filtering of the data based on skewness ...
Target Detection in Hyperspectral Images Based on Independent Component Analysis Stefan A. Robilaa, Pramod K. Varshneyb Department of Electrical Engineering and Computer Science, Syracuse University ABSTRACT The paper presents an algorithm based on Independent Component Analysis (ICA) for the detection of small targets present in hyperspectral images. ICA is a multivariate data analysis method that attempts to produce statistically independent components. This method is based on fourth order statistics. Small, man-made targets in a natural background can be seen as anomalies in the image scene and correspond to independent components in the ICA model. The algorithm described here starts by preprocessing the hyperspectral data through centering and sphering, thus eliminating the first and second order statistics. It then separates the features present in the image using an ICA based algorithm. The method involves a gradient descent minimization of the mutual information between frames. The resulting frames are ranked according to their kurtosis (defined by normalized fourth order moment of the sample distribution). High kurtosis valued frames indicate the presence of small man-made targets. Thresholding the frames using zero detection in their histogram further identifies the targets. The effectiveness of the method has been studied on data from the hyperspectral digital imagery collection experiment (HYDICE). Preliminary results show that small targets present in the image are separated from the background in different frames and that information pertaining to them is concentrated in these frames. Frame selection using kurtosis and thresholding leads to automated identification of the targets. The experiments show that the method provides a promising new approach for target detection. Keywords: mutual information based feature separation, independent component analysis, target detection, higher order statistics, feature selection, hyperspectral imagery

1. INTRODUCTION Detection of targets in remotely sensed data is a relatively difficult task. There are several reasons for this difficulty. First, due to the size of the targets combined with the spatial resolution of the sensor, the information related to the target is usually contained in few or even one image pixel [1], [2]. The problem is further complicated when the spectral properties of the target are very similar to the ones of the surrounding background, thus making separation (identification) possible only when a certain number of narrow spectral frequency bands are analyzed. Since in multispectral imagery each frame has large bandwidth associated with it, separation between the target and the background may not be easily detected. From this point of view, hyperspectral imagery has the advantage of capturing a large set of narrow spectral frequencies thus improving the chances of detection. The large number of image frames in hyperspectral images as well as the high level of correlation between bands lead to certain difficulties in processing. Due to these factors, regular multispectral-based algorithms do not usually perform well when run on hyperspectral data [3]. Detecting the few frames that contain the useful information out of possible hundreds of frames is difficult especially when the nature of the small objects is not known. A useful step in target detection is to transform the data such that the differences between the targets and the background are maximized. One solution is to decorrelate the image frames (through Principal Component Analysis (PCA)). However, small targets do not contribute significantly to the variance of the frames and might not show up in the highest variance frames after PCA processing. There is, therefore, a need for methods that go beyond second order statistics when characterizing the target/background separability. Solutions to this problem depend on how this separability is defined. In case of some projection pursuit algorithms, kurtosis, skewness (fourth and third order a

[email protected]; phone 1 315 425 9903; fax 1 315 443-4441; http://www.cis.syr.edu/~sarobila/web/; 121 Link Hall Syracuse University, NY 13244, USA b [email protected]; phone 1 315 443-4013; fax 1 315 443-2583; http://unixweb.ecs.syr.edu/~varshney/; 121 Link Hall, Syracuse University, Syracuse, NY 13244, USA.

cummulants) [1], or distance of the probability density function from the normal distribution [4] are employed to characterize it. All of these approaches measure the separability between components through separability of the observed data from normally distributed data. In fact, maximization of kurtosis has been shown to be equivalent to achieving independence [5, page 171]. Initially designed as a method for separation of unknown sources out of a linear mixture, Independent Component Analysis (ICA) has recently been considered as a possible solution to a wide variety of problems. It is attractive due to the facts that it does not require knowledge of the original sources, that it assumes that they are nongaussian and that, in its general formulation, treats the sensed data as a linear mixture of the sources. The independence assumption (the sources have to be mutually independent) is usually verifiable and in case it is not, an approximation of the sources is obtained. The method we present in the following section is based on the Information Minimization approach to ICA. It generates all the components at the same time by following an optimization algorithm that minimizes the mutual information between the image frames. The ICA module is just one of the steps in the process of detecting the objects in the hyperspectral image set. It is preceded by preprocessing using Principal Component Analysis, and followed by component selection using kurtosis, filtering of the data based on skewness and histogram properties. Previous applications of ICA in the field of hyperspectral/multispectral imagery include classification algorithms [6], [7] and its use as a method to determine the end member mixing coefficients [8]. In this paper, we explore the extent to which ICA can be applied to feature extraction and, in particular, to target detection in hyperspectral images. First, we provide a short description of the information minimization algorithm and a modeling of the remotely sensed data in the context of ICA in Section 2. Preprocessing steps along with the description of the target detection algorithm are presented in the third section. In Section 4, we present the complete algorithm in terms of a block diagram. Experimental results are presented in Section 5 where we analyze the efficiency of the method when run on the HYDICE collected dataset. Finally, we provide some concluding remarks in Section 6.

2. INDEPENDENT COMPONENT ANALYSIS Given an observed n-dimensional random vector x, ICA attempts to find a linear transformation W such that the obtained data u = Wx has the components that are independent. Statistical independence of the components can be expressed as [9]: n

p(u) = ∏ p(u i ).

(1)

i =1

An alternative definition of independence is that the mutual information between components is zero:

I(u 1 ,..., u n ) = E{log

n

p(u) n

∏ p(u )

} = E{log(p(u))} − E{log(∏ p(u i ))} = 0.

(2)

i =1

i

i =1

Thus, trying to achieve independence is the same as minimizing the mutual information between them. A direct approach to solving this problem is based on the derivative of the mutual information with respect to the components of W: n

∂E{log(∏ p(u i ))}

∂I(u 1 ,..., u n ) ∂E{log(p(u))} ∂E{log(p(u))} n ∂E{log(p(u i ))} i =1 (3) = − . = −∑ ∂W ∂W ∂W ∂W ∂W i =1 Further simplification of the first term leads to: p(x) ∂E{log( )} ∂E{log(p(x))} ∂E{log(J(x))} ∂E{log(p(u))} J(x) ∂E{log(J(x))} = = − ≈ (W T ) −1 . (4) =− ∂W ∂W ∂W ∂W ∂W where J(x) is the Jacobian of the transformation Wx and is equal to det(W). For the second term of (3), when the probability density function of the components of u is approximated by a function g, we get:

 ∂g(u)    ∂E{log(p(u i ))} n ∂E{log(g(u i ))} n 1 ∂g(u i ) n 1 ∂g(u i ) ∂u i  ∂u  T ≈∑ =∑ =∑ = x . ∑ ∂W ∂W ∂W ∂u i ∂W  g(u)  i =1 i =1 i =1 g(u i ) i =1 g(u i )     n

(5)

Finally, the iterative step is obtained by multiplying the derivative with the “natural gradient” [9, page 41]:

   ∂g(u)   ∂g(u)        ∂I(y ) T T −1 T T ∂ u u ∂     u T W. ∆W ∝ −k W W = k (W ) + ⋅ x W W = kW + k   ∂W  g(u)   g(u)             

(6)

where k is a scalar (learning rate). The above expression is similar to the one produced by the Infomax algorithm introduced in [10] and deriving it directly from the mutual information avoids the error terms that exist in the original derivation of Infomax [9, page 38]. This derivation also provides a better explanation on why the original algorithm is so robust. Due to its simplicity, the Infomax approach has seen an ever increasing usage. It has been successfully employed in voice separation, natural image processing, etc [9]. [11], [5]. There are, however, like in all ICA based techniques, several factors that may negatively impact its performance. There are four assumptions for ICA to be applicable: the observed data is a linear mixture of the original sources, these sources are independent and nongaussian in nature, and their number is smaller than the number of observed components. [9]. Verification of these assumptions when applying ICA to hyperspectral data depends on the modeling of this data. Previous work has mainly concentrated on separating the spectral signatures (pixel vectors in the image cube), starting from the consideration of each pixel vector as a linear combination of base pixel vectors (linear mixing model). The coefficients involved in this combination can be seen as forming a random vector whose components can be separated through ICA [8]. Our approach in creating a model for hyperspectral imagery takes a different look at the data cube. We assume that each image frame is in fact constructed as a linear combination of base frames and that these frames are independent of each other. In this setting, the sensed hyperspectral image cube is considered to be the result of a linear transform applied to the cube formed of the base frames. Independent Component Analysis is applied here to determine the inverse of this transform, thus recovering the original base frames. The noise that is present in the image can be considered to be just another independent component. The image cube is considered as a random vector, with the number of components in the vector being the number of frames (each element of the random vector corresponds in fact to an image frame). This is similar to the one used to describe Principal Component Analysis on multispectral / hyperspectral images [12], [13]:

n  x1  x  x =  2  |     xn 

Figure 1: Model of a hyperspectral image cube as random vector. Each pixel vector of size n is an instance of the random vector x. The independence of the base frames can be justified from the fact that various features (objects, land covers) that exist on the surveyed area show up usually in different base frames. In addition, there is no relationship between the existence of one class of objects in the scene and the existence of another. Since a hyperspectral cube has a large number of image frames, it can be assumed that the number of frames is larger than the number of components or classes to be determined, verifying another of the ICA assumptions. It is also a relatively safe assumption that the base frames

(containing various features) have a non-Gaussian structure. We have verified the non-Gaussian assumption by analyzing the HYDICE dataset that we have employed in our experimental study. Choice of the nonlinear function g(.) plays an important role in the accuracy of the results. In the case when the probability density function of the components of u does not match the derivative of g, an error factor is involved [9]. It is impossible to determine the exact form of the distribution of the components when no prior information is available but this methodology is quite robust to the choice of g(.) [10], [14]. The procedure does not work satisfactorily when the independent components are of both supergaussian and subgaussian nature. Kurtosis is the measure employed to characterize whether a random variable is supergaussian or subgaussian. For a discrete random variable v, the normalized value of kurtosis is computed as: n

K=

n * ∑ (vi − v ) 4 i =1

 2  ∑ (vi − v )    i =1 n

2

− 3.

(7)

where |v| is the expected value of v. For normally distributed random variables, the kurtosis value is zero. The random variables with positive kurtosis values are named super-Gaussian. These density functions have larger values at mean (higher peak) and longer tails when compared with the normal probability distribution function. The sub-Gaussian random variables (negative kurtosis values) on the other hand are flatter than the normal pdf [5]. The differences between these two classes of random variables decrease the efficiency of the algorithm as it is presented. A remedial approach is to use a set of functions {g1( ),..,gk( )} as possible candidates and at any step to choose the one that fits the best. We adopted the solution presented in [14], where based on a predictive model that indicates whether the projected component would have sub or supergaussian distribution a sub or a supergaussian function is used. In our experiments, no noticeable differences were obtained whether a predictive model was used or not.

3. PREPROCESSING AND POSTPROCESSING PROCEDURES Apart from the ICA algorithm, there are several other steps that need to be performed, before and after it, in order to have a complete and efficient target detection algorithm. These algorithms are described in this section. 3.1. Principal Component Analysis Preprocessing (whitening and sphering) is employed here as a means to reduce the relevance of first and second order statistics, and to speed up the convergence process. A side effect of preprocessing the data involves the learning rate used in the ICA module. The raw hyperspectral data, after calibration, can take intensity values over large intervals leading to a very slow learning rate. When preprocessing is employed, due to the small values associated with pixels, the learning rate increases significantly. Among the choices for preprocessing techniques, one of the widely used is Principal Component Analysis (PCA). When employed, the data is transformed as follows [13]: −

1 2

x' = C x A x ( x − | x |). (8) where Cx is the diagonal matrix formed of the eigenvalues of the covariance matrix for the random vector x, and Ax is the matrix formed of the corresponding eigenvectors. If the eigenvectors are sorted according to the magnitudes of the eigenvalues, the components of x’ will usually display most of the information in the first few frames (since after transforming through Ax, they are the ones with the largest variance). This property has been used to significantly reduce the number of image frames to be processed further. However, it has been shown in [3] and [7] that it is not usually the case that all the small objects will be contained in the first 3 or 4 frames since they do not contribute significantly to the overall variance. To compensate for this, different modifications to PCA such as spectral screening [15], and noise adjustment [16] have been proposed. In order to determine the number of frames to be retained after the PCA, we have looked at various approaches that can be used [17]. One method is to choose only the frames that would have the eigenvalues larger than the average. The second approach is to take frames in decreasing order of their eigenvalues until their sum makes up a large percentage of the overall sum (in our case, 99.9%). Third, the number of frames can be decided based on the scree graph

of the eigenvalues. In this approach, we plot the eigenvalues in decreasing order and find the place where the graph has a significant slope change. For example, in the plot of the first 30 eigenvalues for the data tested, we note that starting with the fourth value, the slope changes significantly (see Figure 2). 9000

9000

8000

8000

7000

7000 6000

5000

variance

variance

6000

4000

5000 4000

3000

3000

2000

2000

1000

1000

0

20

40

60

80 100 120 image frames

140

160

180

0

200

5

10

15 image frames

20

25

30

Figure 2: (a) variance vs. image frames graph, (b) same graph for the first 30 frames As indicated earlier, ICA requires only that the number of observed components be the same or greater than the number of independent components to be obtained. At the same time, it has been noted that a considerably large number of observations would adversely influence the efficiency of ICA since the algorithm will still try to separate all the frames [5]. On the other hand, it is highly unlikely that there are only three or four independent features in the image. This is why, a reasonable number of frames needs to be selected for ICA processing. 3.1. Processing the results for target detection Since following the ICA processing different features are separated in different frames, we expect to find among the image frames, ones that contain large land classes, others that would display only the small targets and, finally, frames that would contain just noise. Once the data is processed through the ICA module, we need to find a way to select the frames that contain the small objects. Kurtosis is a measure that is more sensitive to anomalies in an image than the standard deviation. Changing a few pixel values is usually enough to alter the kurtosis value [9]. When the frame contains small objects and a large and homogeneous background, the kurtosis value will be very high compared with a mostly noisy frame. The kurtosis will be smaller in the case when the frame contains a large class (in this case, the standard deviation will also be large). Finally, we note that kurtosis maximization is in fact one of the methods of obtaining independent components. Both fixed point ICA [5] as well as projection pursuit [1] algorithms produce projection frames based on kurtosis maximization. 600

kurtosis value

500

400

300

200

100

0 2

4

6

8 frames

10

12

14

Figure 3: Scree graph of kurtosis values for 14 frames We select the highest kurtosis frames as the ones containing information pertaining to small objects. The number of frames to be selected was based on the scree graph for the kurtosis values. In the case of kurtosis, a considerable change of slope represents the border between one class of frames to another. For example, in Figure 3, showing 14 values, the major change of slope occurred at the sixth frame. We select the frames prior to it.

The next step is the identification of the position of the targets in the scene. A simple method suggested in [1] performs filtering by analyzing the histogram of the image. The idea is to start from the center of the data and to go towards the extremes searching for the pixel value where the histogram takes the value zero. Since the targets are distinguishable from the background, the pixel values associated with them will be most likely beyond this threshold. For more information see [1]. It is, however, not clear whether this search should be performed in both directions from the center. If we assume that the targets were concentrated on one side, then filtering on both sides would most likely allow noise pixels to be considered as targets. It is, therefore, necessary to identify a measure that would indicate in which direction (to the left or to the right of the center) should the threshold be found. To do this we measure the skewness of the frames, defined as: n

S=

∑ (v i =1

i

− v )3

n

(9)

.

Skewness measures the asymmetry of the distribution. In our case, for frames with homogeneous background and small objects, a positive skewness value would indicate anomalies towards the tail to the right of the center (bright intensity targets) and a negative value indicates that the anomaly is to the left of the center (dark intensity targets). The filtering is then performed only in the direction indicated by the sign of the skewness.

4. BLOCK DIAGRAM OF THE ALGORITHM Input image cube - Transform x such that its components are whitened and sphered - Reduce number of frames W = In, u = W ⋅ x compute the mutual info for the components of u for each pixel vector xi do: compute u i = W ⋅ x i compute y i = ( y 1i ,.., y ni ) = ( g (u 1i ),.., g (u ni )) T

compute ∆W = W + y i ⋅ u i ⋅ W update W = k * (W + ∆W) u = W⋅x compute the mutual info for the components of u

mutual info significantly changed ?

yes

no - Rank components of u according to kurtosis and keep the highest ones - Threshold the selected frames using the skewness and histogram information Result

Figure 4: Block diagram of the algorithm

The algorithm, with all the steps included is presented in Figure 4. The algorithm is computationally intensive especially at the iterative step where the update is performed for each pixel vector. With careful coding, the step can be reduced to O(mn2) complexity, where m is the number of pixels and n is the number of image frames in the image cube. At the same time, as it will be seen in the experiments, good results are obtained after only a few iterations. This is consistent with running the ICA algorithm on other types of data (sound, natural images, etc.) [9], [11], [14].

5. EXPERIMENTS The two experimental hyperspectral images (Figure 5) are data from the Hyperspectral Digital Imagery Collection Experiment (HYDICE). These images correspond to foliage scenes taken from an altitude of 2000 to 7500 meters at wavelengths between 400nm and 2.5 micron (a total of 210 spectral bands). The data set uses 16 bit pixel calibrated sub-scenes provided by the Spectral Information Technology Application Center. Several frames containing artifacts or corresponding to water absorption bands have been dropped prior to the processing.

panels

Figure 5: Images from the original HYDICE cubes used in the experiments 6 5

10

4 8

3 2

6

1 4

0 -1

2

-2 0

-2

-3 -4 2

4

6

8

10

12

2

14

(a)

4

6

8

10

12

14

(b) 10 14

5

12

0

10 8

-5

6

-10

4 2

-15

0

-20 -2 -4

-25 2

4

6

8

10

12

14

2

4

6

8

10

12

14

(c) (d) Figure 6: ICA produced frames for the first experiment. Information related to various features has concentrated in different bands. The graphs plot pixel intensity values vs. frame number for locations that correspond to (a) the lower portion of the roads, (b) to the camouflaged vehicle, (c) to the right-side portion of the road, (d) and to the two mechanized vehicles (left corner in the image), respectively. The peaks correspond to the image to the left of the graphs. The first scene (left one in Figure 5) is made up of patches of forest, exposed fields, roads, exposed mechanized vehicles as well as under camouflage [18]. We used it mainly to test the overall performance of the ICA module by

assessing its convergence and the level of separability between features. Following the PCA step, 14 frames, making up 99.9% of the variance have been retained for ICA processing. Figure 6 shows four of the resulting frames together with graphs of pixel intensity values versus frame number corresponding to different locations in the image. It should also be mentioned that some of the features show up in negative, a phenomenon usually encountered in ICA (the methods approximates the components up to scalar multiplication).

sum of mutual information

3.5

3

2.5

2

1.5

1

0.5

0

20

40

60

80

100

120

140

160

180

200

iteration

Figure 7: Sum of the pairwise mutual information as a function of the iteration count To test the convergence of ICA in the context of the data, we have used mutual information. Since, computing the mutual information for 14 frames based on the rather small number of pixels would have degraded the accuracy, we have instead computed the sum of the pairwise mutual information, and considered it as an equivalent measure [19]. Figure 7 shows that the algorithm reaches a steady state value after a few iterations and does not vary significantly afterward.

Figure 8: Five highest kurtosis frames are displayed in the upper row. The lower row displays the frames after skewness based filtering was applied.

We have chosen the second image (right one in Figure 5) to see how ICA performs in target detection and how it compares with similar algorithms (like the projection pursuit approach presented in [1]). It contains panels made of 8 different materials: dark olive parachute, light olive parachute, nomex kevlar (woodland), green tenting, cotton/nylon (green woodland), nylon (green woodland), cotton (green), desert BDU [18]. For each of the material, there were 3 panels of sizes 1 by 1, 2 by 2 and 3 by 3 meters. Forest patches, and small portions of roads are present in the image. The PCA processing followed by selection of the highest variance frames that make up 99.9% of the total variance produced 14 frames (see Figure 2 for the graph of the variance values). The ICA step reached a steady state after less than 30 iterations and the resulting frames were ranked according to the kurtosis values (see Figure 3 for the graph). The last major change of the slope occurred at the sixth value, so only the first five frames were further processed. Figure 7 shows the corresponding images as well as the result of the skewness/zero detection thresholding. An interesting fact to note is that although we have 8 different types of panels, we have in fact several relationships between them. The two types of parachute materials have the same fiber composition and differ only in color, the cotton/nylon panels are made of fibers that are also present separately in other panels, etc. These relationships, together with the color of the panels play an important role when generating the components making more than one panel type to show up in the same image frame. The composite image (Figure 9) shows that all the existing targets were detected. Apart from them, two individual pixels ((a) and (b) in Figure 9) together with a pixel concentration in the lower part ((c) in Figure 9) have been also detected. An analysis of these artifacts in the original image shows the existence of an undocumented anomaly corresponding to the second individual pixel (b). The pixel concentration (c) corresponds to a patch of forest present in the scene and the other individual pixel (a) occurs in an area affected by a scratch due to the instrument and recorded in the data documentation [18].

a

c

b

Figure 9: Composite image for ICA run on 14 frames. False detections are indicated by arrows

5. SUMMARY AND CONCLUSIONS We have presented an algorithm that performs unsupervised object detection on hyperspectral images. It is based on the Information Minimization approach to Independent Component Analysis. Our model satisfies the assumptions for the applicability of ICA quite well. The model does not follow the usual linear mixing approach and differs from previous work by achieving independence between the image frames containing the hyperspectral cube. At the end of the ICA iterative process, the features present in the scene were separated in different frames. Next, we used a very simple but extremely efficient measure, kurtosis, to select the frames containing the small objects. The largest kurtosis frames were selected, the threshold being based on the scree graph of kurtosis values for all the frames. Further filtering using skewness and histogram information leads to the detection of the targets in the images. The iterative step converges fast and the sum of pairwise mutual information has been employed as the convergence criteria. The results indicate that ICA provides an efficient way to separate features present in a scene. As expected, kurtosis based frame selection is an accurate method for detecting small targets in an image. There is, unfortunately, no clear method at this point that would distinguish between a man made and a natural small target and this is the explanation for falsely detecting the forest patch. The main reason is that the algorithm uses only spectral information. Future steps that would include the spatial characteristics would improve the accuracy of the result.

ACKNOWLEDGEMENT This research was supported by National Aeronautics and Space Administration under grant number NAG5-11227.

REFERENCES: 1. S-S. Chiang, C-I. Chang , and I.W. Ginsberg, “Unsupervised target detection in hyperspectral images using projection pursuit”, IEEE Transactions on Geoscience and Remote Sensing, 39, no. 7, 2001, 1380-1391 2. D. Manolakis, C. Siracusa , and D. Shaw, “Hyperspectral subpixel target detection using the linear mixing model”, IEEE Transactions on Geoscience and Remote Sensing, 39, no. 7, 2001, 1392-1409 3. J. A. Richards, and X. Jia, Remote Sensing Digital Image Analysis, Springer, 1999 4. A. Ifarraguerri , and C.-I Chang, “Unsupervised hyperspectral image analysis with projection pursuit”, IEEE Transactions on Geoscience and Remote Sensing, 38, no. 6, 2000, 2529-2538 5. A. Hyvärinen, J. Karhunen, and E. Oja, Independent Component Analysis, John Wiley & Sons, 2001 6. C.H. Chen, X. Zhang, “Independent component analysis for remote sensing”, Proceedings of SPIE Image and Signal Processing Conference for Remote Sensing V, 3871, 1999, 150-157 7. T.M. Tu, P.S. Huang, P.Y. Chen, “Blind separation of spectral signatures in hyperspectral imagery”, IEE Proceedings on Vision, Image and Signal Processing, 148, no. 4, 2001, 217-226 8. S-S. Chiang, C-I. Chang, and I.W. Ginsberg, “Unsupervised hyperspectral image analysis using independent component analysis”, Proceedings of IEEE Geoscience and Remote Sensing Symposium, 7, 2000, 3136-3138 9. T.W. Lee, Independent Component Analysis. Theory and Applications, Kluwer Academic Publishers, 1998 10. A. Bell, and T.J. Sejnowski, “An Information-Maximization approach to blind separation and blind deconvolution”, Neural Computation, no. 7, 1995, 1129-1159 11. A. J. Bell, and T. J. Sejnowski, “The 'Independent Components' of natural scenes are edge filters”, Vision Research, 37, no. 23, 1999, 3327-3338 12. P.J. Ready, P.A. Wintz, “Information extraction, SNR improvement, and data compression in multispectral imagery”, IEEE Transactions on Communications, Vol. Com-21, 1973, 1123-1130 13. R.C. Gonzales, and R.E. Woods, Digital Image Processing, Addison-Wesley Publishing Company, 1993 14. T.W. Lee, M. Girolami, and T.J. Sejnowski, “Independent component analysis using extended Infomax algorithm for mixed subgaussian and supergaussian sources”, Neural Computation, no. 11, 1999, 417-441 15. T. Achalakul, and S. Taylor, “A concurrent spectral-screening PCT algorithm for remote sensing applications”, Information Fusion, 1, no. 2, 2000, 89-97 16. A.A. Green, M. Berman, P. Switzer, and M. Craig, “A transformation for ordering multispectral data in terms of image quality with implications for noise removal”, IEEE Transactions on Geoscience and Remote Sensing, 26, no. 1, 1988, 66-74 17. A.C. Rencher, Methods of Multivariate Analysis, John Wiley & Sons, 1995 18. Hyperspectral Digital Imagery Collection Experiment Documentation, August, 1995 19. D. Nuzillard, and A. Bijaoui, “Blind source separation and analysis of multispectral astronomical images”, Astronomy and Astrophysics Supplement Series, 147, 129-138, 2000