Frequently Asked Questions (FAQs) for Gradient Vector Flow

  1. Can GVF be applied to gray level edge maps?

    Yes, GVF can be applied to both gray level and binary edge maps in the identical fashion.

  2. How do I compute GVF on a gray level image?

    Step 1. If objects of interest are present as line-like structures in the image, the input image can be used directly as the edge map, goto Step 3, else if objects of interest are present as homogeneous regions which boundaries separate the regions from their background of different intensity value, goto Step 2, otherwise, preprocessing steps are required to transform the image into one of the above two cases.

    Step 2. Compute the edge map from the input image.  Note that the edge map can be computed using either any type of edge detectors or simply compute the gradient magnitude of the blurred image. 

    Step 3. Normalize the intensity values of the edge map so that their values fall between 0 and 1.

    Step 4. Input the normalized edge map to the GVF solver.

    Step 5. Visualize the GVF with a graphical visualization tool that can display vector field. Tip: one should expect to see vectors pointing towards object boundaries perpendicularly from both sides.  If one sees vectors from opposite side of object boundaries pointing in the same direction, then the GVF is computed incorrectly. One common cause of this problem is due to applying GVF solver directly on an image instead of its edge map when objects of interest are homogeneous regions.

  3. Why GVF snake gives wrong results on my gray level images?

    This is typically caused by the mistake of using gray level images directly as edge maps when objects of interest in the image are in fact present as homogeneous regions. In this scenario, the problem can be often corrected by following the Step 2 of Answer 2.

  4. Can GVF be used independently from snakes (active contours)?

    GVF can be considered as a particular type of transformation to the original image. GVF snake is just one application of GVF. In general whenever a gradient of an edge map is involved, GVF can be a potential candidate. In particular, a few iterations with GVF PDE will give a result close to the original gradient field but regularized in a spatially-varying way so that noises are reduced but shape boundaries are preserved. More iterations will make the resulting GVF field suitable for attracting active contours. Meanwhile, GVF can be considered also as a particular type of shape representation when its converged form is used. It can be applied on binary or line-drawing shapes and used as a way to encode shape.

  5. Are there other people who use or discuss about GVF?

    It seems there are quite a few as listed by the Google Search Engine.

By Chenyang Xu - Back to GVF project page