Dense Cloud Parameters

This section contains a description of the parameters related to the Dense Cloud generation, including stereo pair rectification, (multi-)stereo matching and triangulation.


Maximum image blowup

Maximum allowed ratio of original versus rectified image size (width x height).

Default value: 2.5 for scenario aerial nadir, 6.0 for aerial oblique and default scenario

This parameter affects the stereo model selection. If the ratio exceeds the specified parameter, the stereo pair will be rejected.


Rectification method

Method employed for epipolar stereo pair generation.

Default method: Fusiello

Because it works well for almost all applications, we recommend to use Fusiello's rectification method. The rectification modes Loop as well as Polar are for rather experimental use. Loop is quite similar to Fusiello with some additional optimization. Polar, on the other hand, might be beneficial for special scenarios like street level mapping with ahead- or backward mounted cameras (i.e. forward/backward motion).


DoG Filter - Differential of Gaussian

Automatic rejection of low textured areas such as sky.

CLI
-dog <threshold> <area>

Default value(s): disabled / when enabled: threshold = 0.5, area = 200

The input texture images will be evaluated and low textured areas will be identified and stored as masks, which will be later on applied to the disparity maps during dense clouds stage. The parameters for detecting the low textured patches can be defined by setting a threshold for gradient within 3 pixels (e.g. 0.5 for 255 range in intensity), as well as the area of the expected patches; this can either be passed as (>1) - denoting number of pixels, or (<1) - denoting percentage of entire image, which might be beneficial for a hierarchical adaption; e.g. threshold = 0.5 (gradient), area = 0.05 (5% of image area). 

Sample images3D Textured Mesh without DoG filter3D Textured Mesh with DoG filter

 

 

Data set: Nefertiti bust

Default Settings

Threshold=0.5, area=200

Data set: Schiller Statue, Stuttgart

Default Settings

Threshold=0.5, area=200


Speckle filter (disparity maps)

Suppress noise by speckle-filtering disparity maps.

Default value(s): enabled / size = 5, difference = 4.0

The size parameter denotes the maximum size for a patch to be considered a speckle. The difference threshold relates to the maximum disparity difference for a pixel to be included within the patch.


Start level

The starting level of downsampled image pyramids for the matching algorithm to work on.

CLI
-matchlvl <value>

Default value: auto

The matching algorithm employs a coarse-to-fine approach, where disparity information from coarser levels can be utilized for initialization of the finer levels, thereby significantly improving the algorithm's performance. By default, the starting level will be determined automatically. Only in very rare cases, especially when dealing with strongly repetitive patterns in the texture images, and the matching algorithm doesn't converge correctly in some places, it might be beneficial to manually set (i.e. reduce) the starting level.


Matching mode

Specifies the strategy used for triangulation.

Default value: multi-stereo

For the most accurate and high quality results, we recommend to use the multi-stereo triangulation strategy, where for each final point of the dense cloud information from all available stereo models will be considered for triangulation. In contrast, when selecting single models mode, each resulting point will be generated from one stereo model only. Furthermore, the third triangulation mode all single works quite similar to the single models mode, the only difference is that it considers each base image independently and creates two separate points from forward/backward matching the same model.


Minimum model count (fold)

Minimum number of models for a 3D point to be considered valid during triangulation.

CLI
-fold <value>

Default value: 2, automatically reduced to 1 for low overlap scenarios

For flight configurations with low forward overlaps (e.g. scenario aerial 60/30), the minimum model count per point has to be reduced to 1 in order to guarantee for completeness of the results. This, however, also entails a loss in accuracy for these points and consequently a higher amount of noise in the generated dense clouds. For certain aerial applications, but especially for close range and UAV applications (i.e. Scenario Default), this parameter can also be used in order to improve the overall output quality. This can be achieved by increasing the minimum model count parameter to e.g. 3, 4, or even higher if there are enough observations available, i.e. the object is covered with sufficient redundancy. The improved quality/accuracy of the triangulated 3D points will also have a positive effect on all subsequent outputs.


Minimum angle

Minimum angle for a point to be considered valid during triangulation.

CLI
-minangle <value>

Default value: 4.0°

Small/acute angles imply too short base lines, and usually result in poor accuracy of the triangulated points. By specifying the minimum valid angle, these unfavorable triangulation constellations can be filtered/discarded, which in turn leads to less noisy and more accurate 3D point clouds.


Maximum angle

Maximum angle for a point to be considered valid during triangulation.

CLI
-maxangle <value>

Default value: 0.0° (disabled)

Very large/obtuse angles (90° << angle < 180°) imply too large baselines with respect to the point distance from one or both camera centers, and usually result in poor accuracy of the triangulated points. By specifying the maximum valid angle, these unfavorable triangulation constellations can be filtered/discarded, which in turn leads to less noisy and more accurate 3D point clouds.