next up previous contents index
Next: cfmdiffuse Up: Reference Previous: amss   Contents   Index

cfdiffuse

$ \bigcirc$Name


cfdiffuse One-step Diffusion of a Color Float Image using Total Variation minimization




$ \bigcirc$Command Synopsis


cfdiffuse [-t deltat] [-l epsilon] in out



-t deltat : Time for the diffusion (default 10.)

-l epsilon : Lower bound for the RGB norm (default 1.)

in : original image (input cfimage)

out : diffused image (output cfimage)




$ \bigcirc$Function Summary


void cfdiffuse (deltat , epsilon , in , out , MDiag0 , MDiag1 , U0 , Yimage , Vimage , L2h , L2v )

float *deltat , *epsilon ;

Cfimage in , out ;

Fsignal MDiag0 , MDiag1 , U0 ;

Cfimage Yimage , Vimage ;

Fimage L2h , L2v ;




$ \bigcirc$Description


This module applies the Total Variation Minimization algorithm described below to a color image in, during the time $ \delta$t given by deltat. The result is a diffused (smoothed) color image put in out which keeps the sharpness of the edges. Such algorithm may be used to restore a noisy image.

To get a sequence of diffused images, see the module cfmdiffuse.


The following is a short description of the used scheme, the Total Variation Minimization via a Relaxation Algorithm. For more information please see [CL97].

Let $ \Phi_{\varepsilon}^{}$ be the following C1 function:

$\displaystyle \Phi_{\varepsilon}^{}$ : x $\displaystyle \mapsto$ $\displaystyle \left\{\vphantom{ \begin{array}{ll}
\displaystyle {{1\over 2\vare...
...x{if } \vert x\vert\geq \displaystyle {1\over \varepsilon }
\end{array}}\right.$$\displaystyle \begin{array}{ll}
\displaystyle {{1\over 2\varepsilon } x^2} & \m...
...}
& \mbox{if } \vert x\vert\geq \displaystyle {1\over \varepsilon }
\end{array}$ (4)
and consider the problem

Minimize $\displaystyle \int_{\Omega}^{}$$\displaystyle \Phi_{\varepsilon}^{}$(|$\displaystyle \nabla$u|) + $\displaystyle {\frac{{\lambda }}{{2}}}$| u - u0|2 (5)
where u $ \in$ H1($ \Omega$) = W1, 2($ \Omega$).

As $ \varepsilon$ goes to zero it may be shown that the minimizer of (5) goes to the minimizer of the following energy:

$\displaystyle \int_{\Omega}^{}$|$\displaystyle \nabla$u| + $\displaystyle {\frac{{\lambda }}{{2}}}$| u - u0|2. (6)

Now, set for simplicity's sake $ \lambda$ = 1 and choose a small, fixed $ \varepsilon$ (for instance, 1). In the sequel we will denote $ \Phi_{\varepsilon}^{}$ simply by $ \Phi$. Consider the following functional:

E(u, v) = $\displaystyle \int_{\Omega}^{}$v|$\displaystyle \nabla$u|2 + $\displaystyle {1\over v}$ + | u - u0|2 (7)
where u $ \in$ H1($ \Omega$) and v $ \in$ L2($ \Omega$), $ \varepsilon$ $ \leq$ v $ \leq$ 1/$ \varepsilon$.

Start from any u1 and v1 (for instance v1 $ \equiv$ 1) and let:

un+1 = arg$\displaystyle \min_{{u\in {H}^1(\Omega )}}^{}$E(u, vn)    
vn+1 = arg$\displaystyle \min_{{\varepsilon \leq v \leq 1/\varepsilon }}^{}$E(un+1, v) = $\displaystyle {\varepsilon \vee {1\over \vert\nabla u^{n+1}\vert} \wedge {1\over \varepsilon }}$
(8)
(un+1 is therefore characterized by

$\displaystyle \forall$$\displaystyle \phi$ $\displaystyle \in$ H1($\displaystyle \Omega$),$\displaystyle \int_{\Omega}^{}$vn$\displaystyle \nabla$un+1 . $\displaystyle \nabla$$\displaystyle \phi$ + (un+1 - u0)$\displaystyle \phi$ = 0,

i.e. - div(vn$ \nabla$un+1) + un+1 = u0 in H1($ \Omega$)$\scriptstyle \prime$.)

We have the following result.


PROPOSITION. The sequence (un) converges (strongly in L2($ \Omega$) and weakly in H1($ \Omega$)) to the minimizer of (5).


Now, to solve the PDE

$\displaystyle {\frac{{\partial u}}{{\partial t}}}$ = div$\displaystyle {\frac{{\nabla u}}{{\vert\nabla u\vert}}}$

or, to be more precise,

$\displaystyle {\frac{{\partial u}}{{\partial t}}}$ = div$\displaystyle {\frac{{\Phi{\nabla u}}}{{\vert\nabla u\vert}}}$$\displaystyle \nabla$u

we simply compute u(t + $ \delta$t) by minimizing (5) with u0 = u(t) and $ \lambda$ = 1/$ \delta$t.




$ \bigcirc$See Also


cfmdiffuse.


$ \bigcirc$Version 1.0


Last Modification date : Fri Feb 1 15:36:23 2002


$ \bigcirc$Author


Antonin Chambolle, Jacques Froment






next up previous contents index
Next: cfmdiffuse Up: Reference Previous: amss   Contents   Index
mw 2004-05-05