opentl::core::util::GaussNewton Class Reference

Gauss-Newton optimization. This class implements a single Gauss-Newton optimization step for nonlinear least-squares problems. For efficiency reasons, it uses cached data structures, related to the measurement size, and the number of pose degrees of freedom. More...

Inherits opentl::core::util::ParameterContainer.

List of all members.

Classes

struct  GaussNewtonData_Key_dof
struct  GaussNewtonData_Key_dof_and_featSize
 structure for caching individual GN-terms (single features). key = pose dof (left 16bits) AND feature size (right 16bits) More...

Public Types


Public Member Functions

 GaussNewton ()
 Constructor.
double gaussNewtonUpdate (const std::vector< core::cvdata::T_MEAS_FEAT * > &measurements, opentl::core::cvdata::Pose &currPose, opentl::math::Vector *priorGrad=NULL, opentl::math::SquareMatrix *priorHess=NULL, opentl::math::SquareMatrix *estCov=NULL)
 Perform Gauss-Newton parameter update (used in order to upgrade from feature to object level) for all targets.
void init ()
 Initialization.
 ~GaussNewton ()


Detailed Description

Gauss-Newton optimization. This class implements a single Gauss-Newton optimization step for nonlinear least-squares problems. For efficiency reasons, it uses cached data structures, related to the measurement size, and the number of pose degrees of freedom.


Member Typedef Documentation

structure for caching individual GN-terms (single features). key = pose dof (left 16bits) AND feature size (right 16bits)


Member Enumeration Documentation

Enumerator:
OFFLINE_COUNT 

Enumerator:
param_MEstimator  M-estimator for robust LSE.
param_MEstimatorThresh  M-estimator parameter (threshold for outliers).
param_enableDampingFactor  flag to enable damping factor in case of a singular matrix
param_dampingFactorDeterminantMinThreshold  min. threshold of Hessian determinant value for enabling damping
param_dampingFactorMax  maximum damping factor
ONLINE_COUNT 

Possible M-estimators.

Enumerator:
NONE  Standard LSE.
TUKEY  Tukey estimator.
HUBER  Huber estimator.
EDGE_SALIENCY  Edge saliency correction (see the paper of Drummond).


Constructor & Destructor Documentation

opentl::core::util::GaussNewton::GaussNewton (  ) 

Constructor.

opentl::core::util::GaussNewton::~GaussNewton (  ) 


Member Function Documentation

double opentl::core::util::GaussNewton::gaussNewtonUpdate ( const std::vector< core::cvdata::T_MEAS_FEAT * > &  measurements,
opentl::core::cvdata::Pose currPose,
opentl::math::Vector priorGrad = NULL,
opentl::math::SquareMatrix priorHess = NULL,
opentl::math::SquareMatrix estCov = NULL 
)

Perform Gauss-Newton parameter update (used in order to upgrade from feature to object level) for all targets.

Parameters:
measurements Input vector of multi-modal measurements and Jacobians (feature-level) related to a single target
currPose Input and output pose (updated with Gauss-Newton in the incremental parameters)
priorGrad Input: gradient of the prior distribution
priorHess Input: Hessian of the prior distribution
estCov Output: covariance of the estimate (= invert Gauss-Newton matrix)
Returns:
Norm of incremental vector

void opentl::core::util::GaussNewton::init (  )  [inline, virtual]

Initialization.

Implements opentl::core::util::ParameterContainer.


Generated on Thu Jun 10 21:08:09 2010 for OpenTL by  doxygen 1.5.8