# Eigenmoments

EigenMoments is a set of orthogonal, noise robust, invariant to rotation, scaling and translation and distribution sensitive moments. Their application can be found in signal processing and computer vision as descriptors of the signal or image. The descriptors can later be used for classification purposes.
It is obtained by performing orthogonalization, via eigen analysis on geometric moments.

## Framework summary

EigenMoments are computed by performing eigen analysis on the moment space of an image by maximizing signal-to-noise ratio in the feature space in form of Rayleigh quotient.
This approach has several benefits in Image processing applications:
* Dependency of moments in the moment space on the distribution of the images being transformed, ensures decorrelation of the final feature space after eigen analysis on the moment space.
* The ability of EigenMoments to take into account distribution of the image makes it more versatile and adaptable for different genres.
* Generated moment kernels are orthogonal and therefore analysis on the moment space becomes easier. Transformation with orthogonal moment kernels into moment space is analogous to projection of the image onto a number of orthogonal axes.
* Nosiy components can be removed. This makes EigenMoments robust for classification applications.
* Optimal information compaction can be obtained and therefore a few number of moments are needed to characterize the images.

## Problem formulation

Assume that a signal vector $s\in {\mathcal {R}}^{n}$ is taken from a certain distribution having correlation $C\in {\mathcal {R}}^{n\times n}$, i.e. $C=E[ss^{T}]$ where E[.] denotes expected value.
Dimension of signal space, n, is often too large to be useful for practical application such as pattern classification, we need to transform the signal space into a space with lower dimensionality.
This is performed by a two-step linear transformation:
$q=W^{T}X^{T}s,$
where $q=[q_{1},...,q_{n}]^{T}\in {\mathcal {R}}^{k}$ is the transformed signal, $X=[x_{1},...,x_{n}]^{T}\in {\mathcal {R}}^{n\times m}$ a fixed transformation matrix which transforms the signal into the moment space, and $W=[w_{1},...,w_{n}]^{T}\in {\mathcal {R}}^{m\times k}$ the transformation matrix which we are going to determine by maximizing the SNR of the feature space resided by $q$. For the case of Geometric Moments, X would be the monomials. If $m=k=n$, a full rank transformation would result, however usually we have $m\leq n$ and $k\leq m$. This is specially the case when $n$ is of high dimensions.
Finding $W$ that maximizes the SNR of the feature space:
$SNR_{transform}={\frac {w^{T}X^{T}CXw}{w^{T}X^{T}NXw}},$
where N is the correlation matrix of the noise signal. The problem can thus be formulated as
${w_{1},...,w_{k}}=argmax_{w}{\frac {w^{T}X^{T}CXw}{w^{T}X^{T}NXw}}$
subject to constraints:
$w_{i}^{T}X^{T}NXw_{j}=\delta _{ij},$ where $\delta _{ij}$ is the Kronecker delta.
It can be observed that this maximization is Rayleigh quotient by letting $A=X^{T}CX$ and $B=X^{T}NX$ and therefore can be written as:
${w_{1},...,w_{k}}={\underset {x}{\operatorname {arg\,max} }}{\frac {w^{T}Aw}{w^{T}Bw}}$, $w_{i}^{T}Bw_{j}=\delta _{ij}$

### Rayleigh quotient

Optimization of Rayleigh quotient has the form:
$\max _{w}R(w)=\max _{w}{\frac {w^{T}Aw}{w^{T}Bw}}$
and $A$ and $B$, both are symmetric and $B$ is positive definite and therefore invertible. Scaling $w$ does not change the value of the object function and hence and additional scalar constraint $w^{T}Bw=1$ can be imposed on $w$ and no solution would be lost when the objective function is optimized.
This constraint optimization problem can be solved using Lagrangian multiplier:
$\max _{w}{w^{T}Aw}$ subject to ${w^{T}Bw}=1$
$\max _{w}{\mathcal {L}}(w)=\max _{w}(w{T}Aw-\lambda w^{T}Bw)$
equating first derivative to zero and we will have:
$Aw=\lambda Bw$
which is an instance of Generalized Eigenvalue Problem (GEP). The GEP has the form:
$Aw=\lambda Bw$
for any pair $(w,\lambda )$ that is a solution to above equation, $w$ is called a generalized eigenvector and $\lambda$ is called a generalized eigenvalue.
Finding $w$ and $\lambda$ that satisfies this equations would produce the result which optimizes Rayleigh quotient.
One way of maximizing Rayleigh quotient is through solving the Generalized Eigen Problem. Dimension reduction can be performed by simply choosing the first components $w_{i}$, $i=1,...,k$, with the highest values for $R(w)$ out of the $m$ components, and discard the rest. Interpretation of this transformation is rotating and scaling the moment space, transforming it into a feature space with maximized SNR and therefore, the first $k$ components are the components with highest $k$ SNR values.
The other method to look at this solution is to use the concept of simultaneous diagonalization instead of Generalized Eigen Problem.

