The Sign of Laplacian of Gaussian operator has proven to be useful in visual tracking of natural terrain features. Essentially, the SLOG is very similar to the approach of convolving an image with a Laplacian of Gaussian kernel and finding zero crossings to extract edges, except that in SLOG computation, the sign is recorded rather than the existence of a sign change. The result is a segmentation of regions, rather than extraction of lines. In practice, the SLOG is actually calculated using a difference of Gaussians, not a Laplacian of Gaussian. Although the two are not numerically identical, they possess similar properties, but the difference of Gaussians allows kernel separation for faster computation.
The image above shows a section of an image taken in the sandbox at NASA Ames Research Center in Moffet Field CA using a CCD camera mounted on the Marsokhod rover. This image shows a region of the full image which will be used as an area of interest (AOI) for correlation search. The AOI contains a terrain feature, in this case a lightly colored rock, which is the same rock previously stored as the feature template.
The next two images show low pass filtered versions of the AOI, where the image on the left was filtered using a higher cutoff frequency.
On the left above is the difference image, which is a band-pass filtered version of the original image where the passband is given by the cutoff frequencies of the two low pass filters applied to the original image. In the middle, the difference image is binarized by thresholding the image at zero, so that all pixels with a negative or zero value become zero and all pixels with a positive value become one. The resulting image is packed into 32 bit words, so that an entire row of the search space fits into four words in the computer's memory. On the right, the 32x32 pixel template has been filtered in the same way and stored in 32 bit words.
The correlation can now be done in binary using the XNOR operation and single bit shifts to match the template against the search region. For every pixel where the template matches the area of interest for a given translation of the template, the XNOR yields a one, and where the template and AOI do not match, XNOR yields zero. By finding the weight of the result (the number of pixels of value one) we have a measure of match between the template and the area of interest for every point in the search space. The SLOG takes advantage of binary operations to run at much faster speeds than SSD and normalized correlation.
The above image shows the correlation surface for the area of interest above. The white pixel on the right side of the correlation surface corresponds to the highest weighted result of the XNOR operation, which represents the best match. The figure below shows the point on the original image plane corresponding to that correlation peak.
Also, the band-pass filtering inherent in the SLOG computation makes the approach more robust to both high frequency noise and low frequency DC offsets (brightness changes).
I would like to thank Dave Wettergreen, Hans Thomas, and Maria Bualat for their help this past summer in working with SLOG correlation and visual tracking and servoing in the Intelligent Mechanisms Group at NASA Ames Reserarch Center. In spite of ongoing excitement over Nomad's Atacama Desert Trek and the Mards Pathfinder landing, they found time to support and advise me in my work there. The field tests of the above tracking method in August using the Marsokhod rover proved invaluable, as did the entire experience.
I'd also like to thank the rest of the IMG for their help during my stay, especially Dan Christian for pointing out obvious solutions to hardware problems which I kept overlooking, Kurt Schwehr and Paul Henning for advice on a few software bugs, Eric Zbinden for his usually insightful comments, and Mike Sims for his continuing support for this effort.
This page is maintained by Matthew Deans, a
robograd
in the Carnegie Mellon University School of Computer Science.
Comments? Questions? Mail me at deano@ri.cmu.edu Last Modified September 10th, 1997 |