ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
cloudViewer::pipelines::registration::GMLoss Class Reference

#include <RobustKernel.h>

Inheritance diagram for cloudViewer::pipelines::registration::GMLoss:
Collaboration diagram for cloudViewer::pipelines::registration::GMLoss:

Public Member Functions

 GMLoss (double k)
 Parametrized Constructor. More...
 
double Weight (double residual) const override
 
- Public Member Functions inherited from cloudViewer::pipelines::registration::RobustKernel
virtual ~RobustKernel ()=default
 

Public Attributes

double k_
 Scaling paramter. More...
 

Detailed Description

German-McClure loss function used for outlier rejection.

The loss p(r) for a given residual 'r' is computed as follow: p(r) = (r^2 / 2) / (1 + (r / k)^2), for all r

Definition at line 146 of file RobustKernel.h.

Constructor & Destructor Documentation

◆ GMLoss()

cloudViewer::pipelines::registration::GMLoss::GMLoss ( double  k)
inlineexplicit

Parametrized Constructor.

Parameters
kIs the scaling paramter of the loss function.

Definition at line 151 of file RobustKernel.h.

Member Function Documentation

◆ Weight()

double cloudViewer::pipelines::registration::GMLoss::Weight ( double  residual) const
overridevirtual

The weight w(r) for a given residual 'r' is computed as follow: w(r) = k / (k + r^2)^2, for all r Where k Is the scaling paramter of the loss function.

Parameters
residualResidual value obtained during the optimization step.

Implements cloudViewer::pipelines::registration::RobustKernel.

Definition at line 40 of file RobustKernel.cpp.

References k_.

Member Data Documentation

◆ k_

double cloudViewer::pipelines::registration::GMLoss::k_

Scaling paramter.

Definition at line 162 of file RobustKernel.h.

Referenced by cloudViewer::pipelines::registration::pybind_robust_kernels(), and Weight().


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