Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
otb
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
David Youssefi
otb
Commits
7fc121ec
Commit
7fc121ec
authored
13 years ago
by
Manuel Grizonnet
Browse files
Options
Downloads
Patches
Plain Diff
DOC:update MDMDNMF class documentation
parent
15c40879
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
Code/Hyperspectral/otbMDMDNMFImageFilter.h
+52
-45
52 additions, 45 deletions
Code/Hyperspectral/otbMDMDNMFImageFilter.h
with
52 additions
and
45 deletions
Code/Hyperspectral/otbMDMDNMFImageFilter.h
+
52
−
45
View file @
7fc121ec
...
@@ -37,79 +37,86 @@ namespace otb
...
@@ -37,79 +37,86 @@ namespace otb
* M. G. A. Huck and J. Blanc-Talon, IEEE TGRS, vol. 48, no. 6, pp. 2590-2602, 2010.
* 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.
* A. Huck and M. Guillaume, in WHISPERS, 2010, Grenoble.
*
*
* Let $\matR$ be the matrix of the hyperspectral data, whose $I$ columns are the
* Let \f$ \matR \f$ be the matrix of the hyperspectral data, whose
* spectral pixels and the $L$ rows are the vectorial spectral band
* \f$ I \f$ columns are the
* spectral pixels and the \f$ L \f$ rows are the vectorial spectral band
* images. The linear mixing model can be written as follow :
* images. The linear mixing model can be written as follow :
* \begin{equation}
*
\f$
\begin{equation}
* \matR=\matA \matS + \matN= \matX + \matN
* \matR=\matA \matS + \matN= \matX + \matN
* \end{equation}
* \end{equation}
\f$
* The
$I
$ columns of
$
\matR$ contain the spectral pixels
* The
\f$ I \f
$ columns of
\f$
\matR
\f
$ contain the spectral pixels
* and the
$I
$ columns of $\matS$ hold their respective sets of abundance
* and the
\f $I \f
$ columns of
\f
$\matS
\f
$ hold their respective sets of abundance
* fractions. The
$J
$ rows of
$
\matS$ are the abundance maps
* fractions. The
\f$ J \f
$ rows of
\f$
\matS
\f
$ are the abundance maps
* corresponding to the respective end-members. The
$J
$ columns of
* corresponding to the respective end-members. The
\f$ J \f
$ columns of
*
$
\matA$ are the end members spectra, and
$
\matX$ is the signal
*
\f$
\matA
\f
$ are the end members spectra, and
\f$
\matX
\f
$ is the signal
* matrix. Both
$
\matA$ and
$
\matS$ are unknown.
* matrix. Both
\f$
\matA
\f
$ and
\f$
\matS
\f
$ are unknown.
*
*
* The basic NMF formulation is to find two matrices
$
\hat{\matA}$ and
* The basic NMF formulation is to find two matrices
\f$
\hat{\matA}
\f
$ and
*
$
\hat{ \matS}$ such as:
*
\f$
\hat{ \matS}
\f
$ such as:
* \begin{equation}
*
\f$
\begin{equation}
* \matX\simeq \hat{\matA} \hat{\matS}
* \matX\simeq \hat{\matA} \hat{\matS}
* \end{equation}
* \end{equation}
\f$
* NMF based algorithms consider the
* NMF based algorithms consider the
* properties of the dual spaces $span^+(\matA')$ and $span^+(\matS)$, in
* properties of the dual spaces \f$ span^+(\matA')\f$ and
* which $span^+(\mathbf m^1 ...\mathbf m^d)=\{\mathbf v=\sum_i \mathbf
* \f $span^+(\matS) \f$, in
* m^i\mathbf a_i|\mathbf a\in \matR _+^d\}$. The
* which \f$ span^+(\mathbf m^1 ...\mathbf m^d)=\{\mathbf v=\sum_i \mathbf
* m^i\mathbf a_i|\mathbf a\in \matR _+^d\} \f$. The
* positiveness is then a fundamental assumption and is exploited to
* positiveness is then a fundamental assumption and is exploited to
* restrict the admissible solutions set.
* restrict the admissible solutions set.
*
*
* A common used solution is to minimize the reconstruction quadratic
* A common used solution is to minimize the reconstruction quadratic
* error $RQE({\matA}, {\matS})=\|\matR-{\matA} {\matS}\|^2_F$. In order to
* error :
* \f$ RQE({\matA}, {\matS})=\|\matR-{\matA} {\matS}\|^2_F \f$. In order to
* satisfy the sum-to-one constraint for hyperspectral data, a
* satisfy the sum-to-one constraint for hyperspectral data, a
* regularization term
$
STU(\matS)$ can be added to the objective
* regularization term
\f$
STU(\matS)
\f
$ can be added to the objective
* function.
* function.
*
*
* A generic expression for the optimized function is
$
$
* A generic expression for the optimized function is
\f
$
* f(\matA,\matS)=\|\matA \matS-\matR\|_{norm}+\sum_i \lambda_i
* f(\matA,\matS)=\|\matA \matS-\matR\|_{norm}+\sum_i \lambda_i
* D_i(\matA) + \sum_j \lambda_j D_j(\matS)
$
$ in which
$
\|\matA
* D_i(\matA) + \sum_j \lambda_j D_j(\matS)
\f
$ in which
\f$
\|\matA
* \matS-\matR\|_{norm}$ is the connection-to-the-data term, and
* \matS-\matR\|_{norm}
\f
$ is the connection-to-the-data term, and
*
$
\lambda_{\{i, j\}}$ are regularization parameters for end members and
*
\f$
\lambda_{\{i, j\}}
\f
$ are regularization parameters for end members and
* abundances constraints
$
D_{\{i, j\}}$.
* abundances constraints
\f$
D_{\{i, j\}}
\f
$.
*
In \cite{Huck2010a}, they
*
Huck
* propose an other regularization term,
* propose an other regularization term,
*
$
D_A(\matA)=Tr(\matA^T\matA)-\frac{1}{L}Tr\left ( \matA^T \1_{LL}\matA
*
\f$
D_A(\matA)=Tr(\matA^T\matA)-\frac{1}{L}Tr\left ( \matA^T \1_{LL}\matA
* \right)$, which ensures low spectral dispersion on endmembers.
* \right)
\f
$, which ensures low spectral dispersion on endmembers.
* The physical
* The physical
* motivation is based on the assuption that in most situations, the
* motivation is based on the assuption that in most situations, the
* whole set of pure materials do not appear in each pixel, but
* whole set of pure materials do not appear in each pixel, but
* selectively in multiple piece-wise convex sets., as pointed in
* selectively in multiple piece-wise convex sets. As a consequence, the mean value of the abundance,
* \cite{Zare2010}. As a consequence, the mean value of the abundance,
* \f$ \frac{1}{J} \f$, is the least likely one. The maximum abundance
* $\frac{1}{J}$, is the least likely one. The maximum abundance
* dispersion condition is given by
* dispersion condition is given by
* $D_s(\matS)=-\|\matS-\frac{1}{J}\1_{JI}\|^2_F$. MDMD-NMF algorithm
* \f$ D_s(\matS)=-\|\matS-\frac{1}{J}\1_{JI}\|^2_F \f$. MDMD-NMF algorithm
* minimizes the following function $ f(\matA,\matS) =RQE(\matA,
* minimizes the following function \f$ f(\matA,\matS) =RQE(\matA,
* \matS)+\delta.STU(\matS)+\lambda_A D_A(\matA)-\lambda_S D_S(\matS)$,
* \matS)+\delta.STU(\matS)+\lambda_A D_A(\matA)-\lambda_S D_S(\matS)
* $STU$ the sum-to-one constraint.
* \f$,
* \f$ STU \f$ the sum-to-one constraint.
*
*
* In the literature, NMF based optimization algorithms are mainly based
* In the literature, NMF based optimization algorithms are mainly based
* on multiplicative rules, or else alternate gradient descent
* on multiplicative rules, or else alternate gradient descent
* iterations, or else on alternate least square methods. In MDMD-NMF, the update rules
* iterations, or else on alternate least square methods. In MDMD-NMF, the update rules
* at each iteration become \begin{eqnarray}\label{algomdmd} \matS
* at each iteration become :
* &\leftarrow &P\left [\matS-\mu_S \left( \bar \matA^T
* \f$ \begin{eqnarray}
* \label{algomdmd} \matS&\leftarrow &P\left [\matS-\mu_S \left( \bar \matA^T
* (\bar\matA\matS-\bar\matR)-\lambda_S(\matS-\frac{1}{J}\1_{JI})\right)\right
* (\bar\matA\matS-\bar\matR)-\lambda_S(\matS-\frac{1}{J}\1_{JI})\right)\right
* ]\\ \nonumber \matA &\leftarrow &P\left [\matA-\mu_A \left(
* ]\\ \nonumber \matA &\leftarrow &P\left [\matA-\mu_A \left(
* (\matA\matS-\matR)\matS^T +\lambda_A(\matA-\frac{1}{L}\ \mathbf
* (\matA\matS-\matR)\matS^T +\lambda_A(\matA-\frac{1}{L}\ \mathbf
* 1_{LL}\matA)\right)\right ] \end{eqnarray} where $\mu_A$ and $\mu_S$
* 1_{LL}\matA)\right)\right ]
* are the step sizes. % and the projection. % stands for
* \end{eqnarray} \f$
* non-negativity hard constraint : $P(M_{ij})=0$ if $M_{ij}<0$ for
* where \f$ \mu_A\f$ and \f$\mu_S \f$
* $\mathbf %M=\{\matA,\matS\}$. Huck propose a
* are the step sizes.
* multiscale method to determine the coefficients $\mu_A$ and
* Huck propose a
* $\mu_S$. The projection operator $P$ at each step ensures the
* multiscale method to determine the coefficients \f$ \mu_A \f$ and
* positivity constraint for $\matA$ and $\matS$, and $\bar\matR$ and
* \f$ \mu_S \f$. The projection operator \f$ P \f$ at each step ensures the
* $\bar\matA$ include the sum-to-one constraint: $ \bar\matR=\left[
* positivity constraint for \f$ \matA \f$ and \f$ \matS \f$, and \f$
* \bar\matR \f$ and
* \f$ \bar\matA \f$ include the sum-to-one constraint:
* \f$ \bar\matR=\left[
* \begin{array}{c} \matR \\
* \begin{array}{c} \matR \\
* \delta\cdot\1_{1I}\end{array}\right],\enspace \bar\matA=\left[
* \delta\cdot\1_{1I}\end{array}\right],\enspace \bar\matA=\left[
* \begin{array}{c} \matA \\
* \begin{array}{c} \matA \\
* \delta\cdot\1_{1J}\end{array}\right]\enspace$.
* \delta\cdot\1_{1J}\end{array}\right]\enspace
\f
$.
*
*
* \ingroup ImageFilters
* \ingroup ImageFilters
*/
*/
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment