Open3D (C++ API)  0.18.0+5c982c7
Public Member Functions | Data Fields
open3d::t::pipelines::registration::TransformationEstimationForColoredICP Class Reference

#include <TransformationEstimation.h>

Inheritance diagram for open3d::t::pipelines::registration::TransformationEstimationForColoredICP:
open3d::t::pipelines::registration::TransformationEstimation

Public Member Functions

 ~TransformationEstimationForColoredICP () override
 
 TransformationEstimationForColoredICP (double lambda_geometric=0.968, const RobustKernel &kernel=RobustKernel(RobustKernelMethod::L2Loss, 1.0, 1.0))
 Constructor. More...
 
TransformationEstimationType GetTransformationEstimationType () const override
 
double ComputeRMSE (const geometry::PointCloud &source, const geometry::PointCloud &target, const core::Tensor &correspondences) const override
 Computes RMSE (double) for ColoredICP method, between two pointclouds, given correspondences. More...
 
core::Tensor ComputeTransformation (const geometry::PointCloud &source, const geometry::PointCloud &target, const core::Tensor &correspondences, const core::Tensor &current_transform=core::Tensor::Eye(4, core::Float64, core::Device("CPU:0")), const std::size_t iteration=0) const override
 Estimates the transformation matrix for ColoredICP method, a tensor of shape {4, 4}, and dtype Float64 on CPU device. More...
 
- Public Member Functions inherited from open3d::t::pipelines::registration::TransformationEstimation
 TransformationEstimation ()
 Default Constructor. More...
 
virtual ~TransformationEstimation ()
 

Data Fields

double lambda_geometric_ = 0.968
 
RobustKernel kernel_ = RobustKernel(RobustKernelMethod::L2Loss, 1.0, 1.0)
 RobustKernel for outlier rejection. More...
 

Detailed Description

This is implementation of following paper J. Park, Q.-Y. Zhou, V. Koltun, Colored Point Cloud Registration Revisited, ICCV 2017.

Class to estimate a transformation matrix tensor of shape {4, 4}, dtype Float64, on CPU device for colored-icp method.

Constructor & Destructor Documentation

◆ ~TransformationEstimationForColoredICP()

open3d::t::pipelines::registration::TransformationEstimationForColoredICP::~TransformationEstimationForColoredICP ( )
inlineoverride

◆ TransformationEstimationForColoredICP()

open3d::t::pipelines::registration::TransformationEstimationForColoredICP::TransformationEstimationForColoredICP ( double  lambda_geometric = 0.968,
const RobustKernel kernel = RobustKernel(RobustKernelMethod::L2Loss, 1.0, 1.0) 
)
inlineexplicit

Constructor.

Parameters
lamda_geometricλ ∈ [0,1] in the overall energy λEG + (1−λ)EC. Refer the documentation of Colored-ICP for more information.
kernel(optional) Any of the implemented statistical robust kernel for outlier rejection.

Member Function Documentation

◆ ComputeRMSE()

double open3d::t::pipelines::registration::TransformationEstimationForColoredICP::ComputeRMSE ( const geometry::PointCloud source,
const geometry::PointCloud target,
const core::Tensor correspondences 
) const
overridevirtual

Computes RMSE (double) for ColoredICP method, between two pointclouds, given correspondences.

Parameters
sourceSource pointcloud. (Float32 or Float64 type).
targetTarget pointcloud. (Float32 or Float64 type). It must contain normals, colors and color_gradients of the same shape and dtype as the positions.
correspondencesTensor of type Int64 containing indices of corresponding target points, where the value is the target index and the index of the value itself is the source index. It contains -1 as value at index with no correspondence.

Implements open3d::t::pipelines::registration::TransformationEstimation.

◆ ComputeTransformation()

core::Tensor open3d::t::pipelines::registration::TransformationEstimationForColoredICP::ComputeTransformation ( const geometry::PointCloud source,
const geometry::PointCloud target,
const core::Tensor correspondences,
const core::Tensor current_transform = core::Tensor::Eye(4, core::Float64core::Device("CPU:0")),
const std::size_t  iteration = 0 
) const
overridevirtual

Estimates the transformation matrix for ColoredICP method, a tensor of shape {4, 4}, and dtype Float64 on CPU device.

Parameters
sourceSource pointcloud. (Float32 or Float64 type).
targetTarget pointcloud. (Float32 or Float64 type). It must contain normals, colors and color_gradients of the same shape and dtype as the positions.
correspondencesTensor of type Int64 containing indices of corresponding target points, where the value is the target index and the index of the value itself is the source index. It contains -1 as value at index with no correspondence.
current_transformThe current pose estimate of ICP.
iterationThe current iteration number of the ICP algorithm.
Returns
transformation between source to target, a tensor of shape {4, 4}, type Float64 on CPU device.

Implements open3d::t::pipelines::registration::TransformationEstimation.

◆ GetTransformationEstimationType()

TransformationEstimationType open3d::t::pipelines::registration::TransformationEstimationForColoredICP::GetTransformationEstimationType ( ) const
inlineoverridevirtual

Field Documentation

◆ kernel_

RobustKernel open3d::t::pipelines::registration::TransformationEstimationForColoredICP::kernel_ = RobustKernel(RobustKernelMethod::L2Loss, 1.0, 1.0)

RobustKernel for outlier rejection.

◆ lambda_geometric_

double open3d::t::pipelines::registration::TransformationEstimationForColoredICP::lambda_geometric_ = 0.968

The documentation for this class was generated from the following files: