custom settings

Expert tutorial – fine tuning 3DF Zephyr

Welcome to the 3DF Zephyr tutorial series.

In this recipe, you will learn how to get the best results possible with 3DF Zephyr.

The custom/XML settings are available in 3DF Zephyr Pro and 3DF Zephyr Aerial only.

  • Introduction

Very few people actually need to change these values since the presets and advanced settings should be enough for almost everyone. This documentation has however two additional purposes:

  • teach you exactly what each advanced parameter does
  • give a reference for XML settings (required in batch mode)

In this page, you will find values and description for each parameter.

  • Sparse Point Cloud generation

Samantha/KeypointMeanN

The mean number of keypoints that are to be extracted for each image.

Samantha/AdjustInternalParametersOnFinalBa

When set to true the internal camera parameters are re-adjusted during the final bundle adjustment.

Samantha/ANNNumberOfNeighbors

Number of neighbors images to be considered for each camera during the fast-matching phase

Samantha/ANNNumberOfFeatures

Number of keypoints to be considered for each image during the fast-matching phase

Samantha/LocalBa 

If set to true activates the local bundle adjustment strategy. The geometric reconstruction will go faster with no noticeable differences.

Samantha/LocalBaOnAutocalibration 

If set to true activates the local bundle adjustment strategy during the autocalibration phase. The geometric reconstruction will go faster, but results might be unstable.

Samantha/FinalBa

Select whether to use of not the final bundle adjustment routine.

Samantha/FinalMaxReprojectionError

Maximum reprojection error. This threshold is used to discard points with high reprojection error after Samantha has been completed. The parameter is expressed in pixels.

Samantha/FinalMinimumTrackLength

Number of minimum track length for each point. Points with lower track length are discarded after Samantha has been completed.

Samantha/ForceSequentialPipeline

Use a sequential reconstruction if set to true; use a hierarchical reconstruction when set to false.

Samantha/KeypointNumberOfLevels

Defines how many levels are extracted in the LoG pyramid during the keypoint extraction. An high value is advised when dealing with far and short distance photos appearing in the same dataset. A Low value will results in a faster extraction phase.

Samantha/MinBAIterations

Minimum number of iteration of the Bundle Adjustment routine.

Samantha/MaxBAIterations

Maximum number of iteration of the Bundle Adjustment routine.

Samantha/MaxOuterLoopBAIterations

Maximum number of outer loop iteration of the Bundle Adjustment routine.

Samantha/MaxResolution

Controls the maximum image dimension (set a threshold to the max of width or height).

Samantha/MinimumTrackLength

Number of minimum track length for each point. Points with lower track length are discarded during the reconstruction.

Samantha/NBucketsPerWidth

Keypoint matching follows a bucketing strategy. This parameter specifies the number of buckets per image width.

Samantha/NCamerasToFixIntrinsics

Number of cameras needed before fixing the internal parameters of a cluster of cameras. An high value will likely produce more accurate calibration resultsm, but it will requiremore time.

Samantha/NumberOfMatchViews

Number of neighbor cameras to be matched for each camera. If set to 0 is is automatically computed as 4 + #views/100.

Samantha/PointRecovery

If set to true activates a bad tracks/point recovery strategy during reconstruction. The geometric reconstruction phase will be slower but generally more robust.

Samantha/PInlier

This value, along with SigmaNoise, controls the inliers threshold during the matching phase. It represents the probability of a match of being an inlier. A high value will produce less matches.

Samantha/ReprojectionThreshold

Maximum reprojection error. This threshold is used to discard points with high reprojection error during the reconstruction. The parameter is expressed in pixels.

Samantha/ReprojectionThresholdBeforeRatio

Before minimization, a value of ReprojectionThresholdBeforeRatio * ReprojectionThreshold is considered to discard early outliers.

Samantha/SigmaNoise

This value, along with PInlier, controls the inliers threshold during the matching phase. It represents an estimation of the variance. A high value will produce more matches.

Samantha/StructSequence

When images are known to be in a specific order, you can set this value to: 1=linear ordering, 2=circular ordering, 3=approximate grid. Set the value to 0 (default) if the image ordering isunknown.

Samantha/MinInliersRatio

Inliers/Outliers ratio used to discard matches during the matching phase.

Samantha/UseSymmetricMatches

Specifies which algorithm is used to match keypoints. Symmetric, as opposed to one-way, means that a match from image I to image J must be also verified from image J to image I.

Samantha/MatchingBreakup

