Research Article
Backtracking-Based Simultaneous Orthogonal Matching Pursuit for Sparse Unmixing of Hyperspectral Data
Algorithm 1
BSOMP for hyperspectral sparse unmixing.
Part 1 (SOMP): | (1) Initialize hyperspectral data and spectral library | (2) Divide hyperspectral data into several blocks: , and initialize the index set | (3) For each block do | (4) Set index set and iteration counter . Initialize the residual data of block : ; | (5) While stopping criterion 1 has not been met do | (6) Compute the index of the best correlated member of to the actual residual: , where is the | th column of | (7) Update support set: | (8) Compute is the matrix containing the columns of having the indexes from | (9) Update residual: | (10) | (11) End while | (12) Set | (13) End for | Part 2 (Backtracking process): | (14) Initialize hyperspectral data , the index set and is the matrix containing the columns of having | the indexes from | (15) While stopping criterion 2 has not been met do | (16) Compute solution: | (17) Compute the member of having the lowest abundance: | (18) Remove the member having the lowest fractional abundance from the index set and the endmember set: | | (19) | (20) End while | Part 3 (Abundance estimation): | (21) Estimate abundances using the original hyperspectral data matrix and the endmember set under the constraint of | nonnegativity. | , subject to . |
|