## Classical Snake Model

In the classical Snake model, a deformable curve is represented by an energy function whose local minima should be able to provide a set of alternative solutions based on the features of the object under investigation, such as shape, size, location, etc., as well as the surrounding image context. The optimization process is guided by energy minimization, which leads the deformable curve to evolve gradually from the initial contour toward the desired boundary of the closest object. The representation of the energy function contains two parts: internal energy Eint and external energy Eext.

Generally, the internal energy Eint imposes only the smoothness constraint on the curve, such as elasticity and bending behavior, while the external energy Eext is responsible for pulling the Snake curve toward the object's boundary. All these energies are formulated within an energy expression that is minimized by deforming the contour in an optimization process. The definitions are given as where N is the total number of Snake points; vi = (xi, y) is a coordinate of the ith Snake point. Parameter ai is a constant imposing the tension constraint between two adjacent Snake points. The stronger the ai is, the shorter contour of the object will be obtained. Parameter ii is a constraint tuning the bending among every three consecutive Snake points. Generally, the higher value of ¡ i will lead a smoother searched contour. In different applications where the object size and desired curvatures may vary, the values of ai and ii need to be adjusted. Obviously, it is unavoidable to have a procedure for parameters fine-tuning in practical applications. The definition of Eext(i) is usually application- or feature-dependent. For example, Eext(i) is often expressed as a form of image gradient function when boundary points of object are under searching.

Eint(i) = ai\\vi — Vi—i\\2 + Pi\\vi— i — 2vi + vi+i||2,

Eint(i) = ai\\vi — Vi—i\\2 + Pi\\vi— i — 2vi + vi+i||2,

The optimization process is implemented by iteratively finding a local minimum of the energy function given in Eq. (8.31).

Even thought the classical Snake model proposed has shown very good performance of object contour tracking in some applications, it has the following aspects that need to be further improved:

(i) Optimization of the deformable curve: Since the energy minimizing method in the original Snake formulation stops at a local minimum, it is obvious that numerical instabilities may be generated. Aminiet al. [68] proposed to apply the dynamic programming approach to overcome this problem. Unfortunately, global minima cannot be guaranteed in his implementation [69]. In recent publications, Chandran and Potty [70] developed a method by imposing stronger conditions to force the optimizing process to avoid local minima. However, since these additional constraints have to be redesigned in each individual application, it is hard to be used as a general solution.

(ii) Initialization of Snake model: To trackthe contour of the desired object, some initial points or a closed curve are generally placed near the object's boundary in advance. This usually needs human's interactive mechanism, like Snake pit [71], involved to provide a reliable initialization. Otherwise, either a wrong target boundary may be tracked or the algorithm evolves with poor convergence [23]. To reduce this model's sensitivity and simplify its tedious initialization process, some methods have been proposed, such as "Snake growing" method by Berger et al. [72] and Fuzzy logic based framework by Eugene [73]. Cohen also introduced another method, called balloon force, to push the Snake curve outward from the center [74], which shows greater stability and faster convergence [75], by using the finite-element method. However, the limitations of this method is also very obvious, such as the location of initial points must be inside the desired object. Also, the optimal design of the balloon force is not closed.

In summary, even though some solutions have been proposed to resolve the drawbacks of classical Snake model, the main problems such, as initialization, topology changes, and energy minimization, have not been satisfactorily resolved.

## Post a comment