Objective:
To implement “Snakes: Active Contour Models” by Kass, Witkin and Terzopolous
incorporating E
line
, E
edge
and E
term
energy factors.
Implementation Details:
1. The GUI for the implementation takes user through the process of snakes’
generation in step-by-step fashion.
2. Firstly, the user selects the image and selects the σ values for the Gaussian
smoothing.
3. Then user selects the initial position of the snake by clicking on the image and
selecting control points which are later interpolated (Spline based) into a contour.
4. The user specifies various control parameters for the snake. These include
α (alpha): Specifies the elasticity of the snake. This controls the tension in the
contour by combining with the first derivative term.
β (beta): Specifies the rigidity in the contour by combining with the second
derivative term.
γ (gamma): Specifies the step size
κ (kappa): Acts as the scaling factor for the energy term.
W (E
line
): Weighing factor for intensity based potential term.
W (E
edge
): Weighing factor for edge based potential term.
W (E
term
): Weighing factor for termination potential term.
5. Then user specifies the number of iterations for which contour’s position is to be
computed.
6. For the standard test cases provided with the assignment, predefined values for all
the variables are hard-coded for convenience, though they can be changed at any
point.
Discussions and Findings:
1. If the snake is initialized “too far” from the object boundary, it is possible that the
contour may not be able to converge onto object boundary.
2. An increase in the amount of smoothing (σ value) increases the range from which
a snake can converge onto an object smoothing. This can be seen as that blurring
of edges increases there “encatchment” area.
3. If the energy scaling factor is “too big” for a given image than though active
contour can converge onto image boundary but keeps on wiggling along the
object boundary. In most cases it ends up loosing track on object boundary.
4. W (E
edge
) value must be carefully chosen in case of binary images which has very
high gradient values.
5. The E
term
defines the contribution of curvatures to the overall energy term. When
weight associated with this component in dominant in the overall energy, the
snakes seems to be attracted to corners first before converging onto the object
boundary. In cases where its weight is not dominant, edges are traced before the
corners by the snake.