Real-Time Endmember Extraction on Multicore Processors

Share Embed


Descripción

924

IEEE GEOSCIENCE AND REMOTE SENSING LETTERS, VOL. 8, NO. 5, SEPTEMBER 2011

Real-Time Endmember Extraction on Multicore Processors Alfredo Remón, Sergio Sánchez, Abel Paz, Enrique S. Quintana-Ortí, and Antonio Plaza

Abstract—In this letter, we discuss the use of multicore processors in the acceleration of endmember extraction algorithms for hyperspectral image unmixing. Specifically, we develop computationally efficient versions of two popular fully automatic endmember extraction algorithms: orthogonal subspace projection and N-FINDR. Our experimental results, based on the analysis of hyperspectral data collected by the National Aeronautics and Space Administration Jet Propulsion Laboratory’s Airborne Visible InfraRed Imaging Spectrometer, indicate that endmember extraction algorithms can significantly benefit from these inexpensive high-performance computing platforms, which can offer real-time response with some programming effort. Index Terms—Endmember extraction, hyperspectral imaging, multicore processors, spectral unmixing.

constituent spectra, called endmembers, and then express the measured spectrum of each mixed pixel as a linear combination of endmembers weighted by abundances that indicate the proportion of each endmember present in the pixel [4]. Let us assume that a remotely sensed hyperspectral scene with n bands is denoted by X, in which the pixel at the discrete spatial coordinates (i, j) of the scene is represented by a feature vector X(i, j) = [x1 (i, j), x2 (i, j), . . . , xn (i, j)] ∈ Rn , and R denotes the set of real numbers corresponding to the pixel spectral response xk (i, j) at sensor channels k = 1, 2, . . . , n. Under the linear mixture model assumption, each pixel vector in the original scene can be modeled using X(i, j) =

I. I NTRODUCTION

p 

Φz (i, j) · Ez + n(i, j)

(1)

z=1

A

MAJOR challenge for the development of efficient hyperspectral imaging systems in the context of remote sensing is how to deal with the extremely large volumes of data produced by the imaging spectrometers [1]. For instance, the National Aeronautics and Space Administration Jet Propulsion Laboratory’s Airborne Visible InfraRed Imaging Spectrometer (AVIRIS) [2] is able to record the visible and near infrared spectrum (wavelength region from 0.4 to 2.5 μm) of the reflected light of an area 2- to 12-km wide and several kilometers long using 224 spectral bands, at nominal spectral resolution of 10 nm and a spatial resolution of 20 m. If the spatial resolution of the sensor is not high enough to separate different materials, these can jointly occupy a single pixel and the resulting spectral measurement will be a composite of the individual pure spectra (mixed pixel) [3]. To deal with the problem of mixed pixels, spectral unmixing techniques first identify a collection of spectrally pure

Manuscript received January 4, 2011; revised March 18, 2011; accepted March 22, 2011. Date of publication May 10, 2011; date of current version August 26, 2011. This work was supported in part by the European Community’s Marie Curie Research Training Networks Program under reference MRTN-CT-2006-035927 (Hyperspectral Imaging Network) and in part by the Spanish Ministry of Science and Innovation with Hyperspectral Computing Laboratory/EODIX (AYA2008-05965-C04-02) and COPABIB (TIN200806570-C04-01) projects. The work of S. Sánchez was supported by a fellowship with reference PTA2009-2611-P. A. Remón and E. S. Quintana-Ortí are with the Department of Engineering and Computer Science, Universidad Jaume I de Castellón, 12071 Castellón, Spain (e-mail: [email protected]; [email protected]). S. Sánchez, A. Paz, and A. Plaza are with the Hyperspectral Computing Laboratory, Department of Technology of Computers and Communications, University of Extremadura, 10003 Cáceres, Spain (e-mail: [email protected]; [email protected]; [email protected]). Color versions of one or more of the figures in this paper are available online at http://ieeexplore.ieee.org. Digital Object Identifier 10.1109/LGRS.2011.2136317

where Ez denotes the spectral response of endmember z, Φz (i, j) is a scalar value designating the fractional abundance of the endmember z at the pixel X(i, j), p is the total number of endmembers, and n(i, j) is a noise vector. The solution of the linear spectral mixture problem described in (1) relies on a successful estimation of a set {Ez }pz=1 of endmembers. Two widely used methods (based on different principles) for endmember extraction [5] are Harsanyi and Chang’s orthogonal subspace projection (OSP) [6] and Winter’s N-FINDR algorithm [7]. Both methods can potentially benefit from parallel execution on high-performance computing architectures. Efficient unmixing of hyperspectral image cubes can be greatly beneficial in many application domains, including environmental modeling, risk/hazard prevention and response, and defense/security. Although there exist concurrent implementations of these algorithms on parallel architectures like clusters of computers and graphics processors (see, e.g., [8]–[10]), so far, there exist very few documented implementations of hyperspectral imaging algorithms in general (and endmember extraction algorithms in particular) for multicore processors. The advantage of multicore platforms over other specialized parallel architectures is that they are a low-power, inexpensive, widely available, and well-known technology. In this letter, we propose several optimizations for two standard endmember extraction algorithms: OSP and N-FINDR. These optimizations range from more efficient algorithmic variants of the methods to using multithreaded linear algebra libraries as well as developing parallel implementations specifically tailored for multicore processors. The advantages of the implementations are assessed, from the viewpoint of endmember extraction accuracy and parallel performance, in a platform equipped with state-of-the-art multicore technology. The remainder of this letter is organized as follows. Section II reviews the two considered endmember extraction algorithms.

1545-598X/$26.00 © 2011 IEEE

REMÓN et al.: REAL-TIME ENDMEMBER EXTRACTION ON MULTICORE PROCESSORS

Fig. 1.

925

Graphical interpretation of the N-FINDR algorithm in a 3-D space. (a) N-FINDR initialized randomly (p = 4). (b) Final volume estimation by N-FINDR.

Section III describes the proposed variants and implementations, including linear algebra optimizations and multicore processing. Section IV offers an evaluation of performance of the different implementations. Section V concludes with remarks and future research lines. In the following, Z 2 (X) stands for the set of spatial coordinates of the pixels in X; the superscripts “T ” and “−1 ” denote, respectively, the transpose and (matrix) inverse operations; I is the identity matrix (of the appropriate order); det(·), | · |, and mean(·) return, respectively, the matrix determinant, absolute value, and columnwise mean of the input argument. We will consider that the image consists of r rows and c columns of pixels, with s = r · c  n.

II. E NDMEMBER E XTRACTION A LGORITHMS A. OSP The OSP algorithm [6] is an iterative approach composed of two main steps: initialization and orthogonal projections. In the initialization step, the algorithm first calculates the pixel vector with maximum length in the hyperspectral image, E1 , and labels it as the initial endmember   E1 = arg max(i,j)∈Z 2 (X) XT (i, j) · X(i, j) .

(2)

To identify the second endmember, the algorithm defines U1 = ⊥ = [E1 ] and applies the corresponding orthogonal projector PU 1 −1

T I − U1 (UT 1 U1 ) U1 to all image pixel vectors. This endmember is then calculated as the pixel with maximum projection value

 T  ⊥  ⊥ E2 = arg max(i,j)∈Z 2 (X) PU X(i, j) · P X(i, j) . (3) U1 1 The algorithm next iterates for k = 2, 3, . . . using Ek+1 = arg max(i,j)∈Z 2 (X)



⊥ PU X(i, j) k

T  ⊥  · PUk X(i, j) (4) −1

⊥ T with Uk = [E1 , E2 , . . . , Ek ] and PU = I−Uk (UT k Uk ) Uk . k The iterative procedure is terminated once a predefined number p of endmembers, {Ez }pz=1 , have been identified.

B. N-FINDR Let p stand for the number of sought-after endmembers and define

