Graphite  0.5.0
GPU-accelerated graph optimization framework
Loading...
Searching...
No Matches
graphite::optimizer Namespace Reference

Optimization algorithms for Graphite. More...

Classes

class  AdamOptions
 
class  GradientDescentOptions
 
class  LevenbergMarquardtOptions
 Levenberg-Marquardt options. More...
 

Functions

template<typename T , typename S >
bool adam (Graph< T, S > *graph, AdamOptions< T, S > *options)
 Adam optimization algorithm.
 
template<typename T , typename S >
bool gradient_descent (Graph< T, S > *graph, GradientDescentOptions< T, S > *options)
 Naive gradient descent optimization algorithm.
 
template<typename T , typename S >
compute_rho (Graph< T, S > *graph, thrust::device_vector< T > &delta_x, const T chi2, const T new_chi2, const T mu, const bool step_is_good)
 
template<typename T , typename S >
bool levenberg_marquardt (Graph< T, S > *graph, LevenbergMarquardtOptions< T, S > *options)
 Levenberg-Marquardt optimization algorithm.
 
template<typename T , typename S >
bool levenberg_marquardt2 (Graph< T, S > *graph, LevenbergMarquardtOptions< T, S > *options)
 Levenberg-Marquardt with similar early termination stopping criteria to ORB-SLAM.
 

Detailed Description

Optimization algorithms for Graphite.

Function Documentation

◆ adam()

template<typename T , typename S >
bool graphite::optimizer::adam ( Graph< T, S > *  graph,
AdamOptions< T, S > *  options 
)

Adam optimization algorithm.

Template Parameters
TScalar type
SScalar type
Parameters
graphGraph to optimize
optionsOptions for the optimization
Returns
true if optimization completed successfully, false otherwise

◆ gradient_descent()

template<typename T , typename S >
bool graphite::optimizer::gradient_descent ( Graph< T, S > *  graph,
GradientDescentOptions< T, S > *  options 
)

Naive gradient descent optimization algorithm.

Template Parameters
TScalar type
SScalar type
Parameters
graphGraph to optimize
optionsOptions for the optimization
Returns
true if optimization completed successfully, false otherwise

◆ levenberg_marquardt()

template<typename T , typename S >
bool graphite::optimizer::levenberg_marquardt ( Graph< T, S > *  graph,
LevenbergMarquardtOptions< T, S > *  options 
)

Levenberg-Marquardt optimization algorithm.

Template Parameters
TScalar type
SScalar type
Parameters
graphGraph to optimize
optionsOptions for the optimization
Returns
true if optimization completed successfully, false otherwise

◆ levenberg_marquardt2()

template<typename T , typename S >
bool graphite::optimizer::levenberg_marquardt2 ( Graph< T, S > *  graph,
LevenbergMarquardtOptions< T, S > *  options 
)

Levenberg-Marquardt with similar early termination stopping criteria to ORB-SLAM.

Template Parameters
TScalar type
SScalar type
Parameters
graphGraph to optimize
optionsOptions for the optimization
Returns
true if optimization completed successfully, false otherwise