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.
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).
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.
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.
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.
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”
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”
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”
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”
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’).
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.