Densification

The result of the Triangulation step is a sparse point cloud. The Densification step will add more points to make the point cloud dense.

To start it, click on the Triangulation item in the project tree and click on "Create dense pointcloud...". The following dialog opens:

In the current version Regard3D offers three densification (Multi-View Stereo or MVS) toolsets:

 Choose the densification tool in the topmost dropdown menu.

 

CMVS/PMVS offers the following options (part of the text is copied from the PMVS homepage):

  • Number of threads: This default value is usually fine
  • Use visibility information: When set, CMVS is run before PMVS and performs a visibility check, and divides the densification if necessary (clustering). For small models, this setting can be off (sometimes improves the result), but it should always be on for medium-sized to large models.
  • Maximum number of images per cluster: This defines the maximum size of a cluster. Depending on the available RAM, clusters can be bigger or smaller. Larger clusters usually produce better results, but take more time to compute.
  • Level: When level is 0, original (full) resolution images are used. When level is 1, images are halved (or 4 times less pixels). When level is 2, images are 4 times smaller (or 16 times less pixels). In general, level1 is suggested, because cameras typically do not have r,g,b censors for each pixel (bayer pattern). Note that increasing the value of level significantly speeds-up the whole computation, while reconstructions become significantly sparse.
  • Cell size: Controls the density of reconstructions. The software tries to reconstruct at least one patch in every csize x csize pixel square region in all the target images specified by timages. Therefore, increasing the value of csize leads to sparser reconstructions.
  • Threshold: A patch reconstruction is accepted as a success and kept, if its associated photometric consistency measure is above this threshold. Normalized cross correlation is used as a photometric consistency measure, whose value ranges from -1 (bad) to 1 (good). The software repeats three iterations of the reconstruction pipeline, and this threshold is relaxed (decreased) by 0.05 at the end of each iteration. For example, if you specify threshold=0.7, the values of the threshold are 0.7, 0.65, and 0.6 for the three iterations of the pipeline, respectively.
  • wsize: The software samples wsize x wsize pixel colors from each image to compute photometric consistency score. For example, when wsize=7, 7x7=49 pixel colors are sampled in each image. Increasing the value leads to more stable reconstructions, but the program becomes slower.
  • Min. image num: Each 3D point must be visible in at least minImageNum images for being reconstructed. 3 is suggested in general. The software works fairly well with minImageNum=2, but you may get false 3D points where there are only weak texture information. On the other hand, if your images do not have good textures, you may want to increase this value to 4 or 5.

 

MVE offers the following parameters:

  • Scale: Reconstruction on given scale. Smaller scale will increase detail, but will also take more time to compute. Scale 0 is not recommended.
  • Filter width: Patch size for NCC-based comparison. Higher values produce better results but take longer to compute.

 

SMVS offer following parameters (part of the text is copied from the homepage of SMVS):

  • Scale input images: Reconstruction on given scale. Smaller scale will increase detail, but will take more time to compute.
  • Scale of output depth: This affects the scale of the optimization - the finest resolution the bicubic patches will have.
  • Shading-based optimization: Enables shading-based optimization. The lighting model is limited, so enabling it might improve your results or make them worse.
  • Semi-global matching: Enable semi-global matching
  • Surface smoothing factor: Defines how strongly the generated surface will be smoothed.

SMVS requires a fairly recent CPU. If your CPU does not support the required instruction (POPCNT), Regard3D will show an error. If your CPU supports SSE 4.1, an optimized version of SMVS will be used which is roughly twice as fast as the standard version.

 

Tips:

  • For small projects, deselect "Use visibility information (CMVS)". CMVS tends to generously throw away pictures.
  • For large projects (many pictures) CMVS is necessary, otherwise PMVS's memory consumption and running time will "explode".
  • For a first try, set parameters such that the result is computed quickly: Level 2 or 3/Scale 2 or 3, and then decrease these parameters to produce improved results
  • If too much outliers are produced, increase the threshold

 

Go to next article: Surface