Jafar
|
Class GICP stands for Generalized ICP It is implementation of algorithm described in Generalized-ICP, Aleksandr V. More...
Class GICP stands for Generalized ICP It is implementation of algorithm described in Generalized-ICP, Aleksandr V.
Segal, Dirk Haehnel, and Sebastian Thrun. In Robotics: Science and Systems 2009.
It is aim is to align two 3D [2D] points cloud computing iteratively the best t3D that can perform it.
#include <gicp.hpp>
Public Member Functions | |
GICP (size_t max_nb_points=1024, double epsilon=1e-3, double max_dist=5., int K=20, int max_iter=100, int inner_max_iter=8, double ftol=0.01, double gtol=0.01) | |
GICP (const jblas::mat &model, jblas::mat &scene, double epsilon=1e-3, double max_dist=5., int K=20, int max_iter=100, int inner_max_iter=8, double ftol=0.01, double gtol=0.01) | |
void | addModelEntry (const jblas::vec3 &entry) |
void | addSceneEntry (const jblas::vec3 &entry) |
void | transform (const geom::T3D *t, jblas::vec3 &pt) |
void | computeCovarianceMatrices (const ANNpointArray &points, size_t nb_points, ANNkd_tree *points_tree, covariances &points_covariances) |
coputes normal per point within a neighborhood of K | |
int | align (const ANNpointArray &model_points, unsigned int nb_model_points, const covariances &model_covariances, const ANNpointArray &scene_points, ANNkd_tree *scene_tree, const covariances &scene_covariances, const geom::T3D *guess, geom::T3D *t) |
align the scene with the model | |
int | align_gsl (const ANNpointArray &model, unsigned int nb_model_points, const covariances &model_covariances, const ANNpointArray &scene, ANNkd_tree *scene_tree, const covariances &scene_covariances, const geom::T3D *guess, geom::T3D *t) |
void | run (geom::T3DEuler *guess=NULL) |
run gicpon the model and the scene points | |
double | f (const gsl_vector *x, void *params) |
void | df (const gsl_vector *x, void *params, gsl_vector *g) |
void | fdf (const gsl_vector *x, void *params, double *f, gsl_vector *g) |
geom::T3D * | get_final_t3d () |
Private Types | |
typedef std::vector < jblas::mat_column_major > | covariances |
a vector to store covariance matrixes | |
Private Member Functions | |
double | evaluate (const double *x, double *g, const int n, const double step) |
int | progress (const double *x, const double *g, const double fx, const double xnorm, const double gnorm, const double step, int n, int k, int ls) |
double | trace_at_b (const jblas::mat &a, const jblas::mat &b) |
Static Private Member Functions | |
static double | _evaluate (void *instance, const double *x, double *g, const int n, const double step) |
static int | _progress (void *instance, const double *x, const double *g, const double fx, const double xnorm, const double gnorm, const double step, int n, int k, int ls) |
Private Attributes | |
ANNpointArray | m_model_points |
model points cloud arranged in a natrix | |
ANNpointArray | m_scene_points |
scene points cloud arranged in a natrix | |
ANNkd_tree * | m_model_tree |
the indexed points | |
ANNkd_tree * | m_scene_tree |
unsigned int | m_model_nb_points |
number of points of the model | |
unsigned int | m_scene_nb_points |
number of points of the scene | |
jblas::mat | R |
jblas::mat | t |
int | m_K |
double | m_epsilon |
double | m_max_dist |
covariances | m_scene_covs |
covariances of the scene points | |
covariances | m_model_covs |
covariances of the model points | |
int | m_max_iter |
maximum number of iterations to be performed | |
int | m_lbfgs_max_iter |
maxmum number of iteration for the lbfgs algorithm | |
lbfgs_parameter_t | m_lbfgs_param |
lbfgs algorithm parameters | |
double | m_lbfgs_ftol |
lbfgs algorithm tolerance on f | |
double | m_lbfgs_gtol |
lbfgs algorithm tolerance on the gradient g | |
double * | m_x |
current x for lbfgs algorithm | |
double | m_fx |
the value of f(x) for lbfgs algorithm | |
int | nb_matches |
geom::T3D * | initial_t3d |
geom::T3D * | final_t3d |
std::vector < jblas::mat_column_major > | mahalanobis |
ANNidx * | indexes |
std::vector< ANNdist > | distances |
Generated on Wed Oct 15 2014 00:37:39 for Jafar by doxygen 1.7.6.1 |