Mars Terrain Generation
- Created: Wednesday, 01 December 2010
A suite of programs for the generation of disparity maps from stereo image pairs via correlation, and conversion of those disparity maps to XYZ maps, has been updated. This suite implements an automated method of deriving terrain from stereo images for use in the ground data system for in-situ (lander and rover) cameras. This differs from onboard correlation by concentrating more on accuracy than speed, since near-real-time is not a requirement on the ground. The final result is an XYZ value for every point in the image that passes several quality checks. A priori geometric camera calibration information is required for this suite to operate.
The suite is very flexible, enabling its use in many special situations, such as non-linearized images required for applications like the Phoenix arm camera, or long-baseline stereo, where the rover moves between left and right images. The suite consists of:
- marscor3: The primary correlation program used by MER, PHX, and (soon) MSL. Requires a low-resolution disparity map as input, and refines it.
- marsjplstereo: A wrapper around a much faster correlator that assumes the images are epipolar aligned (“linearized”). Creates the input for marscor3.
- marsunlinearize: Takes a linearized correlation result and unprojects it back to raw geometry. Creates the input for marscor3 in some non-linearized situations.
- marsfakedisp: Creates the input for marscor3 in some non-linearized cases by assuming an approximate surface.
- marsdispinvert: “Inverts” a disparity map (e.g., from L→R to R→L) to create an input for marscor3.
- marsxyz: Takes the disparity map (e.g., from marscor3) and generates XYZ coordinates for each pixel.
- marsfilter: Filters the output of marsxyz to mask off undesirable areas (such as the rover itself, horizon, etc.).
- marsrange: Takes the results from marsxyz and computes range from the camera for each pixel.
While the underlying correlation coef- ficient computation is nearly the same as in the original, the algorithms driving how that correlation is accomplished have been completely redesigned. In addition, significant new capability exists, such as non-linearized stereo, R→L inversion, masking, and range computation. Significant additions to marsxyz’s filtering capability to reject bad correlations have also been made.
This work was done by Robert G. Deen of Caltech for NASA’s Jet Propulsion Laboratory.