Open3D (C++ API)  0.17.0
Public Member Functions | Data Fields
open3d::pipelines::registration::HuberLoss Class Reference

#include <RobustKernel.h>

Inheritance diagram for open3d::pipelines::registration::HuberLoss:
open3d::pipelines::registration::RobustKernel

Public Member Functions

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

Data Fields

double k_
 Scaling parameter. More...
 

Detailed Description

HuberLoss loss function used for outlier rejection.

The loss p(r) for a given residual 'r' is computed as follow: p(r) = r^2 for abs(r) <= k, p(r) = k^2 * (abs(r) - k/2) for abs(r) > k

For more information: http://en.wikipedia.org/wiki/Huber_Loss_Function

Constructor & Destructor Documentation

◆ HuberLoss()

open3d::pipelines::registration::HuberLoss::HuberLoss ( double  k)
inlineexplicit

Parametrized Constructor.

Parameters
kIs the scaling parameter of the huber loss function. 'k' corresponds to 'delta' on this page: http://en.wikipedia.org/wiki/Huber_Loss_Function

Member Function Documentation

◆ Weight()

double open3d::pipelines::registration::HuberLoss::Weight ( double  residual) const
overridevirtual

The weight w(r) for a given residual 'r' is computed as follow: w(r) = 1.0 for abs(r) <= k, w(r) = k / abs(r) for abs(r) > k Where k Is the scaling parameter of the loss function.

Parameters
residualResidual value obtained during the optimization step.

Implements open3d::pipelines::registration::RobustKernel.

Field Documentation

◆ k_

double open3d::pipelines::registration::HuberLoss::k_

Scaling parameter.


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