Help for DENOISETV

PURPOSE:

DENOISETV performs impulse (such as salt and pepper) noise removal using 
total variation minimization.

Denoisetv will handle multi-band images automatically if the BAND 
parameter is not specified. If BAND is specified, only that single band 
(in the multi-band images) is processed. If a non-existent band (e.g. 4th 
band for a 3-band image) is specified, the first band is processed.

EXECUTION:

denoisetv INP=input.img OUT=output.img

denoisetv INP=input.img OUT=output.img MU = 1.5 LAMBDA = 0.01 GAMMA = 0.02 ITER = 100

Smaller MU would apply more regularization, removing larger noise structures,
while running the risk of removing features.  Larger MU would apply less
regularization, leaving larger noise structures in the image.

Parameters LAMBDA and GAMMA may be left as default.
LAMBDA is the weight on the gradient term and GAMMA is the weight on the 
fidelity term in the Split Bregman minimization.
GAMMA should be twice as large as LAMBDA.

Parameter ITER specifies the number of iterations for the algorithm to run.
The energy value in the output "E = xxx" could be monitored to determine
whether the algorithm converged (i.e. whether the energy value stopped
decreasing significantly).  Experiments showed that ITER = 100 is sufficient 
for convergence.  In general, if computational time is an issue, ITER could be
decreased from 100. 

Examples:

Single-band image:

denoisetv inp=1N546228391RADCYELP0684L0M1.IMG out=denoised.IMG MU = 1.5

Multiple-band image:

Process all bands:

denoisetv inp=MH0_445788563EDR_S0261274MHLI00350M1.IMG out=denoised_multiband.IMG MU = 1.5

Process band 2:

denoisetv inp=MH0_445788563EDR_S0261274MHLI00350M1.IMG out=denoised_band2.IMG BAND = 2 MU = 1.5

METHOD:

We assume that the grayscale image additive noise problem is defined as:

               f = u + n,                                (1)

where u is the image we want to recover, n is inpulse noise, and f is an 
observation.  In order to recover u, we solve the minimization problem.
The minimization functional consists of two terms: total variation (TV)
regularization and data fidelity term:

             min_u { TV(u) + mu ||u - f||_1 },           (2)

where mu > 0 is a weight on the L1 norm of the residual of (1).

Total variation of an image measures the sum of the absolute values of its 
gradient and increases in the presence of noise. Total variation minimization 
allows for noise removal while preserving edges in the image. It is defined as:

             TV(u) = ||grad u||_1 = \sum_i ||grad u_i||.

Minimization of the L1 fidelity term || ||_1 removes the impulse noise. 

The straightforward way to minimize (2) is to apply gradient descent. While 
this approach is robust and allows for accurate image denoising, it is inefficient 
and time-consuming. To render total variation-based minimization noise removal 
efficiently, our methodology is be based on sparse optimization.  We solve the
minimization problem using an efficient total variation minimization technique 
based on Split Bregman denoising, that removes the noise while preserving 
information content.  The Split Bregman method can be derived from the well-known 
alternating direction method of multipliers (ADMM) and is extremely efficient 
because it can decompose non-smooth multi-term optimization problems into 
subproblems with closed-form solutions. This approach leads to unprecedented 
efficiencies for solving image reconstruction problems.

In order to minimize (2), an additional variable d is introduced to transfer 
grad u out of non-differentiable terms at each pixel, and ||d  - grad u||^2 
is penalized.  Since L1 term ||f-u||_1 in equation (2) is not quadratic in u, 
an additional variable z is introduced to approximate u-f.  Hence, the Split 
Bregman formulation of the problem (2) is

min_{u,d,z} { ||d||_1 + lambda/2 ||d - grad u - b||^2 
              + mu ||z||_1 + gamma/2 ||z - (u - f) - w||^2 }.

Here, lambda and gamma are nonnegative parameters, and variables b and w are 
chosen through Bregman iterations: 

b <- b + (grad u - d),
w <- w + (u-f-z).

The solutions for d and z are given by shrinkage formulas, and the optimality
condition for u is solved using the fast Fourier transform.


REFERENCES:

[1] T. Goldstein and S. Osher. The split bregman method for L1-regularized 
problems. SIAM Journal on Imaging Sciences, 2(2):323–343, 2009.
[2] S. Osher, M. Burger, D. Goldfarb, J. Xu, and W. Yin. An iterative 
regularization method for total variation-based image restoration. Multiscale 
Modeling & Simulation, 4(2):460–489, 2005.
[3] Y. Wang, J. Yang, W. Yin, and Y. Zhang. A new alternating minimization 
algorithm for total variation image reconstruction. SIAM Journal on Imaging 
Sciences, 1(3):248–272, 2008.
[4] Y. Wang, W. Yin, and Y. Zhang. A fast algorithm for image deblurring with 
total variation regularization. Rice Univ., Houston, Texas, USA, CAAM Technical 
Report, TR07-10, 2007.
[5] J. Yang, W. Yin, Y. Zhang, and Y. Wang. A fast algorithm for edge-preserving 
variational multichannel image restoration. SIAM Journal on Imaging Sciences, 
2(2):569–592, 2009.
[6] J. Yang, Y. Zhang, and W. Yin. An efficient TVL1 algorithm for deblurring 
multichannel images corrupted by impulsive noise. SIAM J. Sci. Comput., 
31(4):2842–2865, 2009.
[7] W. Yin, S. Osher, D. Goldfarb, and J. Darbon. Bregman iterative algorithms 
for L1- minimization with applications to compressed sensing. SIAM Journal on 
Imaging Sciences, 1(1):143–168, 2008.
[8] I. Yanovsky and A.B. Davis. Separation of a Cirrus Layer and Broken Cumulus 
Clouds in Multispectral Images. IEEE Transactions on Geoscience and Remote Sensing, 
53(5):2275-2285, 2015.
[9] I. Yanovsky, B. Lambrigtsen, A. Tanner, and L. Vese. Efficient Deconvolution 
and Super-Resolution Methods in Microwave Imagery. IEEE Journal of Selected Topics 
in Applied Earth Observations and Remote Sensing, 8(9):4273-4283, 2015.
[10] I. Yanovsky and B. Lambrigtsen. Multispectral Super-Resolution of Tropical 
Cyclone Imagery using Sparsity-based Approaches. International Journal of Remote 
Sensing, 37(11):2494-2509, 2016.
[11] Igor Yanovsky, Split-Bregman TV-L1 Denoising, Report, 2017.


HISTORY:
2017-09    Igor Yanovsky - Initial version by Igor Yanovsky.
2017-11    Igor Yanovsky - Revised to allow color imagery to be processed with a single call.
2019-06-13 Walt Bunch - IDS-7924: fixed format directives; cleaned up misc. warnings.
2019-07-18 Walt Bunch - IDS-7923: replaced sprintf/zvmessage with zvnprintf.

COGNIZANT PROGRAMMER: Igor Yanovsky


PARAMETERS:


INP

Input image.

OUT

Output denoised image.

BAND

The input file band number to use

MU

Regularization parameter.

LAMBDA

Optimization parameter.

GAMMA

Optimization parameter.

ITER

Number of iterations.

See Examples:


Cognizant Programmer: