OTB  9.0.0
Orfeo Toolbox

#include <otbMDMDNMFImageFilter.h>

Detailed Description

This filter implements unmixing based non negative matrix factorization (NMF) which finds simultaneously the end members and abundances matrix which product is the closer to the observed data, based on the following works: K. S. F.J. Theis and T. Tanaka, First results on uniqueness of sparse non-negative matrix factorisation. M. G. A. Huck and J. Blanc-Talon, IEEE TGRS, vol. 48, no. 6, pp. 2590-2602, 2010. A. Huck and M. Guillaume, in WHISPERS, 2010, Grenoble.

Let $ \mathbf R $ be the matrix of the hyperspectral data, whose $ I $ columns are the spectral pixels and the $ L $ rows are the vectorial spectral band images. The linear mixing model can be written as follow : $ \begin{equation} \mathbf R=\mathbf A \mathbf S + \mathbf N= \mathbf X + \mathbf N \end{equation} $ The $ I $ columns of $ \mathbf R $ contain the spectral pixels and the $ I $ columns of $ \mathbf S $ hold their respective sets of abundance fractions. The $ J $ rows of $ \mathbf S $ are the abundance maps corresponding to the respective end-members. The $ J $ columns of $ \mathbf A $ are the end members spectra, and $ \mathbf X $ is the signal matrix. Both $ \mathbf A $ and $ \mathbf S $ are unknown.

The basic NMF formulation is to find two matrices $ \hat{\mathbf A} $ and $ \hat{ \mathbf S} $ such as: $ \begin{equation} \mathbf X\simeq \hat{\mathbf A} \hat{\mathbf S} \end{equation} $ NMF based algorithms consider the properties of the dual spaces $ span^+(\mathbf A')$ and $ span^+(\mathbf S) $, in which $ span^+(\mathbf hbf m^1 ...\mathbf hbf m^d)=\{\mathbf hbf v=\sum_i \mathbf hbf m^i\mathbf hbf a_i|\mathbf hbf a\in \mathbf R _+^d\} $. The positiveness is then a fundamental assumption and is exploited to restrict the admissible solutions set.

A common used solution is to minimize the reconstruction quadratic error : $ RQE({\mathbf A}, {\mathbf S})=\|\mathbf R-{\mathbf A} {\mathbf S}\|^2_F $. In order to satisfy the sum-to-one constraint for hyperspectral data, a regularization term $ STU({\mathbf S}) $ can be added to the objective function.

A generic expression for the optimized function is $ f(\mathbf A,\mathbf S)=\|\mathbf A \mathbf S-\mathbf R\|_{norm}+\sum_i \lambda_i D_i(\mathbf A) + \sum_j \lambda_j D_j(\mathbf S) $ in which $ \|\mathbf A \mathbf S-\mathbf R\|_{norm} $ is the connection-to-the-data term, and $ \lambda_{\{i, j\}} $ are regularization parameters for end members and abundances constraints $ D_{\{i, j\}} $. Huck propose an other regularization term, $ D_A(\mathbf A)=Tr(\mathbf A^T\mathbf A)-\frac{1}{L}Tr\left ( \mathbf A^T \1_{LL}\mathbf A \right) $, which ensures low spectral dispersion on endmembers. The physical motivation is based on the assumption that in most situations, the whole set of pure materials do not appear in each pixel, but selectively in multiple piece-wise convex sets. As a consequence, the mean value of the abundance, $ \frac{1}{J} $, is the least likely one. The maximum abundance dispersion condition is given by $ D_s(\mathbf S)=-\|\mathbf S-\frac{1}{J}\1_{JI}\|^2_F $. MDMD-NMF algorithm minimizes the following function $ f(\mathbf A,\mathbf S) =RQE(\mathbf A, \mathbf S)+\delta.STU(\mathbf S)+\lambda_A D_A(\mathbf A)-\lambda_S D_S(\mathbf S) $, $ STU $ the sum-to-one constraint.

In the literature, NMF based optimization algorithms are mainly based on multiplicative rules, or else alternate gradient descent iterations, or else on alternate least square methods. In MDMD-NMF, the update rules at each iteration become : $ \begin{tabular} \mathbf S&\leftarrow &P\left [\mathbf S-\mu_S \left( \bar \mathbf A^T (\bar\mathbf A\mathbf S-\bar\mathbf R)-\lambda_S(\mathbf S-\frac{1}{J}\1_{JI})\right)\right ]\\ \nonumber \mathbf A &\leftarrow &P\left [\mathbf A-\mu_A \left( (\mathbf A\mathbf S-\mathbf R)\mathbf S^T +\lambda_A(\mathbf A-\frac{1}{L}\ \mathbf hbf 1_{LL}\mathbf A)\right)\right ] \end{tabular} $ where $ \mu_A$ and $\mu_S $ are the step sizes. Huck propose a multiscale method to determine the coefficients $ \mu_A $ and $ \mu_S $. The projection operator $ P $ at each step ensures the positivity constraint for $ \mathbf A $ and $ \mathbf S $, and $ \bar\mathbf R $ and $ \bar\mathbf A $ include the sum-to-one constraint: $ \bar\mathbf R=\left[ \begin{array}{c} \mathbf R \\ \delta\cdot\1_{1I}\end{array}\right],\enspace \bar\mathbf A=\left[ \begin{array}{c} \mathbf A \\ \delta\cdot\1_{1J}\end{array}\right]\enspace $.


The documentation for this class was generated from the following file: