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 . |
|