Image segmentation is an important research area in Computer Vision and the GVF-snake is an effective segmentation algorithm presented in recent years. Traditional GVF-snake algorithm has a large capture range and can deal with boundary concavities. However, when interesting object has deep concavities, traditional GVF-snake algorithm can’t converge to true boundaries exactly. In this paper, a novel improved scheme was proposed based on the GVF-snake. The central idea is introduce dynamic balloon force and tangential force to strengthen the static GVF force. Experimental results of synthetic image and real image all demonstrated that the improved algorithm can capture boundary concavities better and detect complex edges more accurately.
Active contours model, a tracking method using active curves or surfaces, has been proposed in recent years. It can integrate edge and region information and has been widely used in image segmentation field. The most widely used active contours model include snakes and level set [
Let, represents a curve in image, s is the regularized arc length. The energy function of the snake is as follows:
where and denote the first and second derivatives of X(s) with respect to s, α and β are weighting parameters that control smoothness and tautness of the snake respectively. External energy is used for moving the snake towards edges or other interesting features. To minimize the energy function, the energy Equation (1) can deduce to the force-balance equation using the calculus of variations, i.e. the Euler equation is as follows:
The former two terms represent the internal force Fint and the negative gradient of a potential function represents the external force Fext. When the internal force and the external force reach their balance, the energy functional converges to its minima.
The main difference between the GVF-snake and the classical snake model lies on the different external forces. For the GVF-snake, the external force Fext is replaced by the gradient vector flow, where is achieved by minimizing the following energy function:
where, denotes the gradient of edge map and μ is a weighting parameter. μ should choose a large value when the image is noisy. When is small, the energy is dominated by the first partial derivatives, so it is a slowly-varying field. When is large, the second term dominates the energy and energy minima can be achieved by setting.
In order to minimize the energy of Equation (3), it must satisfy the following Euler equation:
where is the Laplacian operator. In homogeneous regions, both fx and fy are zero. In this case, u and v are dominated by Laplacian equation. Within the boundary regions, the snake mainly performs a “filling in” property. We can get from Equation (3) and set X as function of time X(s,t), the dynamic equation is obtained as follows:
where V represents static GVF force, is a weighting parameter. When is equal to zero, stable solution of the GVF-snake is achieved.
The GVF-snake can’t converge to deep boundary concavities accurately, so we propose to design dynamic balloon force and tangential force to strengthen the GVF force to improve the capture ability of desired edges. To demonstrate the effect of the additional forces,
In
The force field of the GVF-snake showed in
It is noted that the proposed balloon force and tangential force can change their affect area adaptively. The value of each control point is replaced by the average value of its nine surrounding pixels. It indicates that the control point denoted by squared point is far away from the desired edge when the averaged value is smaller than the given threshold T. In this case, the balloon force pulls snake towards the edge. When the averaged value is bigger than T, it means this control point is close to the edges. In this case, the tangential force is used to approach the edge. At the same time, it can prevent the snake from breaking through weak edges.
If T is choose too large, the balloon force is still affecting nearby the desired edge while the capture range of the tangential force becomes smaller, and it is difficult to avoid boundary leakage. If T is too small, only the tangential force is affected near to the edges, and the snake is hard to converge to deep concave boundary. So the value of threshold T is advised to 0.2 ~ 0.5.
The force balance equation of the improved GVFsnake can be expressed as follows:
where Fint represents the internal force, represents the GVF force, represents the balloon force, represents the tangential force. They are defined respectively as follows:
where, and are weighting parameters of the GVF force, the balloon force and the tangential force respectively. N(x,y) represents outward unit normal vector. When the active contour lies inward the desired edge, sign(n) > 0 and the active contour inflates. When the active contour lies outward the desired edge, sign(n) < 0 and the active contour deflates. represents the unit tangential force. Sign(q) is obtained by computing the inner product of and:
where θ is the angle between and. If θ lies in, and it indicates the two vectors are inconsistent. It is necessary to negate the tangential vector to ensure the snake converging normally. If θ lies in or,. It indicates that the two vectors are consistent and the direction of tangential vector needn’t change. Accordingly, can be expressed as follows:
then, Equation (7) can be expressed as follows:
Therefore, the improved GVF-snake is expressed as follows:
Equation (12) can be quantized and expressed using matrix formation as follows:
where γ is temporal step-size.
Experiments were designed to compare segmentation performance of the GVF-snake and the improved GVFsnake. All computation is done under the environment of computer X42J (ASUS Inc.). CPU is 2.00 GHz and RAM is 2 GB. Operation system is Windows XP-SP3 and the programming tool is MATLAB 7.0.