Slide 1

Slide 1 text

Active Contour Research by Nicolas McCurdy

Slide 2

Slide 2 text

What is active contour? ● A way of finding the curved outline of an object while avoiding any background noise. ● It works for 2D images, but similar techniques can be applied to 3D images. ● Also known as snakes.

Slide 3

Slide 3 text

How it works 1. Create the snake (a connected series of vertices) at some distance from the object. 2. Minimize the energy iteratively, which gradually moves the points of the snake closer to the contour of the object. 3. Stop when the energy is minimized (the snake’s contour matches the object’s contour).

Slide 4

Slide 4 text

Visual example Source: http://commons.wikimedia.org/wiki/File:Snake-contour-example.jpg

Slide 5

Slide 5 text

Active contour with edges Edge detection algorithms are used on each iteration to determine where the object is (and to adjust the current contour appropriately). Advantages ● Existing edge detection algorithms can be used.

Slide 6

Slide 6 text

Active contour with edges Disadvantages ● Only objects with gradient edges can be detected. ● Usually, the points on the contour can only move in, not out.

Slide 7

Slide 7 text

Summary of “Active Contours Without Edges” This model is not based on a stopping edge detection function. Instead, the image is segmented by minimizing an energy. Advantages ● Works for images with and without gradients. ● Supports finding smooth edges and even disconnected edges.

Slide 8

Slide 8 text

Part 1: Create a model with a fitting term To find the curve, minimize the fitting term by moving the curve C closer to the boundary of the image in multiple iterations. Summary of “Active Contours Without Edges”

Slide 9

Slide 9 text

Summary of “Active Contours Without Edges”

Slide 10

Slide 10 text

Part 2: Mumford-Shah functional For this approach to active contour, the Mumford-Shah functional is used to help segment the image into multiple objects before the fitting term is minimized. Summary of “Active Contours Without Edges”

Slide 11

Slide 11 text

Part 3: Level set formulation The level set method can be used to solve the specific case of the minimal partition problem that results from segmenting the image with this technique. The technique described in this paper uses the level set method to translate the Mumford-Shah model to segment the image. Summary of “Active Contours Without Edges”

Slide 12

Slide 12 text

Conclusion ● The active contour’s points are computed and moved in iterations until the solution is stationary. ● This is the default method used in MATLAB’ s activecontour function. Summary of “Active Contours Without Edges”

Slide 13

Slide 13 text

Example Summary of “Active Contours Without Edges”

Slide 14

Slide 14 text

Using activecontour in MATLAB activecontour(A,mask,n,method) ● A is a 2D grayscale image. ● mask is a binary image. ● n is the number of iterations. ● method is the method used for active contour (‘Chan-Vese’ or ‘edge’).

Slide 15

Slide 15 text

Using activecontour in MATLAB activecontour(A,mask) ● Defaults to 100 iterations. ● Defaults to the ‘Chan-Vese’ method (as described previously).

Slide 16

Slide 16 text

Using activecontour in MATLAB Example I = imread('coins.png'); mask = zeros(size(I)); mask(25:end-25,25:end-25) = 1; bw = activecontour(I,mask,300); figure, imshow(bw); title('Segmented Image');

Slide 17

Slide 17 text

Using activecontour in MATLAB Example Results

Slide 18

Slide 18 text

References ● MATLAB’s activecontour documentation ● Papers ○ [1] T. F. Chan, L. A. Vese, Active contours without edges. IEEE Transactions on Image Processing, Volume 10, Issue 2, pp. 266--‐277, 2001 ○ [2] V. Caselles, R. Kimmel, G. Sapiro, Geodesic active contours. International Journal of Computer Vision, Volume 22, Issue 1, pp. 61--‐79, 1997.