Image Segmentation (v) Introduction to the snake model of active contour model
[Email protected]
Http://blog.csdn.net/zouxy09
In the "Image segmentation (a) Overview" We have a simple understanding of the current mainstream image segmentation methods. Below we mainly study based on the energy functional partition method. Here we learn the simple knowledge of the snake model, and the level set model will be mentioned in the post.
A segmentation method based on energy functional function:
The method mainly refers to the active contour model (active contour model) and the algorithm developed on it, the basic idea is to use continuous curve to express the target edge, and define an energy function to make its independent variable including The edge curve, Therefore, the segmentation process is transformed into the process of solving the minimum value of the energy functional, which can be solved by solving the Euler (Euler) function. Lagrange) equation to achieve the curve position where the energy reaches the hour is the contour of the target.
An active contour model is a mechanism for locating image features from top to bottom, and the user or other automatic processing process by placing an initial contour near the target of interest, the deformation of the outer energy of the inner Energy (internal force) and the external energy (outside force) to move the contour toward the edge of the object, While the internal energy maintains the smoothness and topology of the active contour, the active contour converges to the edge of the object to be detected when the energy is minimized.
First, the Theory of curve evolution
The Curve evolution theory is applied in the horizontal concentration, but I feel that this knowledge is common in the segmentation method of the active contour model, so here we have a simple understanding.
The curves can be easily divided into several types:
Curvature has a positive and negative curvature, so the normal curvature force, the direction of the curve is different: some parts of the outward expansion, while some parts are moving inward. The situation is as shown. The blue arrows in the figure have a negative curvature and a positive curvature at the green arrows.
A very special mathematical property of a simple curve that is driven by the curvature force (that is, the two derivative of the curve) is: All simple curves, no matter how serious the distortion is, as long as it is a simple curve, the force of curvature will eventually degenerate into a circle, and then fade away (as you can imagine, The curvature of all points of a circle is toward the center of the circle, so it will slowly shrink so that it eventually fades away.
The two important parameters describing the geometric characteristics of a curve are the unit normal vector and the curvature, the unit method vector describes the direction of the curve, and the curvature expresses the degree of curve bending. The theory of curve evolution is to study the deformation of curves over time by using only geometrical parameters such as unit normal vector and curvature of the curve. The evolution of the curve can be considered as a representation of the curve under Force F, the direction of N at a velocity v evolution toward the normal. And the speed is positive and negative, so there is if the symbol of the speed V is negative, indicating that the active contour evolution process is facing the outside direction, such as positive, it is the evolution of the internal direction, the activity curve is a single direction evolution, it is not possible to evolve in two directions at the same time.
So the evolution of the curve is the process of the different forces on the curve, the force can also be expressed as energy. All things in the world tend to be of the least energy. Because at this time it is the most balanced and consumes the least (do not understand?) )。 Then in the image segmentation, our goal is to find the contour of the target, then in the outline of the target, the whole contour of the energy is the smallest, then the curve in the image anywhere, can because the force toward this energy of the smallest contour evolution, when the target contour, because the energy is minimal, force balance, The speed is 0, also will not move, this time the target is divided by us.
That's the key now: 1 What do we mean by this contour, 2) how these forces are constructed and what forces are used to minimize the energy of the target contour?
The description and solution of these two problems derive a lot of segmentation methods based on active contour model. The answer to the first question forms two schools: If the contour is an argument, then it is the parametric active contour model (parametric active contour model), typically snake, if the contour is a geometric representation, So is the geometric activity Contour model (geometric active contour model), which is the level set method, which is a two-dimensional contour embedded in the three-dimensional surface of the 0 horizontal plane to express (can be understood as a mountain contour, some contours cut the peak, The horizontal shape of this high mountain is out, that is, the contour, so the evolution curve or surface of the low dimension is expressed as the indirect expression of the 0 level set of the high-dimensional function surface (the change of this contour, we can adjust the shape of the mountain or adjust the height of the ascending line to get it intuitively).
For the second problem, the two major schools are confronted with the problem, they all need to solve the most critical problem. What forces can achieve the goal of segmentation? This will be in the back of the chat.
Second, snakes model
Since the snakes model was Kass in 1987, various methods of image segmentation and recognition based on active contour lines have sprung up rapidly. The basic idea of snakes model is very simple, it takes the shape of some control points as template (contour line), through the elastic deformation of the template itself, and the local characteristics of the image to match to achieve a harmonic, that is, some kind of energy function minimization, complete the segmentation of the image. Then through the further analysis of the template to achieve the understanding and recognition of the image.
In simple terms, the snake model is a deformable parametric curve and corresponding energy function, with the goal of minimizing the energy objective function, controlling the parametric curve deformation, and the closed curve with the minimum energy is the target contour.
The purpose of constructing the snakes model is to reconcile the contradiction between the upper knowledge and the underlying image features. Whether it is brightness, gradient, corner point, texture or light flow, all the image features are local. The so-called locality means that the characteristic of a point in an image depends only on the neighborhood of the point, and is independent of the shape of the object. But people's understanding of objects is mainly from its contour. How to effectively blend the two together is the strength of the snakes model. The contour line of snakes model carries the upper level knowledge, and the matching of contour line and image is fused with the bottom feature. These two items are expressed as the internal force and the image force of the energy function in the snakes model.
The deformation of the model is controlled by many different forces acting on the model at the same time, and each force produces a portion of the energy, which is expressed as an independent energy term for the energy function of the active contour model.
The snake model first needs to give an initial curve near the area of interest, and then minimizes the energy functional, allowing the curve to deform in the image and keep approaching the target contour.
The original snakes model proposed by Kass is composed of a set of control points: V (s) =[x (s), Y (s)] s∈[0, 1], which are formed by a straight line to form the contour line. where x (s) and Y (s) represent the coordinate positions of each control point in the image, respectively. S is an independent variable that describes the boundary in Fourier transform form. Define the energy function (reflecting the relationship between energy and contour) on the Snakes Control point:
The 1th is called the elastic energy is the first derivative of the modulus of V, the 2nd term is called the bending energy, is the second derivative of v modulus, the 3rd item is the external energy (external force), in the basic Snakes model generally only take control points or the location of the image local features such as gradient:
Also known as Image force. (When Contour C is near the edge of the target image, the gradient of C will increase, then the energy of the equation is minimal, and the curve Evolution Formula knows that the point will change to 0, that is, stop moving.) In this way, C stops at the edge of the image and completes the segmentation. So the premise is that the target in the image of the edge is more obvious, otherwise it is easy to cross the edge. )
The elastic energy and the bending energy are collectively the internal energy (internal force), which is used to control the elastic deformation of the contour line, which plays a role in maintaining the continuity and smoothness of the contour. The third represents the external energy, also known as the image energy, which indicates that the deformation curve coincides with the local characteristics of the image. The internal energy is only related to the shape of the snake, not to the image data. And the external energy is only related to the image data. At a certain point the alpha and β values determine the degree to which the curve can stretch and bend at this point.
Finally, the segmentation of the image is transformed into solving the energy function etotal (v) minimization (minimizing the energy of the contour). In the process of minimizing the energy function, the elastic energy quickly compresses the contour line into a smooth circle, and the bending energy drives the contour line into a smooth curve or line, while the image force draws the contour line closer to the image's high gradient position. The basic snakes model is working under the combined action of these 3 forces.
Because the points on the image are discrete, the algorithms we use to optimize the energy function must be defined in the discrete domain. So the solution of energy function etotal (v) minimization is a typical variational problem (in differential operations, the independent variable is usually a coordinate variable, the dependent variable is a function, and the variable is a function, because the variables are functions, that is, the so-called functional in mathematics. The problem of finding the extremum of a functional function is mathematically called the variational method.
Under the condition of discretization (digital image), the answer to the final question by Euler equation is equivalent to solving a set of difference equations: (Euler's equation is the differential expression of the functional extremum condition, the Euler equation of the functional is solved, then the stationary function of the functional extremum is obtained, and the variational problem is transformed into the differential problem.) )
The external force F =−∇p, Kass, etc. will be discretized, the X (s) and Y (s) are constructed two five diagonal arrays of linear equations, by iterative calculation to solve. In the practical application, the control point is used as the starting position of the snakes model, and then the energy function is iterated.
The above is just a simple understanding of snake, if you want to go deeper, please refer to other more professional literature. The level is limited, the mistake is unavoidable, still hope to correct.
Reference:
Li Tianqing ET, Snake model Review, Computer Engineering, 2005, 31st vol. 9th
Active Contour model (active contour models)