As shown below, CARS pipeline is organized in sequential steps from input pairs (and metadata) to output data. Each step is performed tile-wise and distributed among workers.
For each stereo pair:
Create stereo-rectification grids for left and right views.
Resample the both images into epipolar geometry.
Compute sift matches between left and right views in epipolar geometry.
Predict an optimal disparity range from the filtered point cloud resulting from the sift matches triangulation.
Create a bilinear correction model of the right image’s stereo-rectification grid in order to minimize the epipolar error. Apply the estimated correction to the right grid.
Resample again the stereo pair in epipolar geometry (using corrected grid for the right image) by using input DTM (such as SRTM) in order to reduce the disparity intervals to explore.
Compute disparity for each image pair in epipolar geometry.
Triangule the matches and get for each pixel of the reference image a latitude, longitude and altitude coordinate.
Merge points clouds coming from each stereo pairs.
Filter the resulting 3D points cloud via two consecutive filters: the first removes the small groups of 3D points, the second filters the points which have the most scattered neighbors.
Rasterize: Project these altitudes on a regular grid as well as the associated color.