![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
Classes | |
| class | TransformationEstimationForColoredICP |
| class | CorrespondenceChecker |
| Base class that checks if two (small) point clouds can be aligned. More... | |
| class | CorrespondenceCheckerBasedOnEdgeLength |
| Check if two point clouds build the polygons with similar edge lengths. More... | |
| class | CorrespondenceCheckerBasedOnDistance |
| Check if two aligned point clouds are close. More... | |
| class | CorrespondenceCheckerBasedOnNormal |
| Class to check if two aligned point clouds have similar normals. More... | |
| class | FastGlobalRegistrationOption |
| Options for FastGlobalRegistration. More... | |
| class | TransformationEstimationForGeneralizedICP |
| class | GlobalOptimizationOption |
| Option for GlobalOptimization. More... | |
| class | GlobalOptimizationConvergenceCriteria |
| Convergence criteria of GlobalOptimization. More... | |
| class | GlobalOptimizationMethod |
| Base class for global optimization method. More... | |
| class | GlobalOptimizationGaussNewton |
| Global optimization with Gauss-Newton algorithm. More... | |
| class | GlobalOptimizationLevenbergMarquardt |
| Global optimization with Levenberg-Marquardt algorithm. More... | |
| class | PoseGraphNode |
| Node of PoseGraph. More... | |
| class | PoseGraphEdge |
| Edge of PoseGraph. More... | |
| class | PoseGraph |
| Data structure defining the pose graph. More... | |
| class | ICPConvergenceCriteria |
| Class that defines the convergence criteria of ICP. More... | |
| class | RANSACConvergenceCriteria |
| Class that defines the convergence criteria of RANSAC. More... | |
| class | RegistrationResult |
| class | RobustKernel |
| class | L2Loss |
| class | L1Loss |
| class | HuberLoss |
| class | CauchyLoss |
| class | GMLoss |
| class | TukeyLoss |
| class | TransformationEstimation |
| class | TransformationEstimationPointToPoint |
| class | TransformationEstimationPointToPlane |
| class | PyGlobalOptimizationMethod |
| class | PyTransformationEstimation |
| class | PyCorrespondenceChecker |
| class | PyRobustKernelT |
Typedefs | |
| typedef std::vector< Eigen::Vector2i > | CorrespondenceSet |
| using | PyRobustKernel = PyRobustKernelT< RobustKernel > |
| using | PyL2Loss = PyRobustKernelT< L2Loss > |
| using | PyL1Loss = PyRobustKernelT< L1Loss > |
| using | PyHuberLoss = PyRobustKernelT< HuberLoss > |
| using | PyCauchyLoss = PyRobustKernelT< CauchyLoss > |
| using | PyGMLoss = PyRobustKernelT< GMLoss > |
| using | PyTukeyLoss = PyRobustKernelT< TukeyLoss > |
Enumerations | |
| enum class | TransformationEstimationType { Unspecified = 0 , PointToPoint = 1 , PointToPlane = 2 , ColoredICP = 3 , GeneralizedICP = 4 } |
Functions | |
| RegistrationResult | RegistrationColoredICP (const ccPointCloud &source, const ccPointCloud &target, double max_distance, const Eigen::Matrix4d &init=Eigen::Matrix4d::Identity(), const TransformationEstimationForColoredICP &estimation=TransformationEstimationForColoredICP(), const ICPConvergenceCriteria &criteria=ICPConvergenceCriteria()) |
| Function for Colored ICP registration. More... | |
| static std::vector< std::pair< int, int > > | InitialMatching (const utility::Feature &src_features, const utility::Feature &dst_features) |
| static std::vector< std::pair< int, int > > | AdvancedMatching (const ccPointCloud &src_point_cloud, const ccPointCloud &dst_point_cloud, const std::vector< std::pair< int, int >> &corres_cross, const FastGlobalRegistrationOption &option) |
| std::tuple< std::vector< Eigen::Vector3d >, double, double > | NormalizePointCloud (std::vector< ccPointCloud > &point_cloud_vec, const FastGlobalRegistrationOption &option) |
| Eigen::Matrix4d | OptimizePairwiseRegistration (const std::vector< ccPointCloud > &point_cloud_vec, const std::vector< std::pair< int, int >> &corres, double scale_start, const FastGlobalRegistrationOption &option) |
| Eigen::Matrix4d | GetTransformationOriginalScale (const Eigen::Matrix4d &transformation, const std::vector< Eigen::Vector3d > &pcd_mean_vec, const double scale_global) |
| RegistrationResult | FastGlobalRegistrationBasedOnCorrespondence (const ccPointCloud &source, const ccPointCloud &target, const CorrespondenceSet &corres, const FastGlobalRegistrationOption &option=FastGlobalRegistrationOption()) |
| Fast Global Registration based on a given set of correspondences. More... | |
| RegistrationResult | FastGlobalRegistrationBasedOnFeatureMatching (const ccPointCloud &source, const ccPointCloud &target, const utility::Feature &source_feature, const utility::Feature &target_feature, const FastGlobalRegistrationOption &option=FastGlobalRegistrationOption()) |
| Fast Global Registration based on a given set of FPFH features. More... | |
| RegistrationResult | RegistrationGeneralizedICP (const ccPointCloud &source, const ccPointCloud &target, double max_correspondence_distance, const Eigen::Matrix4d &init=Eigen::Matrix4d::Identity(), const TransformationEstimationForGeneralizedICP &estimation=TransformationEstimationForGeneralizedICP(), const ICPConvergenceCriteria &criteria=ICPConvergenceCriteria()) |
| Function for Generalized ICP registration. More... | |
| Eigen::Vector6d | GetLinearized6DVector (const Eigen::Matrix4d &input) |
| Eigen::Vector6d | GetMisalignmentVector (const Eigen::Matrix4d &X_inv, const Eigen::Matrix4d &Ts, const Eigen::Matrix4d &Tt_inv) |
| std::tuple< Eigen::Matrix4d, Eigen::Matrix4d, Eigen::Matrix4d > | GetRelativePoses (const PoseGraph &pose_graph, int edge_id) |
| std::tuple< Eigen::Matrix6d, Eigen::Matrix6d > | GetJacobian (const Eigen::Matrix4d &X_inv, const Eigen::Matrix4d &Ts, const Eigen::Matrix4d &Tt_inv) |
| int | UpdateConfidence (PoseGraph &pose_graph, const Eigen::VectorXd &zeta, const double line_process_weight, const GlobalOptimizationOption &option) |
| double | ComputeResidual (const PoseGraph &pose_graph, const Eigen::VectorXd &zeta, const double line_process_weight, const GlobalOptimizationOption &option) |
| Function to compute residual defined in [Choi et al 2015] See Eq (9). More... | |
| Eigen::VectorXd | ComputeZeta (const PoseGraph &pose_graph) |
| Function to compute residual defined in [Choi et al 2015] See Eq (6). More... | |
| std::tuple< Eigen::MatrixXd, Eigen::VectorXd > | ComputeLinearSystem (const PoseGraph &pose_graph, const Eigen::VectorXd &zeta) |
| Eigen::VectorXd | UpdatePoseVector (const PoseGraph &pose_graph) |
| std::shared_ptr< PoseGraph > | UpdatePoseGraph (const PoseGraph &pose_graph, const Eigen::VectorXd delta) |
| bool | CheckRightTerm (const Eigen::VectorXd &right_term, const GlobalOptimizationConvergenceCriteria &criteria) |
| bool | CheckRelativeIncrement (const Eigen::VectorXd &delta, const Eigen::VectorXd &x, const GlobalOptimizationConvergenceCriteria &criteria) |
| bool | CheckRelativeResidualIncrement (double current_residual, double new_residual, const GlobalOptimizationConvergenceCriteria &criteria) |
| bool | CheckResidual (double residual, const GlobalOptimizationConvergenceCriteria &criteria) |
| bool | CheckMaxIteration (int iteration, const GlobalOptimizationConvergenceCriteria &criteria) |
| bool | CheckMaxIterationLM (int iteration, const GlobalOptimizationConvergenceCriteria &criteria) |
| double | ComputeLineProcessWeight (const PoseGraph &pose_graph, const GlobalOptimizationOption &option) |
| void | CompensateReferencePoseGraphNode (PoseGraph &pose_graph_new, const PoseGraph &pose_graph_orig, int reference_node) |
| bool | ValidatePoseGraphConnectivity (const PoseGraph &pose_graph, bool ignore_uncertain_edges=false) |
| bool | ValidatePoseGraph (const PoseGraph &pose_graph) |
| std::shared_ptr< PoseGraph > | CreatePoseGraphWithoutInvalidEdges (const PoseGraph &pose_graph, const GlobalOptimizationOption &option) |
| void | GlobalOptimization (PoseGraph &pose_graph, const GlobalOptimizationMethod &method, const GlobalOptimizationConvergenceCriteria &criteria, const GlobalOptimizationOption &option) |
| static RegistrationResult | GetRegistrationResultAndCorrespondences (const ccPointCloud &source, const ccPointCloud &target, const geometry::KDTreeFlann &target_kdtree, double max_correspondence_distance, const Eigen::Matrix4d &transformation) |
| static RegistrationResult | EvaluateRANSACBasedOnCorrespondence (const ccPointCloud &source, const ccPointCloud &target, const CorrespondenceSet &corres, double max_correspondence_distance, const Eigen::Matrix4d &transformation) |
| RegistrationResult | EvaluateRegistration (const ccPointCloud &source, const ccPointCloud &target, double max_correspondence_distance, const Eigen::Matrix4d &transformation=Eigen::Matrix4d::Identity()) |
| Function for evaluating registration between point clouds. More... | |
| RegistrationResult | RegistrationICP (const ccPointCloud &source, const ccPointCloud &target, double max_correspondence_distance, const Eigen::Matrix4d &init=Eigen::Matrix4d::Identity(), const TransformationEstimation &estimation=TransformationEstimationPointToPoint(false), const ICPConvergenceCriteria &criteria=ICPConvergenceCriteria()) |
| Functions for ICP registration. More... | |
| RegistrationResult | RegistrationRANSACBasedOnCorrespondence (const ccPointCloud &source, const ccPointCloud &target, const CorrespondenceSet &corres, double max_correspondence_distance, const TransformationEstimation &estimation=TransformationEstimationPointToPoint(false), int ransac_n=3, const std::vector< std::reference_wrapper< const CorrespondenceChecker >> &checkers={}, const RANSACConvergenceCriteria &criteria=RANSACConvergenceCriteria(), utility::optional< unsigned int > seed=utility::nullopt) |
| Function for global RANSAC registration based on a given set of correspondences. More... | |
| RegistrationResult | RegistrationRANSACBasedOnFeatureMatching (const ccPointCloud &source, const ccPointCloud &target, const utility::Feature &source_feature, const utility::Feature &target_feature, bool mutual_filter, double max_correspondence_distance, const TransformationEstimation &estimation=TransformationEstimationPointToPoint(false), int ransac_n=3, const std::vector< std::reference_wrapper< const CorrespondenceChecker >> &checkers={}, const RANSACConvergenceCriteria &criteria=RANSACConvergenceCriteria(), utility::optional< unsigned int > seed=utility::nullopt) |
| Function for global RANSAC registration based on feature matching. More... | |
| Eigen::Matrix6d | GetInformationMatrixFromPointClouds (const ccPointCloud &source, const ccPointCloud &target, double max_correspondence_distance, const Eigen::Matrix4d &transformation) |
| static void | BenchmarkCreateFromPointCloudBallPivoting (benchmark::State &state, const bool remove_non_finite_points) |
| BENCHMARK_CAPTURE (BenchmarkCreateFromPointCloudBallPivoting, Without Non Finite Points, true) -> Unit(benchmark::kMillisecond) | |
| static std::tuple< ccPointCloud, ccPointCloud > | LoadPointCloud (const std::string &source_filename, const std::string &target_filename, const double voxel_downsample_factor) |
| static void | BenchmarkICPLegacy (benchmark::State &state, const TransformationEstimationType &type) |
| BENCHMARK_CAPTURE (BenchmarkICPLegacy, PointToPlane/CPU, TransformationEstimationType::PointToPlane) -> Unit(benchmark::kMillisecond) | |
| BENCHMARK_CAPTURE (BenchmarkICPLegacy, PointToPoint/CPU, TransformationEstimationType::PointToPoint) -> Unit(benchmark::kMillisecond) | |
| void | pybind_feature (py::module &m) |
| void | pybind_feature_methods (py::module &m) |
| void | pybind_global_optimization (py::module &m) |
| void | pybind_global_optimization_methods (py::module &m) |
| void | pybind_registration_classes (py::module &m) |
| void | pybind_registration_methods (py::module &m) |
| void | pybind_registration (py::module &m) |
| void | pybind_robust_kernels (py::module &m) |
Variables | |
| const std::vector< Eigen::Matrix4d, utility::Matrix4d_allocator > | jacobian_operator |
| static const double | relative_fitness = 1e-6 |
| static const double | relative_rmse = 1e-6 |
| static const int | max_iterations = 10 |
| static const double | voxel_downsampling_factor = 0.02 |
| static const double | max_correspondence_distance = 0.05 |
| static const std::unordered_map< std::string, std::string > | map_shared_argument_docstrings |
| typedef std::vector<Eigen::Vector2i> cloudViewer::pipelines::registration::CorrespondenceSet |
Definition at line 23 of file TransformationEstimation.h.
| using cloudViewer::pipelines::registration::PyCauchyLoss = typedef PyRobustKernelT<CauchyLoss> |
Definition at line 34 of file robust_kernels.cpp.
| using cloudViewer::pipelines::registration::PyGMLoss = typedef PyRobustKernelT<GMLoss> |
Definition at line 35 of file robust_kernels.cpp.
| using cloudViewer::pipelines::registration::PyHuberLoss = typedef PyRobustKernelT<HuberLoss> |
Definition at line 33 of file robust_kernels.cpp.
| using cloudViewer::pipelines::registration::PyL1Loss = typedef PyRobustKernelT<L1Loss> |
Definition at line 32 of file robust_kernels.cpp.
| using cloudViewer::pipelines::registration::PyL2Loss = typedef PyRobustKernelT<L2Loss> |
Definition at line 31 of file robust_kernels.cpp.
Definition at line 30 of file robust_kernels.cpp.
| using cloudViewer::pipelines::registration::PyTukeyLoss = typedef PyRobustKernelT<TukeyLoss> |
Definition at line 36 of file robust_kernels.cpp.
| Enumerator | |
|---|---|
| Unspecified | |
| PointToPoint | |
| PointToPlane | |
| ColoredICP | |
| GeneralizedICP | |
Definition at line 25 of file TransformationEstimation.h.
|
static |
Definition at line 61 of file FastGlobalRegistration.cpp.
References cloudViewer::PointCloudTpl< T >::getEigenPoint(), LogDebug, LogWarning, cloudViewer::pipelines::registration::FastGlobalRegistrationOption::maximum_tuple_count_, and cloudViewer::pipelines::registration::FastGlobalRegistrationOption::tuple_scale_.
Referenced by FastGlobalRegistrationBasedOnCorrespondence(), and FastGlobalRegistrationBasedOnFeatureMatching().
| cloudViewer::pipelines::registration::BENCHMARK_CAPTURE | ( | BenchmarkCreateFromPointCloudBallPivoting | , |
| Without Non Finite | Points, | ||
| true | |||
| ) | -> Unit(benchmark::kMillisecond) |
| cloudViewer::pipelines::registration::BENCHMARK_CAPTURE | ( | BenchmarkICPLegacy | , |
| PointToPlane/ | CPU, | ||
| TransformationEstimationType::PointToPlane | |||
| ) | -> Unit(benchmark::kMillisecond) |
| cloudViewer::pipelines::registration::BENCHMARK_CAPTURE | ( | BenchmarkICPLegacy | , |
| PointToPoint/ | CPU, | ||
| TransformationEstimationType::PointToPoint | |||
| ) | -> Unit(benchmark::kMillisecond) |
|
static |
Definition at line 21 of file TriangleMesh.cpp.
References ccMesh::CreateFromPointCloudBallPivoting(), cloudViewer::io::CreatePointCloudFromFile(), cloudViewer::data::PCDPointCloud::GetPath(), and radii.
|
static |
Definition at line 59 of file Registration.cpp.
References cloudViewer::pipelines::registration::RegistrationResult::fitness_, cloudViewer::data::DemoICPPointClouds::GetPaths(), cloudViewer::pipelines::registration::RegistrationResult::inlier_rmse_, LoadPointCloud(), LogDebug, max_correspondence_distance, max_iterations, PointToPlane, PointToPoint, RegistrationICP(), relative_fitness, relative_rmse, type, and voxel_downsampling_factor.
| bool cloudViewer::pipelines::registration::CheckMaxIteration | ( | int | iteration, |
| const GlobalOptimizationConvergenceCriteria & | criteria | ||
| ) |
Definition at line 303 of file GlobalOptimization.cpp.
References LogDebug, and cloudViewer::pipelines::registration::GlobalOptimizationConvergenceCriteria::max_iteration_.
Referenced by cloudViewer::pipelines::registration::GlobalOptimizationGaussNewton::OptimizePoseGraph(), and cloudViewer::pipelines::registration::GlobalOptimizationLevenbergMarquardt::OptimizePoseGraph().
| bool cloudViewer::pipelines::registration::CheckMaxIterationLM | ( | int | iteration, |
| const GlobalOptimizationConvergenceCriteria & | criteria | ||
| ) |
Definition at line 313 of file GlobalOptimization.cpp.
References LogDebug, and cloudViewer::pipelines::registration::GlobalOptimizationConvergenceCriteria::max_iteration_lm_.
Referenced by cloudViewer::pipelines::registration::GlobalOptimizationLevenbergMarquardt::OptimizePoseGraph().
| bool cloudViewer::pipelines::registration::CheckRelativeIncrement | ( | const Eigen::VectorXd & | delta, |
| const Eigen::VectorXd & | x, | ||
| const GlobalOptimizationConvergenceCriteria & | criteria | ||
| ) |
Definition at line 266 of file GlobalOptimization.cpp.
References LogDebug, and cloudViewer::pipelines::registration::GlobalOptimizationConvergenceCriteria::min_relative_increment_.
Referenced by cloudViewer::pipelines::registration::GlobalOptimizationGaussNewton::OptimizePoseGraph(), and cloudViewer::pipelines::registration::GlobalOptimizationLevenbergMarquardt::OptimizePoseGraph().
| bool cloudViewer::pipelines::registration::CheckRelativeResidualIncrement | ( | double | current_residual, |
| double | new_residual, | ||
| const GlobalOptimizationConvergenceCriteria & | criteria | ||
| ) |
Definition at line 280 of file GlobalOptimization.cpp.
References LogDebug, and cloudViewer::pipelines::registration::GlobalOptimizationConvergenceCriteria::min_relative_residual_increment_.
Referenced by cloudViewer::pipelines::registration::GlobalOptimizationGaussNewton::OptimizePoseGraph(), and cloudViewer::pipelines::registration::GlobalOptimizationLevenbergMarquardt::OptimizePoseGraph().
| bool cloudViewer::pipelines::registration::CheckResidual | ( | double | residual, |
| const GlobalOptimizationConvergenceCriteria & | criteria | ||
| ) |
Definition at line 294 of file GlobalOptimization.cpp.
References LogDebug, and cloudViewer::pipelines::registration::GlobalOptimizationConvergenceCriteria::min_residual_.
Referenced by cloudViewer::pipelines::registration::GlobalOptimizationGaussNewton::OptimizePoseGraph(), and cloudViewer::pipelines::registration::GlobalOptimizationLevenbergMarquardt::OptimizePoseGraph().
| bool cloudViewer::pipelines::registration::CheckRightTerm | ( | const Eigen::VectorXd & | right_term, |
| const GlobalOptimizationConvergenceCriteria & | criteria | ||
| ) |
Definition at line 256 of file GlobalOptimization.cpp.
References LogDebug, and cloudViewer::pipelines::registration::GlobalOptimizationConvergenceCriteria::min_right_term_.
Referenced by cloudViewer::pipelines::registration::GlobalOptimizationGaussNewton::OptimizePoseGraph(), and cloudViewer::pipelines::registration::GlobalOptimizationLevenbergMarquardt::OptimizePoseGraph().
| void cloudViewer::pipelines::registration::CompensateReferencePoseGraphNode | ( | PoseGraph & | pose_graph_new, |
| const PoseGraph & | pose_graph_orig, | ||
| int | reference_node | ||
| ) |
Definition at line 345 of file GlobalOptimization.cpp.
References LogDebug, and cloudViewer::pipelines::registration::PoseGraph::nodes_.
Referenced by GlobalOptimization().
| std::tuple<Eigen::MatrixXd, Eigen::VectorXd> cloudViewer::pipelines::registration::ComputeLinearSystem | ( | const PoseGraph & | pose_graph, |
| const Eigen::VectorXd & | zeta | ||
| ) |
The information matrix used here is consistent with [Choi et al 2015]. It is [-p_x | I]^T[-p_x | I]. \zeta is [\alpha \beta \gamma a b c] Another definition of information matrix used for [Kümmerle et al 2011] is [I | p_x] ^ T[I | p_x] so \zeta is [a b c \alpha \beta \gamma].
To see how H can be derived see [Kümmerle et al 2011]. Eq (9) for definition of H and b for k-th constraint. To see how the covariance matrix forms H, check g2o technical note: https ://github.com/RainerKuemmerle/g2o/blob/master/doc/g2o.pdf Eq (20) and Eq (21). (There is a typo in the equation though. B should be J)
This function focuses the case that every edge has two nodes (not hyper graph) so we have two Jacobian matrices from one constraint.
Definition at line 189 of file GlobalOptimization.cpp.
References cloudViewer::pipelines::registration::PoseGraphEdge::confidence_, cloudViewer::pipelines::registration::PoseGraph::edges_, GetJacobian(), GetRelativePoses(), cloudViewer::pipelines::registration::PoseGraphEdge::information_, cloudViewer::pipelines::registration::PoseGraph::nodes_, cloudViewer::pipelines::registration::PoseGraphEdge::source_node_id_, and cloudViewer::pipelines::registration::PoseGraphEdge::target_node_id_.
Referenced by cloudViewer::pipelines::registration::GlobalOptimizationGaussNewton::OptimizePoseGraph(), and cloudViewer::pipelines::registration::GlobalOptimizationLevenbergMarquardt::OptimizePoseGraph().
| double cloudViewer::pipelines::registration::ComputeLineProcessWeight | ( | const PoseGraph & | pose_graph, |
| const GlobalOptimizationOption & | option | ||
| ) |
Definition at line 323 of file GlobalOptimization.cpp.
References cloudViewer::pipelines::registration::PoseGraph::edges_, cloudViewer::pipelines::registration::GlobalOptimizationOption::max_correspondence_distance_, and cloudViewer::pipelines::registration::GlobalOptimizationOption::preference_loop_closure_.
Referenced by cloudViewer::pipelines::registration::GlobalOptimizationGaussNewton::OptimizePoseGraph(), and cloudViewer::pipelines::registration::GlobalOptimizationLevenbergMarquardt::OptimizePoseGraph().
| double cloudViewer::pipelines::registration::ComputeResidual | ( | const PoseGraph & | pose_graph, |
| const Eigen::VectorXd & | zeta, | ||
| const double | line_process_weight, | ||
| const GlobalOptimizationOption & | option | ||
| ) |
Function to compute residual defined in [Choi et al 2015] See Eq (9).
Definition at line 147 of file GlobalOptimization.cpp.
References cloudViewer::pipelines::registration::PoseGraphEdge::confidence_, cloudViewer::pipelines::registration::PoseGraph::edges_, and cloudViewer::pipelines::registration::PoseGraphEdge::information_.
Referenced by cloudViewer::pipelines::registration::GlobalOptimizationGaussNewton::OptimizePoseGraph(), and cloudViewer::pipelines::registration::GlobalOptimizationLevenbergMarquardt::OptimizePoseGraph().
| Eigen::VectorXd cloudViewer::pipelines::registration::ComputeZeta | ( | const PoseGraph & | pose_graph | ) |
Function to compute residual defined in [Choi et al 2015] See Eq (6).
Definition at line 164 of file GlobalOptimization.cpp.
References cloudViewer::pipelines::registration::PoseGraph::edges_, GetMisalignmentVector(), and GetRelativePoses().
Referenced by cloudViewer::pipelines::registration::GlobalOptimizationGaussNewton::OptimizePoseGraph(), and cloudViewer::pipelines::registration::GlobalOptimizationLevenbergMarquardt::OptimizePoseGraph().
| std::shared_ptr< PoseGraph > cloudViewer::pipelines::registration::CreatePoseGraphWithoutInvalidEdges | ( | const PoseGraph & | pose_graph, |
| const GlobalOptimizationOption & | option | ||
| ) |
Function to prune out uncertain edges having confidence_ < .edge_prune_threshold_
Definition at line 444 of file GlobalOptimization.cpp.
References cloudViewer::pipelines::registration::PoseGraphEdge::confidence_, cloudViewer::pipelines::registration::GlobalOptimizationOption::edge_prune_threshold_, cloudViewer::pipelines::registration::PoseGraph::edges_, cloudViewer::pipelines::registration::PoseGraph::nodes_, and cloudViewer::pipelines::registration::PoseGraphEdge::uncertain_.
Referenced by GlobalOptimization().
|
static |
Definition at line 81 of file Registration.cpp.
References cloudViewer::PointCloudTpl< T >::getEigenPoint(), max_correspondence_distance, and result.
Referenced by RegistrationRANSACBasedOnCorrespondence().
| RegistrationResult cloudViewer::pipelines::registration::EvaluateRegistration | ( | const ccPointCloud & | source, |
| const ccPointCloud & | target, | ||
| double | max_correspondence_distance, | ||
| const Eigen::Matrix4d & | transformation = Eigen::Matrix4d::Identity() |
||
| ) |
Function for evaluating registration between point clouds.
| source | The source point cloud. |
| target | The target point cloud. |
| max_correspondence_distance | Maximum correspondence points-pair distance. |
| transformation | The 4x4 transformation matrix to transform source to target. Default value: array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]]). |
Definition at line 110 of file Registration.cpp.
References GetRegistrationResultAndCorrespondences(), max_correspondence_distance, cloudViewer::geometry::KDTreeFlann::SetGeometry(), and ccPointCloud::Transform().
Referenced by FastGlobalRegistrationBasedOnCorrespondence(), and FastGlobalRegistrationBasedOnFeatureMatching().
| RegistrationResult cloudViewer::pipelines::registration::FastGlobalRegistrationBasedOnCorrespondence | ( | const ccPointCloud & | source, |
| const ccPointCloud & | target, | ||
| const CorrespondenceSet & | corres, | ||
| const FastGlobalRegistrationOption & | option = FastGlobalRegistrationOption() |
||
| ) |
Fast Global Registration based on a given set of correspondences.
| source | The source point cloud. |
| target | The target point cloud. |
| corres | Correspondence indices between source and target point clouds. |
| option | FGR options |
Definition at line 285 of file FastGlobalRegistration.cpp.
References AdvancedMatching(), EvaluateRegistration(), GetTransformationOriginalScale(), cloudViewer::pipelines::registration::FastGlobalRegistrationOption::maximum_correspondence_distance_, NormalizePointCloud(), OptimizePairwiseRegistration(), and cloudViewer::pipelines::registration::FastGlobalRegistrationOption::tuple_test_.
| RegistrationResult cloudViewer::pipelines::registration::FastGlobalRegistrationBasedOnFeatureMatching | ( | const ccPointCloud & | source, |
| const ccPointCloud & | target, | ||
| const utility::Feature & | source_feature, | ||
| const utility::Feature & | target_feature, | ||
| const FastGlobalRegistrationOption & | option = FastGlobalRegistrationOption() |
||
| ) |
Fast Global Registration based on a given set of FPFH features.
| source | The source point cloud. |
| target | The target point cloud. |
| corres | Correspondence indices between source and target point clouds. |
| option | FGR options |
Definition at line 326 of file FastGlobalRegistration.cpp.
References AdvancedMatching(), EvaluateRegistration(), GetTransformationOriginalScale(), InitialMatching(), cloudViewer::pipelines::registration::FastGlobalRegistrationOption::maximum_correspondence_distance_, NormalizePointCloud(), OptimizePairwiseRegistration(), cloudViewer::PointCloudTpl< T >::size(), std::swap(), and cloudViewer::pipelines::registration::FastGlobalRegistrationOption::tuple_test_.
| Eigen::Matrix6d cloudViewer::pipelines::registration::GetInformationMatrixFromPointClouds | ( | const ccPointCloud & | source, |
| const ccPointCloud & | target, | ||
| double | max_correspondence_distance, | ||
| const Eigen::Matrix4d & | transformation | ||
| ) |
| source | The source point cloud. |
| target | The target point cloud. |
| max_correspondence_distance | Maximum correspondence points-pair distance. |
| transformation | The 4x4 transformation matrix to transform source to target. |
Definition at line 358 of file Registration.cpp.
References cloudViewer::PointCloudTpl< T >::getEigenPoint(), GetRegistrationResultAndCorrespondences(), max_correspondence_distance, result, and ccPointCloud::Transform().
| std::tuple<Eigen::Matrix6d, Eigen::Matrix6d> cloudViewer::pipelines::registration::GetJacobian | ( | const Eigen::Matrix4d & | X_inv, |
| const Eigen::Matrix4d & | Ts, | ||
| const Eigen::Matrix4d & | Tt_inv | ||
| ) |
Definition at line 106 of file GlobalOptimization.cpp.
References GetLinearized6DVector(), and jacobian_operator.
Referenced by ComputeLinearSystem().
|
inline |
This function is intended for linearized form of SE(3). It is an approximate form. See [Choi et al 2015] for derivation. Alternatively, explicit representation that uses quaternion can be used here to replace this function. Refer to linearizeOplus() in https://github.com/RainerKuemmerle/g2o/blob/master/g2o/types/slam3d/edge_se3.cpp
Definition at line 78 of file GlobalOptimization.cpp.
Referenced by GetJacobian(), and GetMisalignmentVector().
|
inline |
Definition at line 87 of file GlobalOptimization.cpp.
References GetLinearized6DVector().
Referenced by ComputeZeta().
|
static |
Definition at line 23 of file Registration.cpp.
References cloudViewer::PointCloudTpl< T >::getEigenPoint(), max_correspondence_distance, result, cloudViewer::geometry::KDTreeFlann::SearchHybrid(), and cloudViewer::PointCloudTpl< T >::size().
Referenced by EvaluateRegistration(), GetInformationMatrixFromPointClouds(), and RegistrationICP().
|
inline |
Definition at line 96 of file GlobalOptimization.cpp.
References cloudViewer::pipelines::registration::PoseGraph::edges_, cloudViewer::pipelines::registration::PoseGraph::nodes_, cloudViewer::pipelines::registration::PoseGraphNode::pose_, cloudViewer::pipelines::registration::PoseGraphEdge::source_node_id_, cloudViewer::pipelines::registration::PoseGraphEdge::target_node_id_, and cloudViewer::pipelines::registration::PoseGraphEdge::transformation_.
Referenced by ComputeLinearSystem(), and ComputeZeta().
| Eigen::Matrix4d cloudViewer::pipelines::registration::GetTransformationOriginalScale | ( | const Eigen::Matrix4d & | transformation, |
| const std::vector< Eigen::Vector3d > & | pcd_mean_vec, | ||
| const double | scale_global | ||
| ) |
Definition at line 271 of file FastGlobalRegistration.cpp.
Referenced by FastGlobalRegistrationBasedOnCorrespondence(), and FastGlobalRegistrationBasedOnFeatureMatching().
| void cloudViewer::pipelines::registration::GlobalOptimization | ( | PoseGraph & | pose_graph, |
| const GlobalOptimizationMethod & | method = GlobalOptimizationLevenbergMarquardt(), |
||
| const GlobalOptimizationConvergenceCriteria & | criteria = GlobalOptimizationConvergenceCriteria(), |
||
| const GlobalOptimizationOption & | option = GlobalOptimizationOption() |
||
| ) |
Function to optimize a PoseGraph Reference: [Kümmerle et al 2011] R Kümmerle, G. Grisetti, H. Strasdat, K. Konolige, W. Burgard g2o: A General Framework for Graph Optimization, ICRA 2011 [Choi et al 2015] S. Choi, Q.-Y. Zhou, V. Koltun, Robust Reconstruction of Indoor Scenes, CVPR 2015 [M. Lourakis 2009] M. Lourakis, SBA: A Software Package for Generic Sparse Bundle Adjustment, Transactions on Mathematical Software, 2009
Definition at line 677 of file GlobalOptimization.cpp.
References CompensateReferencePoseGraphNode(), CreatePoseGraphWithoutInvalidEdges(), cloudViewer::pipelines::registration::GlobalOptimizationMethod::OptimizePoseGraph(), cloudViewer::pipelines::registration::GlobalOptimizationOption::reference_node_, and ValidatePoseGraph().
Referenced by pybind_global_optimization_methods().
|
static |
Definition at line 23 of file FastGlobalRegistration.cpp.
References cloudViewer::utility::Feature::data_, LogDebug, and cloudViewer::geometry::KDTreeFlann::SearchKNN().
Referenced by FastGlobalRegistrationBasedOnFeatureMatching().
|
static |
Definition at line 36 of file Registration.cpp.
References LogWarning, cloudViewer::io::ReadPointCloud(), and ccPointCloud::VoxelDownSample().
Referenced by BenchmarkICPLegacy().
| std::tuple<std::vector<Eigen::Vector3d>, double, double> cloudViewer::pipelines::registration::NormalizePointCloud | ( | std::vector< ccPointCloud > & | point_cloud_vec, |
| const FastGlobalRegistrationOption & | option | ||
| ) |
Definition at line 128 of file FastGlobalRegistration.cpp.
References LogDebug, LogError, and cloudViewer::pipelines::registration::FastGlobalRegistrationOption::use_absolute_scale_.
Referenced by FastGlobalRegistrationBasedOnCorrespondence(), and FastGlobalRegistrationBasedOnFeatureMatching().
| Eigen::Matrix4d cloudViewer::pipelines::registration::OptimizePairwiseRegistration | ( | const std::vector< ccPointCloud > & | point_cloud_vec, |
| const std::vector< std::pair< int, int >> & | corres, | ||
| double | scale_start, | ||
| const FastGlobalRegistrationOption & | option | ||
| ) |
Definition at line 185 of file FastGlobalRegistration.cpp.
References cloudViewer::pipelines::registration::FastGlobalRegistrationOption::decrease_mu_, cloudViewer::pipelines::registration::FastGlobalRegistrationOption::division_factor_, cloudViewer::PointCloudTpl< T >::getEigenPoint(), cloudViewer::pipelines::registration::FastGlobalRegistrationOption::iteration_number_, LogDebug, cloudViewer::pipelines::registration::FastGlobalRegistrationOption::maximum_correspondence_distance_, result, cloudViewer::utility::SolveLinearSystemPSD(), ccPointCloud::Transform(), and cloudViewer::utility::TransformVector6dToMatrix4d().
Referenced by FastGlobalRegistrationBasedOnCorrespondence(), and FastGlobalRegistrationBasedOnFeatureMatching().
| void cloudViewer::pipelines::registration::pybind_feature | ( | py::module & | m | ) |
Definition at line 18 of file feature.cpp.
References cloudViewer::docstring::ClassMethodDocInject(), cloudViewer::utility::Feature::data_, cloudViewer::utility::Feature::Dimension(), cloudViewer::utility::Feature::Num(), cloudViewer::utility::Feature::Resize(), cloudViewer::utility::Feature::SelectByIndex(), and patch::to_string().
| void cloudViewer::pipelines::registration::pybind_feature_methods | ( | py::module & | m | ) |
Definition at line 57 of file feature.cpp.
References cloudViewer::utility::ComputeFPFHFeature(), cloudViewer::utility::CorrespondencesFromFeatures(), and cloudViewer::docstring::FunctionDocInject().
| void cloudViewer::pipelines::registration::pybind_global_optimization | ( | py::module & | m | ) |
Definition at line 32 of file global_optimization.cpp.
References cloudViewer::docstring::ClassMethodDocInject(), cloudViewer::pipelines::registration::PoseGraphEdge::confidence_, cloudViewer::pipelines::registration::GlobalOptimizationOption::edge_prune_threshold_, cloudViewer::pipelines::registration::PoseGraph::edges_, cloudViewer::pipelines::registration::PoseGraphEdge::information_, cloudViewer::pipelines::registration::GlobalOptimizationConvergenceCriteria::lower_scale_factor_, max_correspondence_distance, cloudViewer::pipelines::registration::GlobalOptimizationOption::max_correspondence_distance_, cloudViewer::pipelines::registration::GlobalOptimizationConvergenceCriteria::max_iteration_, cloudViewer::pipelines::registration::GlobalOptimizationConvergenceCriteria::max_iteration_lm_, cloudViewer::pipelines::registration::GlobalOptimizationConvergenceCriteria::min_relative_increment_, cloudViewer::pipelines::registration::GlobalOptimizationConvergenceCriteria::min_relative_residual_increment_, cloudViewer::pipelines::registration::GlobalOptimizationConvergenceCriteria::min_residual_, cloudViewer::pipelines::registration::GlobalOptimizationConvergenceCriteria::min_right_term_, cloudViewer::pipelines::registration::PoseGraph::nodes_, cloudViewer::pipelines::registration::GlobalOptimizationMethod::OptimizePoseGraph(), cloudViewer::pipelines::registration::PoseGraphNode::pose_, cloudViewer::pipelines::registration::GlobalOptimizationOption::preference_loop_closure_, cloudViewer::pipelines::registration::GlobalOptimizationOption::reference_node_, cloudViewer::pipelines::registration::PoseGraphEdge::source_node_id_, cloudViewer::docstring::static_property, cloudViewer::pipelines::registration::PoseGraphEdge::target_node_id_, patch::to_string(), cloudViewer::pipelines::registration::PoseGraphEdge::transformation_, cloudViewer::pipelines::registration::PoseGraphEdge::uncertain_, and cloudViewer::pipelines::registration::GlobalOptimizationConvergenceCriteria::upper_scale_factor_.
| void cloudViewer::pipelines::registration::pybind_global_optimization_methods | ( | py::module & | m | ) |
Definition at line 304 of file global_optimization.cpp.
References cloudViewer::docstring::FunctionDocInject(), and GlobalOptimization().
| void cloudViewer::pipelines::registration::pybind_registration | ( | py::module & | m | ) |
Definition at line 689 of file registration.cpp.
Referenced by cloudViewer::pipelines::pybind_pipelines().
| void cloudViewer::pipelines::registration::pybind_registration_classes | ( | py::module & | m | ) |
Definition at line 67 of file registration.cpp.
References pybind11::detail::bind_default_constructor(), cloudViewer::pipelines::registration::CorrespondenceChecker::Check(), cloudViewer::docstring::ClassMethodDocInject(), cloudViewer::pipelines::registration::TransformationEstimation::ComputeRMSE(), cloudViewer::pipelines::registration::TransformationEstimation::ComputeTransformation(), cloudViewer::pipelines::registration::RANSACConvergenceCriteria::confidence_, cloudViewer::pipelines::registration::RegistrationResult::correspondence_set_, cloudViewer::pipelines::registration::FastGlobalRegistrationOption::decrease_mu_, cloudViewer::pipelines::registration::CorrespondenceCheckerBasedOnDistance::distance_threshold_, cloudViewer::pipelines::registration::FastGlobalRegistrationOption::division_factor_, cloudViewer::pipelines::registration::TransformationEstimationForGeneralizedICP::epsilon_, cloudViewer::pipelines::registration::RegistrationResult::fitness_, format, cloudViewer::pipelines::registration::RegistrationResult::inlier_rmse_, cloudViewer::pipelines::registration::FastGlobalRegistrationOption::iteration_number_, cloudViewer::pipelines::registration::TransformationEstimationForColoredICP::kernel_, cloudViewer::pipelines::registration::TransformationEstimationForGeneralizedICP::kernel_, cloudViewer::pipelines::registration::TransformationEstimationPointToPlane::kernel_, cloudViewer::pipelines::registration::TransformationEstimationForColoredICP::lambda_geometric_, cloudViewer::pipelines::registration::ICPConvergenceCriteria::max_iteration_, cloudViewer::pipelines::registration::RANSACConvergenceCriteria::max_iteration_, cloudViewer::pipelines::registration::FastGlobalRegistrationOption::maximum_tuple_count_, cloudViewer::pipelines::registration::ICPConvergenceCriteria::relative_fitness_, cloudViewer::pipelines::registration::ICPConvergenceCriteria::relative_rmse_, cloudViewer::pipelines::registration::CorrespondenceChecker::require_pointcloud_alignment_, patch::to_string(), cloudViewer::pipelines::registration::RegistrationResult::transformation_, cloudViewer::pipelines::registration::FastGlobalRegistrationOption::tuple_scale_, cloudViewer::pipelines::registration::FastGlobalRegistrationOption::tuple_test_, cloudViewer::pipelines::registration::FastGlobalRegistrationOption::use_absolute_scale_, and cloudViewer::pipelines::registration::TransformationEstimationPointToPoint::with_scaling_.
| void cloudViewer::pipelines::registration::pybind_registration_methods | ( | py::module & | m | ) |
Definition at line 588 of file registration.cpp.
| void cloudViewer::pipelines::registration::pybind_robust_kernels | ( | py::module & | m | ) |
Definition at line 38 of file robust_kernels.cpp.
References cloudViewer::docstring::ClassMethodDocInject(), cloudViewer::pipelines::registration::HuberLoss::k_, cloudViewer::pipelines::registration::CauchyLoss::k_, cloudViewer::pipelines::registration::GMLoss::k_, cloudViewer::pipelines::registration::TukeyLoss::k_, patch::to_string(), and cloudViewer::pipelines::registration::RobustKernel::Weight().
| RegistrationResult cloudViewer::pipelines::registration::RegistrationColoredICP | ( | const ccPointCloud & | source, |
| const ccPointCloud & | target, | ||
| double | max_distance, | ||
| const Eigen::Matrix4d & | init = Eigen::Matrix4d::Identity(), |
||
| const TransformationEstimationForColoredICP & | estimation = TransformationEstimationForColoredICP(), |
||
| const ICPConvergenceCriteria & | criteria = ICPConvergenceCriteria() |
||
| ) |
Function for Colored ICP registration.
This is implementation of following paper J. Park, Q.-Y. Zhou, V. Koltun, Colored Point Cloud Registration Revisited, ICCV 2017.
| source | The source point cloud. |
| target | The target point cloud. |
| max_distance | Maximum correspondence points-pair distance. |
| init | Initial transformation estimation. Default value: array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]]). |
| estimation | TransformationEstimationForColoredICP method. Can only change the lambda_geometric value and the robust kernel used in the optimization |
| criteria | Convergence criteria. |
Definition at line 246 of file ColoredICP.cpp.
References ccPointCloud::hasColors(), ccPointCloud::hasNormals(), LogError, and RegistrationICP().
| RegistrationResult cloudViewer::pipelines::registration::RegistrationGeneralizedICP | ( | const ccPointCloud & | source, |
| const ccPointCloud & | target, | ||
| double | max_correspondence_distance, | ||
| const Eigen::Matrix4d & | init = Eigen::Matrix4d::Identity(), |
||
| const TransformationEstimationForGeneralizedICP & | estimation = TransformationEstimationForGeneralizedICP(), |
||
| const ICPConvergenceCriteria & | criteria = ICPConvergenceCriteria() |
||
| ) |
Function for Generalized ICP registration.
This is implementation of following paper Generalized-ICP, RSS 2009.
| source | The source point cloud. |
| target | The target point cloud. |
| max_distance | Maximum correspondence points-pair distance. |
| init | Initial transformation estimation. Default value: array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]]). |
| criteria | Convergence criteria. |
Definition at line 150 of file GeneralizedICP.cpp.
References cloudViewer::pipelines::registration::TransformationEstimationForGeneralizedICP::epsilon_, max_correspondence_distance, and RegistrationICP().
| RegistrationResult cloudViewer::pipelines::registration::RegistrationICP | ( | const ccPointCloud & | source, |
| const ccPointCloud & | target, | ||
| double | max_correspondence_distance, | ||
| const Eigen::Matrix4d & | init = Eigen::Matrix4d::Identity(), |
||
| const TransformationEstimation & | estimation = TransformationEstimationPointToPoint(false), |
||
| const ICPConvergenceCriteria & | criteria = ICPConvergenceCriteria() |
||
| ) |
Functions for ICP registration.
| source | The source point cloud. |
| target | The target point cloud. |
| max_correspondence_distance | Maximum correspondence points-pair distance. |
| init | Initial transformation estimation. Default value: array([[1., 0., 0., 0.], [0., 1., 0., 0.], [0., 0., 1., 0.], [0., 0., 0., 1.]]) |
| estimation | Estimation method. |
| criteria | Convergence criteria. |
Definition at line 126 of file Registration.cpp.
References abs(), ColoredICP, cloudViewer::pipelines::registration::TransformationEstimation::ComputeTransformation(), cloudViewer::pipelines::registration::RegistrationResult::fitness_, GetRegistrationResultAndCorrespondences(), cloudViewer::pipelines::registration::TransformationEstimation::GetTransformationEstimationType(), ccPointCloud::hasNormals(), cloudViewer::pipelines::registration::RegistrationResult::inlier_rmse_, LogDebug, LogError, max_correspondence_distance, cloudViewer::pipelines::registration::ICPConvergenceCriteria::max_iteration_, PointToPlane, cloudViewer::pipelines::registration::ICPConvergenceCriteria::relative_fitness_, cloudViewer::pipelines::registration::ICPConvergenceCriteria::relative_rmse_, result, cloudViewer::geometry::KDTreeFlann::SetGeometry(), and ccPointCloud::Transform().
Referenced by BenchmarkICPLegacy(), cloudViewer::VisualizerForAlignment::KeyPressCallback(), main(), RegistrationColoredICP(), and RegistrationGeneralizedICP().
| RegistrationResult cloudViewer::pipelines::registration::RegistrationRANSACBasedOnCorrespondence | ( | const ccPointCloud & | source, |
| const ccPointCloud & | target, | ||
| const CorrespondenceSet & | corres, | ||
| double | max_correspondence_distance, | ||
| const TransformationEstimation & | estimation = TransformationEstimationPointToPoint(false), |
||
| int | ransac_n = 3, |
||
| const std::vector< std::reference_wrapper< const CorrespondenceChecker >> & | checkers = {}, |
||
| const RANSACConvergenceCriteria & | criteria = RANSACConvergenceCriteria(), |
||
| utility::optional< unsigned int > | seed = utility::nullopt |
||
| ) |
Function for global RANSAC registration based on a given set of correspondences.
| source | The source point cloud. |
| target | The target point cloud. |
| corres | Correspondence indices between source and target point clouds. |
| max_correspondence_distance | Maximum correspondence points-pair distance. |
| estimation | Estimation method. |
| ransac_n | Fit ransac with ransac_n correspondences. |
| checkers | Correspondence checker. |
| criteria | Convergence criteria. |
| seed | Random seed. |
Definition at line 180 of file Registration.cpp.
References cloudViewer::utility::ceil(), cloudViewer::pipelines::registration::TransformationEstimation::ComputeTransformation(), cloudViewer::pipelines::registration::RANSACConvergenceCriteria::confidence_, EvaluateRANSACBasedOnCorrespondence(), cloudViewer::pipelines::registration::RegistrationResult::fitness_, cloudViewer::utility::optional< T >::has_value(), cloudViewer::pipelines::registration::RegistrationResult::inlier_rmse_, cloudViewer::pipelines::registration::RegistrationResult::IsBetterRANSACThan(), LogDebug, max_correspondence_distance, cloudViewer::pipelines::registration::RANSACConvergenceCriteria::max_iteration_, result, ccPointCloud::Transform(), and cloudViewer::utility::optional< T >::value().
Referenced by RegistrationRANSACBasedOnFeatureMatching().
| RegistrationResult cloudViewer::pipelines::registration::RegistrationRANSACBasedOnFeatureMatching | ( | const ccPointCloud & | source, |
| const ccPointCloud & | target, | ||
| const utility::Feature & | source_feature, | ||
| const utility::Feature & | target_feature, | ||
| bool | mutual_filter, | ||
| double | max_correspondence_distance, | ||
| const TransformationEstimation & | estimation = TransformationEstimationPointToPoint(false), |
||
| int | ransac_n = 3, |
||
| const std::vector< std::reference_wrapper< const CorrespondenceChecker >> & | checkers = {}, |
||
| const RANSACConvergenceCriteria & | criteria = RANSACConvergenceCriteria(), |
||
| utility::optional< unsigned int > | seed = utility::nullopt |
||
| ) |
Function for global RANSAC registration based on feature matching.
| source | The source point cloud. |
| target | The target point cloud. |
| source_feature | Source point cloud feature. |
| target_feature | Target point cloud feature. |
| mutual_filter | Enables mutual filter such that the correspondence of the source point's correspondence is itself. |
| max_correspondence_distance | Maximum correspondence points-pair distance. |
| ransac_n | Fit ransac with ransac_n correspondences. |
| checkers | Correspondence checker. |
| criteria | Convergence criteria. |
| seed | Random seed. |
Definition at line 276 of file Registration.cpp.
References cloudViewer::utility::Feature::data_, LogDebug, max_correspondence_distance, RegistrationRANSACBasedOnCorrespondence(), cloudViewer::geometry::KDTreeFlann::SearchKNN(), and cloudViewer::PointCloudTpl< T >::size().
| int cloudViewer::pipelines::registration::UpdateConfidence | ( | PoseGraph & | pose_graph, |
| const Eigen::VectorXd & | zeta, | ||
| const double | line_process_weight, | ||
| const GlobalOptimizationOption & | option | ||
| ) |
Function to update line_process value defined in [Choi et al 2015] See Eq (2). temp2 value in this function is derived from dE/dl = 0
Definition at line 125 of file GlobalOptimization.cpp.
References cloudViewer::pipelines::registration::PoseGraphEdge::confidence_, cloudViewer::pipelines::registration::GlobalOptimizationOption::edge_prune_threshold_, cloudViewer::pipelines::registration::PoseGraph::edges_, cloudViewer::pipelines::registration::PoseGraphEdge::information_, and cloudViewer::pipelines::registration::PoseGraphEdge::uncertain_.
Referenced by cloudViewer::pipelines::registration::GlobalOptimizationGaussNewton::OptimizePoseGraph(), and cloudViewer::pipelines::registration::GlobalOptimizationLevenbergMarquardt::OptimizePoseGraph().
| std::shared_ptr<PoseGraph> cloudViewer::pipelines::registration::UpdatePoseGraph | ( | const PoseGraph & | pose_graph, |
| const Eigen::VectorXd | delta | ||
| ) |
Definition at line 241 of file GlobalOptimization.cpp.
References cloudViewer::pipelines::registration::PoseGraph::nodes_, and cloudViewer::utility::TransformVector6dToMatrix4d().
Referenced by cloudViewer::pipelines::registration::GlobalOptimizationGaussNewton::OptimizePoseGraph(), and cloudViewer::pipelines::registration::GlobalOptimizationLevenbergMarquardt::OptimizePoseGraph().
| Eigen::VectorXd cloudViewer::pipelines::registration::UpdatePoseVector | ( | const PoseGraph & | pose_graph | ) |
Definition at line 230 of file GlobalOptimization.cpp.
References cloudViewer::pipelines::registration::PoseGraph::nodes_, and cloudViewer::utility::TransformMatrix4dToVector6d().
Referenced by cloudViewer::pipelines::registration::GlobalOptimizationGaussNewton::OptimizePoseGraph(), and cloudViewer::pipelines::registration::GlobalOptimizationLevenbergMarquardt::OptimizePoseGraph().
| bool cloudViewer::pipelines::registration::ValidatePoseGraph | ( | const PoseGraph & | pose_graph | ) |
Definition at line 404 of file GlobalOptimization.cpp.
References cloudViewer::pipelines::registration::PoseGraphEdge::confidence_, cloudViewer::pipelines::registration::PoseGraph::edges_, LogDebug, LogWarning, cloudViewer::pipelines::registration::PoseGraph::nodes_, cloudViewer::pipelines::registration::PoseGraphEdge::source_node_id_, cloudViewer::pipelines::registration::PoseGraphEdge::target_node_id_, cloudViewer::pipelines::registration::PoseGraphEdge::uncertain_, and ValidatePoseGraphConnectivity().
Referenced by GlobalOptimization().
| bool cloudViewer::pipelines::registration::ValidatePoseGraphConnectivity | ( | const PoseGraph & | pose_graph, |
| bool | ignore_uncertain_edges = false |
||
| ) |
Definition at line 364 of file GlobalOptimization.cpp.
References cloudViewer::pipelines::registration::PoseGraph::edges_, cloudViewer::pipelines::registration::PoseGraph::nodes_, cloudViewer::pipelines::registration::PoseGraphEdge::source_node_id_, cloudViewer::pipelines::registration::PoseGraphEdge::target_node_id_, and cloudViewer::pipelines::registration::PoseGraphEdge::uncertain_.
Referenced by ValidatePoseGraph().
| const std::vector<Eigen::Matrix4d, utility::Matrix4d_allocator> cloudViewer::pipelines::registration::jacobian_operator |
Definition of linear operators used for computing Jacobian matrix. If the relative transform of the two geometry is reasonably small, they can be approximated as below linearized form SE(3) \approx = | 1 -gamma beta a | | gamma 1 -alpha b | | -beta alpha 1 c | | 0 0 0 1 | It is from sin(x) \approx x and cos(x) \approx 1 when x is almost zero. See [Choi et al 2015] for more detail. Reference list in GlobalOptimization.h
Definition at line 40 of file GlobalOptimization.cpp.
Referenced by GetJacobian().
|
static |
Definition at line 541 of file registration.cpp.
|
static |
Definition at line 34 of file Registration.cpp.
Referenced by BenchmarkICPLegacy(), EvaluateRANSACBasedOnCorrespondence(), EvaluateRegistration(), GetInformationMatrixFromPointClouds(), GetRegistrationResultAndCorrespondences(), cloudViewer::pipelines::registration::GlobalOptimizationOption::GlobalOptimizationOption(), pybind_global_optimization(), RegistrationGeneralizedICP(), RegistrationICP(), RegistrationRANSACBasedOnCorrespondence(), and RegistrationRANSACBasedOnFeatureMatching().
|
static |
Definition at line 29 of file Registration.cpp.
Referenced by BenchmarkICPLegacy(), and cloudViewer::t::pipelines::slac::SLACOptimizerParams::SLACOptimizerParams().
|
static |
Definition at line 27 of file Registration.cpp.
Referenced by BenchmarkICPLegacy().
|
static |
Definition at line 28 of file Registration.cpp.
Referenced by BenchmarkICPLegacy().
|
static |
Definition at line 31 of file Registration.cpp.
Referenced by BenchmarkICPLegacy().