1 . . . 1 det 1 v1 v2 . . . vp (5) V (v1 , v2 , . . . , vp ) = (p − 1)! where v1 , v2 , . . . , vp is a collection of vectors, all of length p − 1. The N-FINDR algorithm [7] can be summarized as follows. 1) Feature reduction. Apply a dimensionality reduction transformation, such as principal component analysis (PCA) [11], [12], to reduce the dimensionality of the data from n to p − 1. 2) Initialization. Select an initial set of p endmembers, (0) (0) (0) {E1 , E2 , . . . , Ep }, randomly from the data [see Fig. 1(a)]. 3) Volume calculation. Calculate the volume defined by the set of endmembers

(0) (0) . (6) Vmax = V E1 , E2 , . . . , E(0) p 4) Replacement. In the first iteration (k = 1), recalculate the volume by testing all pixel vectors from the input data in the first endmember position

(k−1) . (7) V X(i, j), E2 , . . . , E(k−1) V (k) = max2 p (i,j)∈Z (X)

(k−1)

If Vmax > V (k) , the endmember E1 is maintained; otherwise, the combination with maximum volume is retained. In particular, assume that X(i, j) is the pixel which yields the maximum volume in this combination. A new set of endmembers is then produced by letting (k) (k) (k−1) E1 = X(i, j) and Ei = Ei for 1 < i ≤ p; also, the new maximum volume is set as Vmax = V (k) . The replacement step is now repeated by testing all pixel vectors from the input data in the second endmember position (k = 2), then in the third endmember position (k = 3) and so on, retaining the combinations which result in the maximum value until all pixel vectors in the input data have been tested in each endmember position. This procedure is repeated until no more endmember replacements occur [see Fig. 1(b)].

926

IEEE GEOSCIENCE AND REMOTE SENSING LETTERS, VOL. 8, NO. 5, SEPTEMBER 2011

III. O PTIMIZATION A. Linear Algebra Operations 1) Orthogonal Projections: Consider the n × (r · c) = n × s matrix M consisting of all the image pixels, with each column of the matrix composed of the n spectral responses of a single pixel. (For our purposes, the order in which the pixels appear in this matrix is indifferent.) The OSP algorithm basically computes a rank-revealing orthogonal factorization [13] of this matrix. One of the most efficient and reliable methods to compute such a decomposition is given by the QR factorization with column pivoting [13]. At each iteration of this procedure, k = 1, 2, . . . , n, an orthogonal transform is computed from the kth matrix column, and the remaining columns of the matrix are orthogonalized with respect to it. Computing the first p columns of this factorization via Householder reflectors [13] amounts for about 4(nps − np2 /2 − p2 s/2 + p3 /3) flops (floating-point arithmetic operations). As s  n, p, this cost roughly becomes 4(nps − p2 s/2) flops. 2) PCA: One popular method to perform feature reduction is PCA [12], which basically requires the computation of the T ˜T singular values √ and right singular vectors of M = (M − T mean(M ))/ s − 1. In particular, consider the singular value ˜ T = U ΣV T [13]. Then, the PCA prodecomposition (SVD) M cedure performs the dimension reduction n → (p − 1) by re¯T=M ˜ TV . placing MT with the first p − 1 columns of M (For details, see, e.g., function princomp.m from Matlab.) ¯T Exploiting that s  n and that only a few columns of M are required, these computations can be performed in approximately 2n(ns − n2 /3) + 2ns(p − 1) ≈ 2sn2 flops. 3) Computation of Determinants: The determinant of a nonsingular matrix V is usually obtained from the factorization P V = LU (where P is a permutation matrix, L is a unit lower triangular matrix, and U is an upper triangular matrix) as the product of the diagonal elements of U . This decomposition is known as Gaussian elimination or the LU factorization (with partial row pivoting) [13] and basically requires 2b3 /3 flops for a square matrix of order b. Therefore, the repeated volume calculations in step 3) of the N-FINDR algorithm will require ps of such factorizations, yielding a cost of 2p4 s/3 flops. We next describe how to reduce this cost significantly by exploiting some basic properties of the LU factorization and matrix determinants. Consider, e.g., the p × p and p × p − 1 matrices

1 ... 1 1 (1) VM = max(i,j)∈Z 2 (X) (0) (0) E2 . . . Ep X(i, j)

