This paper consists of six main sections which describe:
Single-Image Views
The first step in the stereo processing of a data set from
TASC's airborne imaging system is to bring individual
image frames into ArcView for display and interactive selection of
conjugate points.
In the case of images acquired from three independent video cameras,
the three image bands are brought into alignment, and the images are
saved in RGB TIFF format (one of the formats accepted as an
ArcView image theme). The Stereo Extension aligns the bands
according to pre-calibrated
angles specifying the relative alignment of the three video cameras.
In addition, an ArcView TIFF world file is created for each image.
This allows users to interpret the location of graphically-selected
point features in the image in terms of coordinates in the imaging
system's focal plane.
The image is a combination of data from three video cameras with aperture filters for three bands:
Note that the image appears as the only theme in the ArcView View. It has an associated TIFF world file, which provides image coordinates (x,y) in the image plane, normalized by the focal lengths of the lenses (roughly 16 mm) used on the video cameras. These coordinates range from about (x = -0.195, y = 0.16) at the upper left corner of the image to (x = 0.195, y = -0.16) at the lower right corner. Doubling the inverse tangents of these values gives the angular field of view: about 22 degrees from side to side (across the flight track) and almost 18 degrees from top to bottom. The area viewed on the ground is roughly 580 by 480 meters.
Creating Image Views Automatically
As mentioned above, the Stereo Extension supports
automatic creation of single-image TIFF files.
The choice of which images to process is made by the
user via graphical selection of image nadir points.
Figure 2 shows nadir points for images from five
east-west flight lines over Huntington Forest, with
eight having been chosen using ArcView's
selection tool. The view shown is projected in
Universal Transverse Mercator (UTM) coordinates,
Zone 18. (North is up.) The image backdrop is a portion of an
automatically generated mosaic of approximately 600 individual images
of Huntington Forest and the surrounding area.
The area shown is approximately 2.6 by 1.8 kilometers.
In addition to automatically creating a band-aligned TIFF image and the associated image-coordinates world file, the Stereo Extension also creates a separate, dedicated ArcView View for each image. It then adds the appropriate image to the view as an image theme. Each view is named with the numerical identifier of the image it displays. Figure 3 illustrates a stack of automatically-created views and their image themes.
Defining and Marking Conjugate Points
The Stereo Extension supports interactive selection of
conjugate point pairs, triplets, etc. (depending on the
number of images overlapping a given point).
A custom ArcView tool allows users to graphically select a point
feature in any image by clicking on its
location in the image. Once a point is selected, the user is prompted
to assign a numerical identifier for the point.
The user can work in any order, selecting features in a single image or switching back and forth among overlapping images. The user may choose any positive integer value for the identifier (within the standard range supported by the machine), but must use a single identifier only once for a given image. The same identifier must be used when selecting the same feature in two or more images.
The points selected by the user are stored in point shapefiles. Each point has the user-provided identifier as an attribute. There is one shapefile per image. Due to the presence of the image-coordinate world files described above, the points locations are retrieved directly in image coordinates and inserted in the shapefiles without further transformations.
Although the features surrounding the points appear similar in the two images, their absolute positions (i.e., image coordinates) shift considerably. This is due to the change in perspective as the aircraft flies overhead. The lower image was acquired first, and the direction of flight is toward the top edge of the images. Point 114 appears close to its top (leading) edge, but shifts toward the image center in the upper image. This shift in image coordinates, coupled with knowledge of the aircraft position and attitude at the acquisition time of each image, fully constrains the three-dimensional location of point 114.
Going To Three Dimensions
When the user decides there is sufficient information in the point
location shapefiles, the Stereo Extension can be used
to launch a batch process. This process computes a
three-dimensional location (latitude, longitude, and elevation)
for each distinct point identifier (as long as that point has
been identified in two or more images). The camera positions and attitudes
resulting from the post-mission navigation processing, mentioned in the
Introduction, are used together with the image coordinates to find best-fit
estimates of location.
The results are stored in a comma-delimited file and include latitude, longitude, point identifier, and elevation. The file can be imported into an ArcView project as a table, transformed into an event theme, and displayed using native ArcView capabilities. The data can also be further manipulated using Spatial Analyst to interpolate an elevation grid (surface) or create a contour map.
The map locations of these object-space points are denoted through the 'Point Elevations' event theme, and their elevations are color-coded (as a 'Graduated Color' legend in ArcView). Behind the point symbols is a grayscale-shaded grid theme, representing an interpolated surface from Spatial Analyst. The shading changes in discrete increments with every 15 meters of elevation. The area of the grid covers the 800 by 520 meter extent bounding the points. The 4-meter mosaic displayed in Figure 2 is used as background to provide a frame of reference. Point 114, circled in Figure 4, is again circled here.
The display covers the area from Lilypad Pond on the left to the somewhat higher Arbutus Pond in the upper right. The total local relief is slightly over 100 meters. The two ponds are separated by a ridge, striking northwest-southeast. The presence of this ridge is indicated independently by the late-afternoon shadows on its northeast slope.
Software and System Environment
All the work described in this paper was performed in the Windows NT(r) 4.0
system environment. Most of the interactive stereo processing capability
is written in Avenue(tm), but more specialized and compute-intensive
photogrammetric operations are performed by native-code executables
written in C++. One such instance is the conversion of raw image data to
band-aligned TIFF image files. The other is the computation of
three-dimensional
point locations from the conjugate point shapefiles and the camera
stations, which were provided independently by the navigation
post-processing system.
For convenience, the ArcView scripts, menu items, and conjugate point selection tool are bundled in a single user-defined ArcView extension. This allows the Stereo functionality to be included in new ArcView projects by simply invoking the Extensions dialog (accessed from the ArcView File menu when the project window is active). User-defined extensions are a feature of ArcView 3.0. The extension capability provided a significant convenience for this project, as opposed to importing and compiling individual scripts, then creating the stereo menu, menu items, and point selection tool. For further information about developing user-defined extensions, see the work by Ofenstein, 1996.
Summary and Concluding Remarks
Our Stereo Extension provides a convenient way to process imagery
and navigation data from TASC's low-cost airborne imaging system
in order to estimate point terrain elevations.
In addition, it
provides a framework in which to explore automated approaches to terrain
extraction from aerial imagery.
The extension takes advantage of ArcView world files in a novel way to conveniently extract point locations in image coordinate space. It provides automatic creation of views for user-selected images, provides a tool for selecting and labeling conjugate points in overlapping imagess, and launches a C++ process to determine three-dimensional object-space locations. The results may be imported as an event theme for display as point-wise elevations or interpolation using Spatial Analyst.
Possibilities for improvements include checks to help manage the user-assigned conjugate point IDs (e.g., prevent users from repeating the same ID in a given image) and additional display capabilities. One possibility is to show the epipolar line segments in one image, given a point location in another image, to guide or constrain the user's search for the conjugate point.