Open3D (C++ API)  0.18.0
Data Fields
open3d::pipelines::color_map::NonRigidOptimizerOption Struct Reference

#include <NonRigidOptimizer.h>

Data Fields

int number_of_vertical_anchors_ = 16
 
double non_rigid_anchor_point_weight_ = 0.316
 
int maximum_iteration_ = 300
 Number of iterations for optimization steps. More...
 
double maximum_allowable_depth_ = 2.5
 
double depth_threshold_for_visibility_check_ = 0.03
 
double depth_threshold_for_discontinuity_check_ = 0.1
 
int half_dilation_kernel_size_for_discontinuity_map_ = 3
 
int image_boundary_margin_ = 10
 
int invisible_vertex_color_knn_ = 3
 
std::string debug_output_dir_ = ""
 

Field Documentation

◆ debug_output_dir_

std::string open3d::pipelines::color_map::NonRigidOptimizerOption::debug_output_dir_ = ""

If specified, the intermediate results will be stored in in the debug output dir. Existing files will be overwritten if the names are the same.

◆ depth_threshold_for_discontinuity_check_

double open3d::pipelines::color_map::NonRigidOptimizerOption::depth_threshold_for_discontinuity_check_ = 0.1

Parameter to check the visibility of a point. It’s often desirable to ignore points where there is an abrupt change in depth value. First the depth gradient image is computed, points are considered to be invisible if the depth gradient magnitude is larger than depth_threshold_for_discontinuity_check.

◆ depth_threshold_for_visibility_check_

double open3d::pipelines::color_map::NonRigidOptimizerOption::depth_threshold_for_visibility_check_ = 0.03

Parameter to check the visibility of a point. When the difference of a point’s depth value in the RGB-D image and the point’s depth value in the 3D mesh is greater than depth_threshold_for_visibility_check, the point is marked as invisible to the camera producing the RGB-D image.

◆ half_dilation_kernel_size_for_discontinuity_map_

int open3d::pipelines::color_map::NonRigidOptimizerOption::half_dilation_kernel_size_for_discontinuity_map_ = 3

Parameter to check the visibility of a point. Related to depth_threshold_for_discontinuity_check, when boundary points are detected, dilation is performed to ignore points near the object boundary. half_dilation_kernel_size_for_discontinuity_map specifies the half-kernel size for the dilation applied on the visibility mask image.

◆ image_boundary_margin_

int open3d::pipelines::color_map::NonRigidOptimizerOption::image_boundary_margin_ = 10

If a projected 3D point onto a 2D image lies in the image border within image_boundary_margin, the 3D point is considered invisible from the camera producing the image. This parameter is not used for visibility check, but used when computing the final color assignment after color map optimization.

◆ invisible_vertex_color_knn_

int open3d::pipelines::color_map::NonRigidOptimizerOption::invisible_vertex_color_knn_ = 3

If a vertex is invisible from all images, we assign the averaged color of the k nearest visible vertices to fill the invisible vertex. Set to 0 to disable this feature and all invisible vertices will be black.

◆ maximum_allowable_depth_

double open3d::pipelines::color_map::NonRigidOptimizerOption::maximum_allowable_depth_ = 2.5

Parameter to check the visibility of a point. Points with depth larger than maximum_allowable_depth in a RGB-D will be marked as invisible for the camera producing that RGB-D image. Select a proper value to include necessary points while ignoring unwanted points such as the background.

◆ maximum_iteration_

int open3d::pipelines::color_map::NonRigidOptimizerOption::maximum_iteration_ = 300

Number of iterations for optimization steps.

◆ non_rigid_anchor_point_weight_

double open3d::pipelines::color_map::NonRigidOptimizerOption::non_rigid_anchor_point_weight_ = 0.316

Additional regularization terms added to non-rigid regularization. A higher value results gives more conservative updates. If the residual error does not stably decrease, it is mainly because images are being bended abruptly. In this case, consider making iteration more conservative by increasing the value. This option is only used for non-rigid optimization.

◆ number_of_vertical_anchors_

int open3d::pipelines::color_map::NonRigidOptimizerOption::number_of_vertical_anchors_ = 16

Number of vertical anchor points for image wrapping field. The number of horizontal anchor points is computed automatically based on the number of vertical anchor points. This option is only used for non-rigid optimization.


The documentation for this struct was generated from the following file: