Statistical pressure snakes
(or snakes for short) are a method to
analyze an image. A closed curve is parameterized through a set of
control points
which form the snake. The goal of the snake is to wrap around a
specific image target. In practice, such snakes can be used to track
targets moving along the image, as well as identify target properties
such as size and shape. If a video signal is provided, then the snake becomes a continuously updating contour line around the target. In traditional black and white images, the
target might be defined in terms of a specific gray level. The snake
will then outline a continuous contour in the image about pixels with
the target gray level. While computing the parametric snake curve,
the control points are moved along the
image to attempt to satisfy various snake conditions. In particular,
the snake points are moved in a manner to satisfy some smoothness
criteria, as well as an equal-point-spacing criteria. An image
pressure force is used to make the snake outline the image target.
Various techniques have been established to include image pressure.
The current work is based on statistical pressure snakes developed by
Christopher Smith at the University of New Mexico, which utilize a pressure force function developed by
Ivins and Porrill. Compared to classical pressure
snakes, this pressure force function will make the snake explore an
image and outline the target. It is not required to setup all
initial snake points outside of the target, as is the case with the
older image pressure methods.
This snake algorithm
was found to provide a fast and reasonably robust solution, applicable to handling real-time video image processing with current computer technology. However,
it only operated on a gray scale image. This snake routine was
modified to operate on a full color image instead. The goal of this
change is to obtain a new snake algorithm that is more robust to
lighting changes and will be able to track an object even when
portions of this object are subjected to very different lighting
conditions. Recent work at the Intelligent Systems and Robotics Center at Sandia National Labs resulted in an enhanced visual snake algorithm. The algorithm has been tested in hardware where an operator is able to click on a single color target and have the computer automatically track it. In particular, this was shown to be effective even in an unstructured, cluttered environment where the lighting might change (clouds come by, shadows are thrown on target, etc.). Little to no tuning of the default snake parameters was required. The snake algorithm is programmed using the UMBRA framework, making it very modular and easy to integrate into other projects.
A second generation color snake algorithm was able to also handle a target defined through multiple colors.
Using the snake to track the target, it is possible to compute various degrees of freedoms of the target relative to the sensor. For example, by computing the centroid and area inertias of the snake, we are able to compute a pointing vector and determine the principle axis orientations. Depending on the amount information available about the target (unknown target or a well-known target), other degrees-of-freedom coordinates can be computed. A hardware demonstration has been developed where the snakes are used to allow an operator to visually guide a ground robot. Current research into these snakes involves speeding up the computation time and investigating enhanced versions of the color tracking algorithm. Applications of this technology involve a multitude of relative motion sensing and control (human-in-the-loop robotic system or autonomous robotic vehicles, rendez-vous and docking sensor for aerospace vehicles, etc.)