1 ... 1 (1) V¯M = (8) (0) (0) E2 . . . Ep obtained after the feature reduction obtained from PCA. Note (1) (1) that | det(VM )| = V (1) as VM is simply a column permutation of the matrix in (7). Assume that we have computed the (1) LU factorization (with partial pivoting) PM V¯M = LM UM . (1) Then, the LU factorization (with partial pivoting) of VM is (1) T simply given by PM VM = [UM (L−1 M PM X(i, j))]. Therefore, the LU factorizations required in the volume calculations of the N-FINDR algorithm can be all computed by simply ˆ = 1 1¯... 1 and then computing forming the p × s matrix M MT

T ˆ L−1 M PM M . The s volumes required in the first iteration of the N-FINDR algorithm are obtained from the product of the determinant of UM times each one of the entries in the last row T ˆ of L−1 M PM M . Overall, this variant of the N-FINDR algorithm employs 2p4 /3 + p3 s flops. Thus, given s  p, this implies a reduction over the original algorithm by a factor of p/3 flops.

B. Multicore Implementations and Multithreaded Libraries The OSP and N-FINDR algorithms are composed of wellknown dense linear algebra operations: orthogonal decompositions, as the QR factorization or the SVD; the matrix–matrix product; the LU factorization; and triangular system solves. Linear Algebra PACKage (LAPACK) [14] is a linear algebra library that offers efficient codes for the computation of the QR and LU factorizations as well as the SVD (among many other operations) on current processors. A large fraction of the efficiency of LAPACK is due to a careful cast of a significant portion of the flops in these codes in terms of matrix–matrix products. This particular class of operations can efficiently exploit the multilevel memory hierarchy of the processor, thus hiding the latency of memory access by reusing data in the cache memories. When executed on a multicore processor, LAPACK exploits hardware parallelism by simply invoking kernels from a multithreaded implementation of the basic linear algebra subprograms (BLAS), which comprises a collection of dense linear algebra kernels, e.g., the matrix–matrix product or the triangular system solve; see [15]–[17]. High-performance multithreaded implementations of these kernels are currently available from most hardware vendors. When using the routines in LAPACK and BLAS, it is important to select the appropriate kernel, carefully tune configuration parameters like the block size (the default parameters in the LAPACK distribution do not offer a good performance in some cases), choose the working accuracy, and decide the number of threads to employ for each kernel. In our implementations of the OSP and N-FINDR algorithms, we have employed routines _geqpf (QR with column pivoting), _gesvd (SVD), _getf2 (LU factorization with partial pivoting), _gemm (matrix–matrix product), and _trsm (triangular system solve) from LAPACK and BLAS. Although LAPACK offers some alternative codes for the QR and LU factorizations with pivoting (routines _geqp3 and _getrf, respectively), the particular shape of the matrix involved in these operations in the OSP and N-FINDR algorithms led us to discard these. Also, to avoid unnecessary computations, we modified the implementation of routine _geqpf to stop after the first p iterations. For efficiency, we compute the SVD in single precision arithmetic: Current general-purpose processors deliver a ratio of flops per second in single precision which roughly doubles with that attained in double precision; Furthermore, the image data are usually provided in integer format, and in general, single precision is enough to accurately capture this information. On the other hand, the LU factorizations and triangular system solve involved in the N-FINDR algorithm are all performed in doubleprecision arithmetic because the matrix to be factorized can be ill conditioned. The remaining options, namely, block size and number of threads, were tuned experimentally, as they strongly depend on the target architecture. Finally, to improve parallel performance

REMÓN et al.: REAL-TIME ENDMEMBER EXTRACTION ON MULTICORE PROCESSORS

927

TABLE I S PECTRAL A NGLES ( IN D EGREES ) B ETWEEN USGS M INERAL S PECTRA AND T HEIR C ORRESPONDING E NDMEMBERS E XTRACTED BY OSP AND N-FINDR F ROM THE AVIRIS C UPRITE S CENE

further, we also employed OpenMP1 to parallelize loops that performed copies, initializations, and other minor operations.

TABLE II E XECUTION T IME ( IN S ECONDS ) R EQUIRED FOR P ROCESSING THE AVIRIS C UPRITE S CENE U SING O UR O PTIMIZED V ERSION OF OSP

IV. E VALUATION OF P ERFORMANCE The hyperspectral image used in experiments is the wellknown AVIRIS Cuprite data set, available online in reflectance units.2 This scene has been widely used to validate the performance of endmember extraction algorithms. The portion used in experiments corresponds to a 350 × 350-pixel subset of the sector labeled as f970619t01p02_r02_sc03.a.rfl in the online data. This subscene has been widely studied in the endmember extraction literature. Specifically, the number of endmembers in the subset and the minerals present in the area according to the U.S. Geological Survey (USGS) have been reported in several works [9], [18]. The subscene comprises 224 spectral bands between 0.4 and 2.5 μm, with nominal spectral resolution of 10 nm. Prior to the analysis, bands 1–3, 107–114, 153–169, and 221–224 were removed due to water absorption and low SNR in those bands. The Cuprite site is well understood mineralogically and has several exposed minerals of interest included in the USGS digital library [19]. A few selected spectra from this library,3 corresponding to highly representative minerals in the Cuprite mining district, are used in this work to substantiate endmember purity. The metric used to evaluate the accuracy of the considered algorithms is the spectral angle (SA) [3] between each extracted endmember and the set of available USGS ground-truth spectral signatures. Table I tabulates the SA scores (in degrees) obtained after comparing representative USGS library spectra of alunite, buddingtonite, calcite, kaolinite, and muscovite, with the corresponding endmembers extracted by OSP and N-FINDR from the considered portion of the AVIRIS Cuprite scene. It should be noted that Table I only displays the smallest SA scores of all endmembers with respect to each USGS signature for each algorithm. For reference, the mean SA values across all five USGS signatures are also reported. The number of endmembers to be extracted was set to p = 19 in all experiments after a consensus is reached by two methods for estimating the number of endmembers in the hyperspectral data: hyperspectral signal identification by minimum error [20] and the virtual dimensionality concept [21], implemented using PF = 10−3 as the input false alarm probability. As shown in Table I, the two algorithms produce very similar results with the N-FINDR providing slightly better SA scores (on average) for the five considered minerals. It should be noted that our implementations provide exactly the same results as the original versions in which they are based. For the OSP, the algorithmic description is available in the literature [6]. In this case, we made sure that our optimizations 1 http://openmp.org 2 http://aviris.jpl.nasa.gov/html/aviris.freedata.html 3 http://speclab.cr.usgs.gov/spectral.lib06

TABLE III E XECUTION T IME ( IN S ECONDS ) R EQUIRED FOR P ROCESSING THE AVIRIS C UPRITE S CENE U SING O UR O PTIMIZED V ERSION OF N-FINDR

do not alter the endmembers obtained by the original version. For the N-FINDR, the exact algorithmic description is not available since it is a commercially distributed algorithm. However, the results obtained after applying our proposed optimizations have been validated with the algorithmic description of the N-FINDR algorithm given in [18]. Tables II and III, respectively, show the execution time (in seconds) required for processing the AVIRIS Cuprite scene using our optimized versions of OSP and N-FINDR. Experiments were carried out on a Linux platform (CentOS 5.1, kernel 2.6.18) equipped with two Intel Xeon E5520 quad-core processors (total of eight cores), running at 2.27 GHz, and 24 GB of RAM. The multithreaded implementation of LAPACK and BLAS from Intel Math Kernel Library (version 11.0) and the GNU gcc compiler (version 4.1.2), with optimization flags − − O3 − fopenmp, was used to produce the executable codes. Table II indicates that, after applying the proposed linear algebra optimizations in Section III-A, the OSP completes its calculations in less than 1 s. This is shown in the result reported for one processing core in Table II. However, after applying the multicore optimizations in Section III-B, it can be seen in Table II that the algorithm cannot benefit from the use of multiple cores. (This is because a significant part of the computation is due to matrix–vector products, an operation whose performance is intrinsically limited by the memory bandwidth, independently of the number of cores/floating-point units.) Quite opposite, Table III indicates that the N-FINDR can benefit from the use of multiple cores, mainly because the PCA and replacement steps can be parallelized effectively. In this case, we emphasize that the time obtained using one processing core, after applying the linear algebra optimizations introduced in Section III-A, already represents a significant reduction over previously published results for the algorithm [18].

