Open3D (C++ API)  0.17.0
GlobalOptimizationConvergenceCriteria.h
Go to the documentation of this file.
1// ----------------------------------------------------------------------------
2// - Open3D: www.open3d.org -
3// ----------------------------------------------------------------------------
4// Copyright (c) 2018-2023 www.open3d.org
5// SPDX-License-Identifier: MIT
6// ----------------------------------------------------------------------------
7
8#pragma once
9
10namespace open3d {
11namespace pipelines {
12namespace registration {
13
18public:
31 GlobalOptimizationOption(double max_correspondence_distance = 0.075,
32 double edge_prune_threshold = 0.25,
33 double preference_loop_closure = 1.0,
34 int reference_node = -1)
35 : max_correspondence_distance_(max_correspondence_distance),
36 edge_prune_threshold_(edge_prune_threshold),
37 preference_loop_closure_(preference_loop_closure),
38 reference_node_(reference_node) {
39 max_correspondence_distance_ = max_correspondence_distance < 0.0
40 ? 0.075
41 : max_correspondence_distance;
43 edge_prune_threshold < 0.0 || edge_prune_threshold > 1.0
44 ? 0.25
45 : edge_prune_threshold;
47 preference_loop_closure < 0.0 ? 1.0 : preference_loop_closure;
48 };
50
51public:
67};
68
73public:
85 int max_iteration = 100,
86 double min_relative_increment = 1e-6,
87 double min_relative_residual_increment = 1e-6,
88 double min_right_term = 1e-6,
89 double min_residual = 1e-6,
90 int max_iteration_lm = 20,
91 double upper_scale_factor = 2. / 3.,
92 double lower_scale_factor = 1. / 3.)
93 : max_iteration_(max_iteration),
94 min_relative_increment_(min_relative_increment),
95 min_relative_residual_increment_(min_relative_residual_increment),
96 min_right_term_(min_right_term),
97 min_residual_(min_residual),
98 max_iteration_lm_(max_iteration_lm),
99 upper_scale_factor_(upper_scale_factor),
100 lower_scale_factor_(lower_scale_factor) {
102 upper_scale_factor < 0.0 || upper_scale_factor > 1.0
103 ? 2. / 3.
104 : upper_scale_factor;
106 lower_scale_factor < 0.0 || lower_scale_factor > 1.0
107 ? 1. / 3.
108 : lower_scale_factor;
109 };
111
112public:
139};
140
141} // namespace registration
142} // namespace pipelines
143} // namespace open3d
Convergence criteria of GlobalOptimization.
Definition: GlobalOptimizationConvergenceCriteria.h:72
double upper_scale_factor_
Upper scale factor value.
Definition: GlobalOptimizationConvergenceCriteria.h:136
~GlobalOptimizationConvergenceCriteria()
Definition: GlobalOptimizationConvergenceCriteria.h:110
double min_right_term_
Minimum right term value.
Definition: GlobalOptimizationConvergenceCriteria.h:123
double min_relative_increment_
Minimum relative increments.
Definition: GlobalOptimizationConvergenceCriteria.h:119
int max_iteration_
Maximum iteration number for iterative optimization module.
Definition: GlobalOptimizationConvergenceCriteria.h:114
double lower_scale_factor_
Lower scale factor value.
Definition: GlobalOptimizationConvergenceCriteria.h:138
GlobalOptimizationConvergenceCriteria(int max_iteration=100, double min_relative_increment=1e-6, double min_relative_residual_increment=1e-6, double min_right_term=1e-6, double min_residual=1e-6, int max_iteration_lm=20, double upper_scale_factor=2./3., double lower_scale_factor=1./3.)
Parameterized Constructor.
Definition: GlobalOptimizationConvergenceCriteria.h:84
int max_iteration_lm_
Maximum iteration number for Levenberg Marquardt method.
Definition: GlobalOptimizationConvergenceCriteria.h:130
double min_residual_
Minimum residual value.
Definition: GlobalOptimizationConvergenceCriteria.h:125
double min_relative_residual_increment_
Minimum relative residual increments.
Definition: GlobalOptimizationConvergenceCriteria.h:121
Option for GlobalOptimization.
Definition: GlobalOptimizationConvergenceCriteria.h:17
GlobalOptimizationOption(double max_correspondence_distance=0.075, double edge_prune_threshold=0.25, double preference_loop_closure=1.0, int reference_node=-1)
Parameterized Constructor.
Definition: GlobalOptimizationConvergenceCriteria.h:31
~GlobalOptimizationOption()
Definition: GlobalOptimizationConvergenceCriteria.h:49
double preference_loop_closure_
Definition: GlobalOptimizationConvergenceCriteria.h:64
double edge_prune_threshold_
Definition: GlobalOptimizationConvergenceCriteria.h:59
double max_correspondence_distance_
Definition: GlobalOptimizationConvergenceCriteria.h:56
int reference_node_
The pose of this node is unchanged after optimization.
Definition: GlobalOptimizationConvergenceCriteria.h:66
Definition: PinholeCameraIntrinsic.cpp:16