Make use of an approximate keypoint matching phase, by using keypoints clusterization. 0=no approximation, 1=slight approximation, 2=high approximation

Samantha/MaximumTracksPerCameraOnBA

Maximum number of track to be considered during the Bundle adjustment phase.

Samantha/MaximumTracksPerCameraOnBAAC 

Maximum number of track to be considered during the Bundle adjustment phase with varying internal parameters.

  • Dense point cloud generation

Stereo/WindowSize

Matching window size. Should always be always odd.

Stereo/NearSaMPoints 

Number of near SfM points to be considered as seed for the multiview stereo point.

Stereo/NumberOfNearestCameras

Number of near cameras to consider for generating a single depth map.

Stereo/NumberOfBins 

Maximum number of the octree bins for the voting phase. Should always be a power of two.

Stereo/NumberOfBinsMin

Minimum number of the octree bins for the voting phase. Should always be a power of two.

Stereo/MaxResolutionPercent

Controls the percentage of the input images resolution .

Stereo/AdditionalPyramidLevels

Number of downscaled depth map to precompute before the full resolution depth map.

Stereo/NCCThreshold

Matches with a machine score value lower than this threshold are immediately discarded. Matching score varies from 0.0 to 1.0.

Stereo/UseSteerableNCC

Select to use or not local rotation and scaling for the matching windows.

Stereo/MRFDataTermWeight

Data term weight used for the Markov Random Field optimization

Stereo/MRFUnknownSmoothTerm

Smoothness term value for the unknown label used during the Markov Random Field optimization

Stereo/MRFUnknownDataTerm 

Data term value for the unknown label used during the Markov Random Field optimization

Stereo/MRFNumLabels 

Number of depth hypothesis to be used in the Markov Random Field optimization phase.

Stereo/MRFIterations

Number of maximum iterations of the Markov Random Field optimization.

Stereo/EpipolarLineStep 

Controls the sampling step (in pixels) along the epipolar line. You can get subpixel accuracy by setting a value lower than 1.0.

Stereo/NearSaMRadius

Radius in pixel to consider a SfM point as seed for the multiview stereo point.

Stereo/MinWindowVariance 

Matches with low variance (homogeneous color areas) are discarded according to this threshold.

Stereo/NoiseFiltering

Weak 3D points are discarded. This value controls how much the noise filter influences the point cloud creation. A low value will produce a denser point cloud but more likely to contain noise.

Stereo/RawOutput  

Select whether to optimize or not the final dense point cloud (fill gaps and remove small regions)

Stereo/Sharp

Select whether to use the edge-preserving algorithm or not during the final optional point cloud optimization

  • Surface extraction

Surface/OctreeDepth 

Maximum depth of the tree that will be used for surface reconstruction. Running at depth d corresponds to solving on a voxel grid whose resolution is no larger than 2^d x 2^d x 2^d. Used only when Sharp is set to false.

Surface/PointWeight

This floating point value specifies the importants that interpolation of the point samples is given in the formulation of the screened Poisson equation. Used only when Sharp is set to false.

Surface/SamplesPerNode

This floating point value specifies the minimum number of sample points that should fall within an octree node as the octree construction is adapted to sampling density. Used only when Sharp is set to false.

Surface/KNNormal 

Number of neighbor points used for computing the normals before the running the surface extraction algorithm. Used only when Sharp is set to false.

Surface/ForceConnected 

When set to true, only the bigger connected mesh is retained.

Surface/Sharp 

When set to true, uses an edge-preserving algorithm (Sasha). When set to false, use the poisson reconstruction algorithm.

Surface/MinNumberOfVertices

Minimum number of desired vertices for the final mesh

Surface/MaxNumberOfVertices 

Maximum number of desired vertices for the final mesh

Surface/SmoothingIterations

Number of additional smoothing filter iterations. Default 0.

Surface/SmoothingFilter

Select the additional / optional smoothing filter to apply. 0 = Laplacian, 1 = Bilateral

  • Texture generation

Texture/TextureSize

Final Texture size (width and height)

Texture/Multiband

Select whether to use or not the Multiband algorithm. Cannot be used when the color balance is activated.

Texture/MaxCamerasPerTriangle

Maximum number of cameras used to compute the texture for a single triangle.

Texture/MaxNumberOfVertices 

Maxmum number of desired vertices for the final mesh

Texture/ColorBalance

Select whether to use or not the Color Balance algorithm.

Texture/MaxCompatibleCamerasPerTriangle

Maximum number of compatible cameras that can be considered for a single triangle