Gradient vector flow
Gradient Vector Flow
Gradient vector flow (GVF), a computer vision framework introduced by Chenyang Xu and Jerry L. Prince [1] [2], is the vector field that is produced by a process that smooths and diffuses an input vector field, and is usually used to create a vector field that points to object edges from a distance. It's widely used in object tracking, shape recognition, segmentation, and edge detection. In particular, it's commonly used in conjunction with active contour model.

Background
Finding objects or homogeneous regions in images is a process known as image segmentation. In many applications, the locations of object edges can be estimated using local operators that yield a new image called an edge map. The edge map can then be used to guide a deformable model, sometimes called an active contour or a snake, so that it passes through the edge map in a smooth way, therefore defining the object itself.
A common way to encourage a deformable model to move toward the edge map is to take the spatial gradient of the edge map, yielding a vector field. Since the edge map has its highest intensities directly on the edge and drops to zero away from the edge, these gradient vectors provide directions for the active contour to move. When the gradient vectors are zero, the active contour will not move, and this is the correct behavior when the contour rests on the peak of the edge map itself. However, because the edge itself is defined by local operators, these gradient vectors will also be zero far away from the edge and therefore the active contour will not move toward the edge when initialized far away from the edge.
Gradient vector flow (GVF) is the process that spatially extends the edge map gradient vectors, yielding a new vector field that contains information about the location of object edges throughout the entire image domain. GVF is defined as a diffusion process operating on the components of the input vector field. It is designed to balance the fidelity of the original vector field, so it is not changed too much, with a regularization that is intended to produce a smooth field on its output.
Although GVF was designed originally for the purpose of segmenting objects using active contours attracted to edges, it has been since adapted and used for many alternative purposes. Some newer purposes including defining a continuous medial axis representation[3], regularizing image anisotropic diffusion algorithms~\cite{YuxTIP06}, finding the centers of ribbon-like objects~\cite{HanxNI04}, constructing graphs for optimal surface segmentations~\cite{MirxCMIG17}, creating a shape prior~\cite{BaixCMIG18}, and much more.
Related Concepts
References
- ^ C. Xu and J.L. Prince, "Gradient Vector Flow: A New External Force for Snakes," Proc. IEEE Conf. on Comp. Vis. Patt. Recog. (CVPR), Los Alamitos: Comp. Soc. Press, pp. 66–71, June 1997, http://iacl.ece.jhu.edu/pubs/p087c.pdf
- ^ Xu, C.; Prince, J. L. (1998). "Snakes, Shapes, and Gradient Vector Flow" (PDF). IEEE Transactions on Image Processing. 7 (3): 359.
- ^ Hassouna, M.S.; Farag, A.Y. (2009). "Variational curve skeletons using gradient vector flow". IEEE Transactions on Pattern Analysis and Machine Intelligence. 31 (12): 2257–2274.