Download presentation

Presentation is loading. Please wait.

1
**Active Contours without Edges**

Tony Chan Luminita Vese Peter Horvath – University of Szeged 29/09/2006

2
**Introduction Variational approach**

The main problem is to minimise an integral functional (e.g.): In the case f:, f’=0 gives the extremum(s) In the case of functionals similary F’=0, where F’=(F/u) is the first variation. Most of the cases the solution is analyticly hard, in these cases we use gradient descent to optimise.

3
**Introduction Active Contour (Snake Model) + Fast evaluation**

Kass, Witkin and Terzopoulos [Kas88] - tension - rigidity Eext – external energy Problem is: infxE + Fast evaluation - But difficult to handle topological changes

4
**Introduction A typical external energy coming from the image:**

Positive on homogeneous regions Near zero on the sharp edges

5
**Intoduction Level Set methods S.Osher and J. Sethian [Set89]**

Embed the contour into a higher dimensional space +Automatically handles the topological changes - Slower evaluation (., t) level set function Implicit contour (=0) The contour is evolved implicitly by moving the surface

6
**Introduction The curve is moving with an F speed:**

The geometric active contour, based on a mean curvature (length) motion:

7
**Chan and Vese model position**

Energy functionals for image segmentation Important to distinguish the model and the representation Model: describing problems from the real world with equations Representation: type of the description Optimization: solving the equations Chan and Vese model Representation/optimization Contour based gradient descent Level set based gradient descent

8
Chan and Vese model The model is based on trying to separate the image into regions based on intensities The minimization problem:

9
Chan and Vese model c1 and c2 are the average intensity levels inside and outside of the contour Experiments:

10
**Relation with the Mumford-Shah functional**

The Chan and Vese model is a special case of the Mumford Shah model (minimal partition problem) =0 and 1=2= u=average(u0 in/out) C is the CV active contour “Cartoon” model

11
Level set formulation Considering the disadvantages of the active contour representation the model is solved using level set formulation level set form -> no explicit contour

12
Replacing C with Φ Introducing the Heaviside (sign) and Dirac (PSF) functions

13
Replacing C with Φ The intensity terms

14
Average intensities We can calculate the average intensities using the step function

15
**Level set formulation of the model**

Combining the above presented energy terms we can write the Chan and Vese functional as a function of Φ. Minimization F wrt. Φ -> gradient descent The corresponding Euler-Lagrange equation:

16
**Approximation of the Curvature**

17
**The algorithm Initialization n=0 repeat**

Computing c1 and c2 Evolving the level-set function until the solution is stationary, or n>nmax

18
**Initialization We set the values of the level set function**

outside = -1 inside = 1 Any shape can be the initialization shape init() for all (x, y) in Phi if (x, y) is inside Phi(x, y)=1; else Phi(x, y)=-1; fi; end for

19
Computing c1 and c2 The mean intensity of the image pixels inside and outside colors() out = find(Phi < 0); in = find(Phi > 0); c1 = sum(Img(in)) / size(in); c2 = sum(Img(out)) / size(out);

20
**Finite differences for all (x, y)**

fx(x, y) = (Phi(x+1, y)-Phi(x-1, y))/(2*delta_s); fy(x, y) =… fxx(x, y) =… fyy(x, y) =… fxy(x, y) =… delta_s recommended between 0.1 and 1.0

21
**Curvature Be careful! Grad can be 0! grad = (fx.^2.+fy.^2);**

curvature = (fx.^2.*fyy + fy.^2.*fxx - 2.*fx.*fy.*fxy) ./ (grad.^1.5); Be careful! Grad can be 0!

22
**Force We should normalize the force. abs(force) <= 1! Main step:**

gradient_m = (fx.^2.+fy.^2).^0.5; force = mu * curvature .* gradient_m - nu – lambda1 * (image - c1).^2 + lambda2 * (image - c2).^2; We should normalize the force. abs(force) <= 1! Main step: Phi=Phi+deltaT*force; deltaT is recommended between 0.01 and 0.9. Be careful deltaT<1!

23
Narrow band It is useful to compute the level set function not on the whole image domain but in a narrow band near to the contour. Abs()<d Decreasing the computational complexity.

24
**Narrow band Initialization n=0 repeat**

Determination of the narrow band Computing c1 and c2 Evolving the level-set function on the narrow band Re-initialization until the solution is stationary, or n>nmax

25
**Re-initialization Optional step**

H is a normalizing term recommended between 0.1 and 2. deltaT time step see above!

26
**Stop criteria Stop the iterations if:**

The maximum iteration number were reached Stationary solution: The energy is not changing The contour is not moving …

27
**Demonstration of the program**

Thanks for your attention

28
**MATLAB tutorial Imread, imwrite .*, .^, ./ Find**

Size, length, max, min, mod, sum, zeros, ones A(x:y, z:v) Visualization: figure, plot, surf, imagesc

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google