Digital Snow Prints

Theoretical Background
Practical Applications
Possible Extensions
Subdivision of Tasks

Theoretical Background:

The technique of animal tracking using snowprints dates as far back as primitive hunter/gatherer societies. Early man needed to be able to correctly recognize an animal's tracks and deduce information to ensure its swift capture for the purposes of consumption. (The deer, bobcat, and human have distinctive prints) Since then, the science of animal tracking has been improved enormously. Naturalists have set up bait stations for the express purpose of monitoring the prints of the animals they attract. This technique has proved useful in studying species that are widely dispersed over a geographical region. Furthermore, biological study of animal behavior and perambulation has revealed the wealth of data an expert tracker can deduce from a set of animal prints. Specifically, careful observation of tracks can indicate the animal's speed of travel and its physical condition.

Animal gait is a function of the animal's morphology and its speed of travel. Every animal has a distinctive pattern of prints which is characterized by three measurements: stride, straddle, and intergroup. The stride is the longitudinal distance between footprints made by the same apendage. The intergroup is the longitudinal distance between footprints of the anterior or posterior. The straddle is the lateral distance between the footprints of anterior or posterior.

Today, animal tracking has been further improved by the use of the helicopter as a means of locomotion for the tracker. This technique is used frequently in Alaska and Canada to monitor animal populations that reside in open habitats. Helicopter tracking allows the tracker to cover far more ground than on foot, but it increases the likelihood of misidentifying tracks or losing the trail altogether.

It is to this enormous wealth of knowledge that the Digital Snow Prints Group adds yet another innovation: automated animal tracking using signal processing techniques. This development will merge the intuition and experience of expert animal trackers with the computational speed of current computers. The results of this new technology are promising.

Beyond the science of animal tracking, this project also employs the signal processing techniques of convolution and time-domain analysis. Each animal print is converted to a matrix representation in Matlab. These are compared against images located in the detection area. The snow scene is analyzed using a matched filter. A flipped, conjugated version of each print matrix is shifted and convolved repeatedly across the scene. This results in a correlation value that measures the similarity between the two signals. According to the Cauchy-Schwarz theorem, this correlation value will be maximized when the correlated areas are identical. A threshold value is defined for the matched filter. When the correlation value is above this threshold, a match is found. Otherwise, there is no match.

Methods Employed:

There are 3 different techniques employed in this project to detect the animal prints: straight convolution, convolution with whitespace elimination, and convolution with known gait optimization. Each technique varies in terms of its complexity and computational efficiency. The various algorithmic tradeoffs are analyzed below.

The straight convolution algorithm uses a brute force detection and scanning. A small window sweeps over the detection area searching for prints. The current window is compared to the possible permuations of prints. Each image is compared against all stored animal prints and all possible rotations of those prints. The correlation values are checked against a set threshold. Images above the threshold are marked as a positive match for that particular animal. Each match is indicated by an 'x' in the graphical interface. An interpolation algorithm is used to connect these points and plot the projected path of the animal. This algorithm is relatively simple, but extremely slow. It requires searching the entire detection area and matching the images against empty space. This method is extemely wasteful which contributes to the the slow processing speed of the algorithm.

The second method of convolution with whitespace elimination requires a slight modification in the initial stages of the algorithm. Instead of checking the entire detection area against the print images, this method pre-scans the area for white space. Each print is outlined with a fitted box that marks off its area. Then, the detection area is multiplied by a whitespace remover to ignore the extraneous space. The original correlation algorithm is then run on the remaining portions of the detection area. The search is much more efficient because it only spends computational time on areas that contain prints. Since most of the detection area is composed of white space, this method is much more efficient. This technique is much more effective in vast snowscapes with few prints.

The third method of print matching exploits properties of gaits . The algorithm begins by eliminating all whitespace as in the previous algorithm. Then it scans for a single instance of an animal print. Once the print is identified using convolution, the locations of the rest of the prints are predicted using gait information stored in a lookup table. (The data in the lookup table assumes a walking gait for each animal.) This method is far more computationally efficient than the previous two because it requires less image matching. Reading data out of a lookup table is significantly faster than comparing each print separately. Moreover, this method enables the snowprint tracker to detect animals travelling at specific speeds. If additional gait information were loaded into the lookup table, animal prints could be selected not only by their type, but also by their speed of travel.


The data show that naive convolution requires approximately 11 times more flops and 15 times more CPU time than convolution with gait optimization. Convolution with white space removal requires about 4 times more flops and 7 times more CPU time than convolution with gait optimization. The snow print detection method that uses gait information is clearly the most efficient; however, it has limitations. The procedure assumes the animals are walking at a constant speed; therefore, it is extremely inefficient at tracking animals moving at any other pace. Using convolution with white space elimination is preferable over gait optimization in the case of varying gaits.

Practical Applications:

Animal trackers can take digital pictures of animal prints they observe while tracking on foot or from the air. These images can be converted to an image matrix and analyzed by the snowprint tracker at a later time. The data can be used to confirm or refute the initial conclusions of the tracker. This can help add credibility to new discoveries regarding animal population sizes or migratory patterns that are often controversial and difficult to substantiate. Environmental groups attempting to estimate the population sizes of certain species will find this program especially helpful in their legal battles to classisfy a species as endangered.

In addition, the snowprint tracker can be used as a sort of "assistant" to the tracker in the field. Portable computing technology allows bringing this program into the field and using it as the primary tool for tracking. This could be very beneficial to amateur trackers with little experience, or for helping expert trackers searching for hard to track species. Moreover, this program will prove extremely efficient for analyzing areas of heavy animal traffic. An aerial view of hundreds of prints can be analyzed in a matter of minutes with tremendous accuracy. This task could take a tracker hours or even days to complete. Computer analysis can pick specific animals or specific gaits from a much larger collection of prints. Thus, a tracker can determine the fraction of bobcats that are chasing prey rather than walking leisurly through the forest.

Beyond the obvious benefit to trackers and naturalists, this program could also have military applications. Aerial satellite surveillance can capture digital images of soldier footprints for large armies. These images can be analyzed to determine the size of the advancing army, the speed and direction of their travel, and the possible threats they pose to enemy territory. This intelligence data could all be generated automatically by sophisticated computers and relayed to local commanders on a constant basis. The future possiblities of snowprint analysis are tremendous.

Possible Extensions:

The project capabilities could be expanded through the addition of more detailed gait information for each animal. Such information would improve the convolution performance as well as determine the speed at which the animal is moving. Initial investigations indicate that frequency analysis of the snow scene could reveal the necessary gait information. Wavelets could be used to improve the white space removal function because of their edge-detection abilities.

Subdivision of Tasks:

Zachary wrote the Matlab code and implemented all of the algorithms. He designed and executed the described enhancements to the original brute force convolution method.

Harris wrote the text for the final report, project description, and progress report. He researched the use of wavelets in our project, though those techniques investigated were not implemented.

Hilary put forth the snow print idea! She designed the project print images in XFIG. Also, she designed the poster and helped with algorithm descriptions. She edited most of the text on this webpage.

Alexa designed and coded the webpage, integrating the project information and keeping it current. She contributed to the Matlab coding by writing the method comparison section. She constructed the poster with Hilary.