Mathematical derivation of the Chan Vese algorithm

616 Views Asked by At

This is my first question. I am working on an algorithm in Image processing which is popularly known as the Chan Vese segmentation algorithm. I have a problem with it.

Let me first try to explain the alogtihm. Chan Vese algorithm tries to segment an image into various parts or segments by minimizing an energy associated with a curve on the image. Let the curve on the image be $C$ and the inside of the curve be region $\Omega_1$ and outside of the curve be $\Omega_2$.

The energy associated with the curve is given below :

$E(c_1,c_2,C)=\lambda_1\int_{inside(C)}\left | I-c_1 \right |^2dxdy+\lambda_1\int_{outside(C)}\left | I-c_2 \right |^2dxdy$ ....(1)

$E(c_1,c_2,C)=\lambda_1\int_{\Omega_1}\left | I-c_1 \right |^2dxdy+\lambda_1\int_{\Omega_2}\left | I-c_2 \right |^2dxdy$ ....(2)

where $c1$ is the mean intensity value within the curve (i.e inside $\Omega_1$) and $c2$ is the mean intensity value outside the curve (i.e inside $\Omega_2$). To get the optimum segmented value all we have to do is this: evolve the curve $C$ until the energy in (1) is minimum.

This is implemented by using the concepts of level sets. Then the energy becomes

$E(c_1,c_2,\phi)=\lambda_1\int_{\Omega}\left | I-c_1 \right |^2 H(\phi)dxdy+\lambda_1\int_{\Omega}\left | I-c_2 \right |^2(1-H(\phi))dxdy$ ....(3)

where, $\Omega$ is the total image region and $H(\phi)$ is the Heaviside function and $H(\phi)$ means that it is in region 1 i.e., $\Omega_1$ and $(1-H(\phi))$ means in region 2 i.e., $\Omega_2$.

So to evolve $C$ means is to evolve $\phi$ i.e., the level set. It can be done by using the equation (4). This equation has been derived by using the Euler Lagrange equation and the equation (5) for constant values of $c_1$ and $c_2$, where $E$ is the energy associated with equation 1-3.

$\frac{\partial\phi}{\partial t}=\delta(\phi)\left [ -\lambda_1\left ( I-c_1 \right )^2 + \lambda_2 \left ( I-c_2 \right )^2\right ]$...(4).

$\frac{\partial E}{\partial \phi}=-\frac{\partial\phi}{\partial t}$...(5)

To evolve the level set $\phi$ , we use an iterative procedure

$\phi^{(t+1)}=\phi^{(t)}+\frac{\partial\phi}{\partial t}.time\_step$ ...(6).

This step can be controlled by various techniques of 1st order partial derivatives. However I want to use the Levenberg marquardt algorithm which utilizes the Hessian of the Energy function as defined above or for that matter any 2nd order method does.

I cannot find out the double derivative of the function as defined in equation (3) which is necessary for me to utilize the 2nd order methods. The main difficulty lies with the dirac delta function $\delta$.

Please can anybody tell me what will be the double derivative of the energy as defined in (3) or more specifically what is $\frac{\partial^2\phi}{\partial t^2}$ ?

Any help or suggestions will be greatly appreciated .