1 On using projection onto convex sets for solving the hyperspectral unmixing problem Rob Heylen * , Muhammad Awais Akhter , Paul Scheunders iMinds-Visionlab, University of Antwerp Universiteitsplein 1, 2610 Wilrijk, Belgium * Email: rob.heylen@ua.ac.be. Tel: +32(0)3 265 2478. Fax: +32(0)3 265 2245 Email: muhammadawais.akhter@ua.ac.be. Tel: +32(0)3 265 2472. Fax: +32(0)3 265 2245 Email: paul.scheunders@ua.ac.be. Tel: +32(0)3 265 2473. Fax: +32(0)3 265 2245 Abstract—We present a new algorithm for solving the fully constrained least-squares problem in hyperspectral unmixing, based on the Dykstra algorithm for projections onto convex sets, integrated with a solution validation phase based on the Kolmogorov criterion. We first show the equivalence between the fully constrained least-squares problem and the convex set projection problem. Next, an alternating projections algorithm is designed that can be used for this projection operation. A validation phase is built in the algorithm, so that the iteration can be terminated early when the projection has been found. The resulting algorithm yields abundance maps that are similar to those obtained with state-of-the-art methods, with runtimes that are competitive compared to several other techniques. Furthermore, the simple nature of the algorithm allows for efficient implementations on specialized hardware. I. I NTRODUCTION In hyperspectral unmixing chains based on the linear mixing model, the final step is traditionally the inversion step, where one tries to decompose each pixel into an optimal convex combination of known endmembers. Many algorithms already exist for solving this inversion problem, and overviews of such techniques can be found in [1], [2]. Traditionally, the inversion problem is solved by using the fully-constrained least-squares unmixing (FCLSU) algorithm [3], and this algorithm is still very popular today. The FCLSU algorithm is based on the Lawson-Hanson non-negative least- squares algorithm [4], which is an iterative algorithm, and requires a stopping condition to terminate the iteration. As such, it is possible that the FCLSU algorithm terminates too soon, and hence has not yet fully converged towards the true solution. Furthermore, the FCLSU algorithm is relatively slow when compared to other algorithms [5], [2]. More recent alternatives are the sparse unmixing by variable splitting and augmented Lagrangian (SUNSAL) algorithm [5], and the simplex projection unmixing (SPU) algorithm [2]. The SUNSAL algorithm uses the alternating direction method of multipliers to solve a larger class of optimization problems, including the inversion problem under consideration. The algorithm is shown to be very fast, but also relies on an iteration loop that is executed until a stopping criterion is met. Hence the quality of the results and the runtimes will depend on the choice of the tolerance parameter(s). The SPU algorithm on the other hand is a recursive algorithm based on geometrical principles, does not require any stopping criteria or tolerance parameters, and is very fast for low numbers of endmembers. Due to its recursive nature however, it scales badly as the number of endmembers increases, and the runtimes can become very large. Furthermore, the SPU algorithm contains a step that estimates endmembers with zero abundances at each recursion. This estimation is not always correct [2], causing wrong results for a small fraction of pixels (of order 0.3% of all pixels in real hyperspectral data sets). Another drawback of these algorithms is that they can be cumbersome to implement. This plays an important role if one is moving towards real-time or onboard unmixing applications, where the computational platform and available power can be severely restricted. A lot of interest exists for unmixing algorithms that are computationally efficient, yield correct results, and are easy to implement in dedicated hardware. In this paper, we present an alternative method for solving the unmixing problem, based on the Dykstra algorithm [6] for projection onto convex sets (POCS) [7]. First, we demonstrate the equivalence between the spectral unmixing problem and the simplex projection problem. Next, we show how this simplex can be constructed as the intersection of several simple convex sets, such as planes and halfspaces. We then use the well-known Dykstra algorithm to find the projection of a point onto this intersection, by a sequence of alternating projections that converges towards the correct solution. See also [8] for current developments on POCS, and for additional information on several concepts employed in this work. Furthermore, a validation phase is constructed, based on the Kolmogorov criterion for testing whether the evolution of the algorithm has reached the final point, which allows the algorithm to terminate early in many cases, increasing the computational performance. The resulting algorithm is easy to implement, its iteration loop requires only matrix and vector multiplications, and the complexity scales linearly both in the number of endmembers as in the size of the data set. Furthermore, while faster algorithms exist, the runtimes are competitive, and can be trivially accelerated by parallel implementations. The outline of the paper is the following: In section II we show how the Dykstra alternating projection algorithm can be used for solving the unmixing problem. Next, we formally present the alternating projections unmixing (APU) algorithm,