928

IEEE GEOSCIENCE AND REMOTE SENSING LETTERS, VOL. 8, NO. 5, SEPTEMBER 2011

Before concluding this letter, it is important to emphasize that the processing times in Tables II and III (using four and eight cores for the N-FINDR algorithm) are strictly in real time. The cross-track line scan time in AVIRIS, a push-broom instrument, is 8.3 ms to collect 512 pixel vectors. This introduces the need to process the AVIRIS Cuprite scene (350 × 350 pixels) in less than 1.985 s to fully attain real-time performance. Our implementations can also operate with larger image sizes. We have processed another AVIRIS hyperspectral data set comprising 512 × 614 pixels collected over the World Trade Center in New York4 after the terrorist attacks on September 11. The dimensions of this scene represent the standard data cube size recorded by AVIRIS. The two considered algorithms could perform in real time—meaning that a processing time below 5.096 s was accomplished—for this data cube (using p = 26 endmembers). Specifically, the optimized OSP processed the data cube in 3.019 s using one core, with no significant improvements observed for the multicore version. On the other hand, the optimized N-FINDR processed the data cube in 15.001 s using one core but achieved real-time performance with eight cores (4.879 seconds). Since our proposed algorithms need to store the hyperspectral data cube in memory, the maximum data cube size obtained in push-broom fashion by AVIRIS (approximately 140 MB, assuming that each wavelength value is represented using 2 B) is reasonable given the memory capacity of modern multicore processors. In summary, our results demonstrate that real-time performance can be achieved by resorting to standard multicore architectures, which opens the path toward incorporation of these platforms (coupled with efficient processing algorithms such as those reported in this letter) onboard airborne and satellite instruments for real-time hyperspectral data processing. V. C ONCLUSION AND F UTURE R ESEARCH L INES In this letter, we have introduced efficient implementations of two popular endmember extraction algorithms: OSP and N-FINDR on multicore platforms. With some programming effort (based on linear algebra techniques and multithreaded libraries), both algorithms can boost their computational performance in relatively inexpensive platforms and provide realtime response, using only one processing core in the case of OSP and four cores in the case of N-FINDR. This represents a tremendous improvement with respect to previously published implementations of these two algorithms. In the future, we plan to further exploit the optimization techniques adopted in this letter to accelerate other endmember extraction and spectral unmixing algorithms. ACKNOWLEDGMENT The authors would like to thank R. O. Green at the Jet Propulsion Laboratory, National Aeronautics and Space Administration for making the AVIRIS Cuprite scene available to the scientific community. Last, but not the least, the authors would

4 http://speclab.cr.usgs.gov/wtc/

