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

#include <RobustKernel.h>

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

Public Member Functions

 TukeyLoss (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_
 

Detailed Description

This is the so called Tukey loss function which aggressively attempts to suppress large errors.

The loss p(r) for a given residual 'r' is computed as follow:

p(r) = k^2 * (1 - (1 - r / k^2)^3 ) / 2 for abs(r) <= k, p(r) = k^2 / 2 for abs(r) > k.

Definition at line 175 of file RobustKernel.h.

Constructor & Destructor Documentation

◆ TukeyLoss()

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

Parametrized Constructor.

Parameters
kIs a tunning constant for the Tukey Loss function.

Definition at line 180 of file RobustKernel.h.

Member Function Documentation

◆ Weight()

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

The weight w(r) for a given residual 'r' is computed as follow: p(r) = (1 - (r / k)^2 )^2 for abs(r) <= k, p(r) = 0.0 for abs(r) > k. 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 44 of file RobustKernel.cpp.

References abs(), k_, and min().

Member Data Documentation

◆ k_

double cloudViewer::pipelines::registration::TukeyLoss::k_

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