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.)