### Simultaneous diagonalization

* Let $A=X^{T}CX$ and $B=X^{T}NX$ as mentioned earlier. We can write $W$ as two separate transformation matrices:
$W=W_{1}W_{2}.$
* $W_{1}$ can be found by first diagonalize B:
$P^{T}BP=D_{B}$.
Where $D_{B}$ is a diagonal matrix sorted in increasing order. Since $B$ is positive definite, thus $D_{B}>0$. We can discard those eigenvalues that large and retain those close to 0, since this means the energy of the noise is close to 0 in this space, at this stage it is also possible to discard those eigenvectors that have large eigenvalues.
Let ${\hat {P}}$ be the first $k$ columns of $P$, now ${\hat {P^{T}}}B{\hat {P}}={\hat {D_{B}}}$ where ${\hat {D_{B}}}$ is the $k\times k$ principal submatrix of $D_{B}$.
* Let
$W_{1}={\hat {P}}{\hat {D_{B}}}^{-1/2}$
and hence:
$W_{1}^{T}BW_{1}=({\hat {P}}{\hat {D_{B}}}^{-1/2})^{T}B({\hat {P}}{\hat {D_{B}}}^{-1/2})=I$.
$W_{1}$ whiten $B$ and reduces the dimensionality from $m$ to $k$. The transformed space resided by $q'=W_{1}^{T}X^{T}s$ is called the noise space.
* Then, we diagonalize $W_{1}^{T}AW_{1}$:
$W_{2}^{T}W_{1}^{T}AW_{1}W_{2}=D_{A}$,
where $W_{2}^{T}W_{2}=I$. $D_{A}$ is the matrix with eigenvalues of $W_{1}^{T}AW_{1}$ on its diagonal. We may retain all the eigenvalues and their corresponding eigenvectors since the most of the noise are already discarded in previous step.
* Finally the transformation is given by:
$W=W_{1}W_{2}$
where $W$ diagonalizes both the numerator and denominator of the SNR,
$W^{T}AW=D_{A}$, $W^{T}BW=I$ and the transformation of signal $s$ is defined as $q=W^{T}X^{T}s=W_{2}^{T}W_{1}^{T}X^{T}s$.

### Information loss

To find the information loss when we discard some of the eigenvalues and eigenvectors we can perform following analysis:
${\begin{array}{lll}\eta &=&1-{\frac {trace(W_{1}^{T}AW_{1})}{trace(D_{B}^{-1/2}P^{T}APD_{B}^{-1/2})}}\\&=&1-{\frac {trace({\hat {D_{B}}}^{-1/2}{\hat {P}}^{T}A{\hat {P}}{\hat {D_{B}}}^{-1/2})}{trace(D_{B}^{-1/2}P^{T}APD_{B}^{-1/2})}}\end{array}}$

## Eigenmoments

Eigenmoments are derived by applying the above framework on Geometric Moments. They can be derived for both 1D and 2D signals.

### 1D signal