like to thank the anonymous reviewers for their constructive criticisms, which greatly helped them to improve the quality and presentation of this letter. R EFERENCES [1] C. Chang, Hyperspectral Data Exploitation: Theory and Applications. New York: Wiley, 2007. [2] R. Green, M. L. Eastwood, C. M. Sarture, T. G. Chrien, M. Aronsson, B. J. Chippendale, J. A. Faust, B. E. Pavri, C. J. Chovit, M. Solis, M. R. Olah, and O. Williams, “Imaging spectroscopy and the Airborne Visible/Infrared Imaging Spectrometer (AVIRIS),” Remote Sens. Environ., vol. 65, no. 3, pp. 227–248, Sep. 1998. [3] N. Keshava and J. F. Mustard, “Spectral unmixing,” IEEE Signal Process. Mag., vol. 19, no. 1, pp. 44–57, Jan. 2002. [4] J. B. Adams, M. O. Smith, and P. E. Johnson, “Spectral mixture modeling: A new analysis of rock and soil types at the Viking Lander 1 site,” J. Geophys. Res., vol. 91, no. B8, pp. 8098–8112, 1986. [5] A. Plaza, P. Martinez, R. Perez, and J. Plaza, “A quantitative and comparative analysis of endmember extraction algorithms from hyperspectral data,” IEEE Trans. Geosci. Remote Sens., vol. 42, no. 3, pp. 650–663, Mar. 2004. [6] J. C. Harsanyi and C.-I. Chang, “Hyperspectral image classification and dimensionality reduction: An orthogonal subspace projection approach,” IEEE Trans. Geosci. Remote Sens., vol. 32, no. 4, pp. 779–785, Jul. 1994. [7] M. E. Winter, “N-FINDR: An algorithm for fast autonomous spectral end-member determination in hyperspectral data,” in Proc. SPIE Image Spectrometry V, 2003, vol. 3753, pp. 266–277. [8] A. Plaza, D. Valencia, J. Plaza, and P. Martinez, “Commodity clusterbased parallel processing of hyperspectral imagery,” J. Parallel Distrib. Comput., vol. 66, no. 3, pp. 345–358, Mar. 2006. [9] A. Plaza, D. Valencia, J. Plaza, and C.-I. Chang, “Parallel implementation of endmember extraction algorithms from hyperspectral data,” IEEE Geosci. Remote Sens. Lett., vol. 3, no. 3, pp. 334–338, Jul. 2006. [10] J. Setoain, M. Prieto, C. Tenllado, A. Plaza, and F. Tirado, “Parallel morphological endmember extraction using commodity graphics hardware,” IEEE Geosci. Remote Sens. Lett., vol. 4, no. 3, pp. 441–445, Jul. 2007. [11] J. A. Richards and X. Jia, Remote Sensing Digital Image Analysis: An Introduction. New York: Springer-Verlag, 2006. [12] J. E. Jackson, A User’s Guide to Principal Components. New York: Wiley, 1991. [13] G. H. Golub and C. F. V. Loan, Matrix Computations, 3rd ed. Baltimore, MD: Johns Hopkins Univ. Press, 1996. [14] E. Anderson, Z. Bai, C. Bischof, J. Demmel, J. Dongarra, J. D. Croz, A. Greenbaum, S. Hammarling, A. McKenney, S. Ostrouchov, and D. Sorensen, LAPACK Users’ Guide—Release 2.0. Philadelphia, PA: SIAM, 1994. [15] J. J. Dongarra, J. Du Croz, S. Hammarling, and I. Duff, “A set of level 3 basic linear algebra subprograms,” ACM Trans. Math. Softw., vol. 16, no. 1, pp. 1–17, Mar. 1990. [16] K. Goto and R. A. van de Geijn, “Anatomy of a high-performance matrix multiplication,” ACM Trans. Math. Softw., vol. 34, no. 3, pp. 1–25, May 2008, article 12. [17] K. Goto and R. van de Geijn, “High performance implementation of the level-3 BLAS,” ACM Trans. Math. Softw., vol. 35, no. 1, pp. 4:1–4:14, Jul. 2008. [18] M. Zortea and A. Plaza, “A quantitative and comparative analysis of different implementations of N-FINDR: A fast endmember extraction algorithm,” IEEE Geosci. Remote Sens. Lett., vol. 6, no. 4, pp. 787–791, Oct. 2009. [19] R. N. Clark, G. A. Swayze, R. Wise, E. Livo, T. Hoefen, R. Kokaly, and S. J. Sutley, USGS Digital Spectral Library splib06a, 2007. [Online]. Available: http://speclab.cr.usgs.gov/spectral.lib06 [20] J. M. Bioucas-Dias and J. M. P. Nascimento, “Hyperspectral subspace identification,” IEEE Trans. Geosci. Remote Sens., vol. 46, no. 8, pp. 2435–2445, Aug. 2008. [21] C.-I. Chang and Q. Du, “Estimation of number of spectrally distinct signal sources in hyperspectral imagery,” IEEE Trans. Geosci. Remote Sens., vol. 42, no. 3, pp. 608–619, Mar. 2004.

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.