Costrained Optimal Surface Tracking
3.Profile Tracking
Correct correspondence at the signal level needs to be accomplished to supplement the results of feature matching. The results from feature matching are only the coordinates of some points on extracted features. It thus represents only a sparse surface model. The proposed signal matching algorithm is driven from ground space so it is, initially, completely separate from the feature
matching process. A regular grid is first established in object space. The method is designed to
find the elevation profile along each gridline.
The VLL concept (Bethel, 1986) is adopted for use in this algorithm. Each grid line is extruded
vertically to create a 2D grid in a vertical plane. Grid cells are defined by a planimetric interval
and a vertical interval. Each cell in this array is projected into the left and right photos and a
match coefficient over a small region surrounding the point. This process is done similarly for
all points in a grid profile creating a vertical plane of grid cells, each characterized by a match
coefficient. If these coefficients are scaled into gray levels for display, then one can visualize the
process. The picture of an approximated elevation profile would appear as a line on a noisy
background (Figure 2).

Figure 2: An approximated elevation profile
The dynamic programming technique for line following (Bethel et al., 1998) is applied here to
search for the otimal profile from a correlation-based cost matrix. This variation of the
technique uses path length as the stage, and direction as the state. The technique that we are
using here was originally designed for tracking a line in 2D which minimizes the sum of costs
encountered while going from the starting poing to the ending point of the line. This is similar to
our requirment but we wish to restrict out search to paths which only move from left to right.
An elevation profile does not move in one direction and then move backword. Therefore, at a
certain point (x, y), there are five possible directions to move to. The path propagation mask is
stepped exhaustively through the cost matrix once for each increment in path length, from 2 to
the maximum length. The decision must be made for each of the five locations in the path
propagation mask at each position of the mask. The optimal elevation profile from the starting
point to the ending point whose cost is minimum be determined as in Equation 2.
where c(x, y; x+i, y+j) = A local cost required to pass through points (x, y) to point (x+i, y+j).
fn(x, y) = The minimum cost required to pass thtough point (x, y) to end an end point at current
(or shorter) path length = n.
During the optimization process, the object coordinates from matched features are used as constraints. The signal-derived profile in the vicinity of such features may be in error. Conversely, the dynamic programming search would try to pass through the feature points if they were assigned a very low cost. We can then compel or the search algorithm to pass through features by providing a very small cost to any cells which represent feature points. Once the optimal profiles from all grid lines are obtained, the object surface model can then be reconstructed.