Computer Vision Demonstration Website

Electronics and Computer Science
University of Southampton

Active Contours & Snakes

The Greedy Snake algorithm is a feature extraction technique, also known as active contours. It works like stretched Elastic Band being released. The Initial Points are defined around feature to be extracted. The points then move through an iterative process to move to a point with the lowest energy function. in the applet below, the user can draw an elipse on the image. The animate button starts the iterative process.


How it works

The explicitly defined ellipse creates a pre-defined number of points (based on the snake spacing). These points move to the lowest energy point in the Local Neighbourhood, defined by the "Energy Function". This continues until the snakes stop moving.

There are three components to the Energy Function:

  • Continuity
  • Curvature
  • Image (Gradient)

Each Weighted by Specified Parameter:

Total Energy = α · Continuity + β · Curvature + γ · Image

Choose different values dependent on Feature to extract:

  • Set α high if there is a deceptive Image Gradient
  • Set β high if smooth edged Feature, low if sharp edges
  • Set γ high if contrast between Background and Feature is low


Image processing classes:

Demo framework:

The pages were designed and developed for educational purposes only, to demonstrate how computer vision techniques work. They are designed for no other purpose and neither the authors nor their institutions accept any liability concerning use of these pages.


Mark Nixon & Alberto Aguado, 2002, Feature Extraction & Image Processing, Newnes - Snake Applet & Explanation of Algorithm - Another Snake Applet – Explanation + Matlab Implementation – Repository of Greedy Snake Links


ECS | Feature Extraction & Image Processing | © 2005 University of Southampton

University of Southampton