A safe and precise landing system for Mars will match features seen in descent imagery against a map constructed from orbital imagery. The spacecraft attitude and altitude are known, but lateral position is known only poorly. From attitude and altitude, one can generate a mapping (homography) that allows the descent image to be warped into the orthonormal viewpoint of the map. Since there now will be two images from the same viewpoint, normalized cross correlation can be used to locate in image 2 the positions of features seen in image 1. These are well-known techniques, but this process must be performed ten times a second using relatively slow space-qualified hardware.
Normalized cross correlation measures how closely a small template image compares to a larger search image at each point in the search image. The cross correlation score is adjusted to reduce the influence of contrast and brightness across the search image, resulting in a normalized cross correlation score.
An FPGA (field programmable gate array) implementation of the normalized cross correlation process was developed to allow real-time performance to be achieved. The implementation enables normalized cross correlation of up to 100 21×21 pixel templates across independent search areas of 100×100 pixels. It uses only a fraction of the FPGA fabric, so it is possible to share several functional components on a single FPGA. The hardware implementation is complete, and has been demonstrated on images of Mars-like terrain taken from a helicopter at frame rates of 10 Hz using low-power, space-qualified hardware.