If we let $X=[1,x,x^{2},...,x^{m-1}]$, i.e. the monomials, after the transformation $X^{T}$ we obtain Geometric Moments, denoted by vector $M$, of signal $s=[s(x)]$,i.e. $M=X^{T}s$.
In practice it is difficult to estimate the correlation signal due to insufficient number of samples, therefore parametric approaches are utilized.
One such model can be defined as:
$r(x_{1},x_{2})=r(0,0)e^{-c(x_{1}-x_{2})^{2}}$,
where $r(0,0)=E[tr(ss^{T})]$. This model of correlation can be replaced by other models however this model covers general natural images.
Since $r(0,0)$ does not affect the maximization it can be dropped.
$A=X^{T}CX=\int _{-1}^{1}\int _{-1}^{1}[x_{1}^{j}x_{2}^{i}e^{-c(x_{1}-x_{2})^{2}}]_{i,j=0}^{i,j=m-1}dx_{1}dx_{2}$
The correlation of noise can be modelled as $\sigma _{n}^{2}\delta (x_{1},x_{2})$, where $\sigma _{n}^{2}$ is the energy of noise. Again $\sigma _{n}^{2}$ can be dropped because the constant does not have any effect on the maximization problem.
$B=X^{T}NX=\int _{-1}^{1}\int _{-1}^{1}[x_{1}^{j}x_{2}^{i}\delta (x_{1},x_{2})]_{i,j=0}^{i,j=m-1}dx_{1}dx_{2}$ $B=X^{T}NX=\int _{-1}^{1}[x_{1}^{j+i}]_{i,j=0}^{i,j=m-1}dx_{1}=X^{T}X$
Using the computed A and B and applying the algorithm discussed in previous section we find $W$ and set of transformed monomials $\Phi =[\phi _{1},...,\phi _{k}]=XW$ which produces the moment kernels of EM. The moment kernels of EM decorrelate the correlation in the image.
$\Phi ^{T}C\Phi =(XW)^{T}C(XW)=D_{C}$,
and are orthogonal:
${\begin{array}{lll}\Phi ^{T}\Phi &=&(XW)^{T}(XW)\\&=&W^{T}X^{T}X\\&=&W^{T}X^{T}NXW\\&=&W^{T}BW\\&=&I\\\end{array}}$

#### Example computation

Taking $c=0.5$, the dimension of moment space as $m=6$ and the dimension of feature space as $k=4$, we will have:
$W=\left({\begin{array}{cccc}0.0&0&-0.7745&-0.8960\\2.8669&-4.4622&0.0&0.0\\0.0&0.0&7.9272&2.4523\\-4.0225&20.6505&0.0&0.0\\0.0&0.0&-9.2789&-0.1239\\-0.5092&-18.4582&0.0&0.0\end{array}}\right)$
and
${\begin{array}{lll}\phi _{1}&=&2.8669x-4.0225x^{3}-0.5092x^{5}\\\phi _{2}&=&-4.4622x+20.6505x^{3}-18.4582x^{5}\\\phi _{3}&=&-0.7745+7.9272x^{2}-9.2789x^{4}\\\phi _{4}&=&-0.8960+2.4523x^{2}-0.1239x^{4}\\\end{array}}$

### 2D signal

The derivation for 2D signal is the same as 1D signal except that conventional Geometric Moments are directly employed to obtain the set of 2D EigenMoments.
The definition of Geometric Moments of order $(p+q)$ for 2D image signal is:
$m_{pq}=\int _{-1}^{1}\int _{-1}^{1}x^{p}y^{q}f(x,y)dxdy$.
which can be denoted as $M=\{m_{j,i}\}_{i,j=0}^{i,j=m-1}$. Then the set of 2D EigenMoments are:
$\Omega =W^{T}MW$,
where $\Omega =\{\Omega _{j,i}\}_{i,j=0}^{i,j=k-1}$ is a matrix that contains the set of EigenMoments.
$\Omega _{j,i}=\Sigma _{r=0}^{m-1}\Sigma _{s=0}^{m-1}w_{r,j}w_{s,i}m_{r,s}$.

### EigenMoment invariants (EMI)

In order to obtain a set of moment invariants we can use normalized Geometric Moments ${\hat {M}}$ instead of $M$.
Normalized Geometric Moments are invariant to Rotation, Scaling and Transformation and defined by:
${\begin{array}{lll}{\hat {m}}_{pq}&=&\alpha ^{p}+q+2\int _{-1}^{1}\int _{-1}^{1}[(x-x^{c})cos(\theta )+(y-y^{c})sin(\theta )]^{p}\\&=&\times [-(x-x^{c})sin(\theta )+(y-y^{c})cos(\theta )]^{q}\\&=&\times f(x,y)dxdy,\\\end{array}}$
where:$(x^{c},y^{c})=(m_{10}/m_{00},m_{01}/m_{00})$ is the centroid of the image $f(x,y)$ and
${\begin{array}{lll}\alpha &=&[m_{00}^{S}/m_{00}]^{1/2}\\\theta &=&{\frac {1}{2}}tan^{-1}{\frac {2m_{11}}{m_{20}-m_{02}}}\end{array}}$.
$m_{00}^{S}$ in this equation is a scaling factor depending on the image. $m_{00}^{S}$ is usually set to 1 for binary images.