During the Dense Cloud stage the dense 3D point clouds are generated. They are the main input to both subsequent processing steps of the 2.5D workflow (DSM rasterization) and 3D workflow (Cloud Filter).
The Dense Cloud stage comprises mainly three processes, which will be performed for each base image consecutively:
- stereo model rectification
- dense matching and
- 3D triangulation.
Stereo model rectification
For each stereo pair selected during the project analysis stage, a pair of rectified images is created, such that the y parallax equals zero and the stereo correspondence search can be can be carried out in x direction solely. For the rectification process the algorithm proposed by A. Fusiello (Fusiello, A., Trucco, E. and Verri, A., 2000. A compact algorithm for rectification of stereo pairs) is employed.
Rectified images cleanup
After completion of the dense cloud stage, the rectified images aren't needed by any subsequent processing step. Hence, by default, they will be automatically deleted in order to save some disk space.
The semi-global matching (SGM) algorithm is the core component of the dense cloud generation pipeline. The SGM algorithm was first proposed by Hirschmüller (Hirschmüller, H., 2008. Stereo processing by semiglobal matching and mutual information. IEEE Transactions on Pattern Analysis and Machine Intelligence 30, pp. 328–341), and further improved by Rothermel et.al, 2012, who presented a more performant variant of the algotrithm.
During this stage, the actual correspondence search is performed for the previously rectified images, and the disparity maps are generated, which will be employed for the subsequent (multi-stereo) triangulation.
Disparity map cleanup
After the dense clouds have been computed, the disparity maps are of no more use to any of the subsequent processing steps. Hence, by default they will be automatically deleted in order to save disk space.
After finishing the dense matching process for all models related to a specific base image, the corresponding disparity maps are used to calculate a 3D point for each pixel of the respective base image.