There are two parts when we discuss the Active Contour Model. Firstly, the shape of the contour is defined by a sequence of landmarks, and these landmarks are often initialized around and close to the target object we interesting in the image. Secondly, an energy function is minimized for each landmark on the contour iteratively, determining where each landmark should be moved to. Figure 1 is a demo during one iteration of a landmark.
( Figure 1 )
Generally,Active Contour Model’s energy function is composed with three type energies. For each landmark of contour, the definition of the energy function that we can write as: Epoint= [ Eint + Eimage + Eext ]
Eint influences contour’s shape by measuring the continuity and curvature relationships between adjacent landmarks on the contour.
Eimage influences the control point movement based on the desired features such as colors or edges.
Eext, or the external energy influences snake movement by responding to user interaction. Such as the user pushing, pulling the snake or other user applied energy.
At each iteration, every landmark on the contour finds the next location by minimizing the sum of above three energy terms.
Left "Snake_demo" figure shows the processes of the acm algorithm that executing with my fast snake java program.



