svo
Semi-Direct Visual Odometry
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Classes | Functions
svo::ba Namespace Reference

Local, global and 2-view bundle adjustment with g2o. More...

Classes

struct  EdgeContainerSE3
 Temporary container to hold the g2o edge with reference to frame and point. More...

Functions

void twoViewBA (Frame *frame1, Frame *frame2, double reproj_thresh, Map *map)
 Optimize two camera frames and their observed 3D points.
void localBA (Frame *center_kf, set< FramePtr > *core_kfs, Map *map, size_t &n_incorrect_edges_1, size_t &n_incorrect_edges_2, double &init_error, double &final_error)
 Local bundle adjustment.
void globalBA (Map *map)
 Global bundle adjustment.
void setupG2o (g2o::SparseOptimizer *optimizer)
 Initialize g2o with solver type, optimization strategy and camera model.
void runSparseBAOptimizer (g2o::SparseOptimizer *optimizer, unsigned int num_iter, double &init_error, double &final_error)
 Run the optimization on the provided graph.
g2oFrameSE3createG2oFrameSE3 (Frame *kf, size_t id, bool fixed)
 Create a g2o vertice from a keyframe object.
g2oPointcreateG2oPoint (Vector3d pos, size_t id, bool fixed)
 Creates a g2o vertice from a mappoint object.
g2oEdgeSE3createG2oEdgeSE3 (g2oFrameSE3 *v_kf, g2oPoint *v_mp, const Vector2d &f_up, bool robust_kernel, double huber_width, double weight=1)
 Creates a g2o edge between a g2o keyframe and mappoint vertice with the provided measurement.

Detailed Description

Local, global and 2-view bundle adjustment with g2o.


Function Documentation

g2oEdgeSE3* svo::ba::createG2oEdgeSE3 ( g2oFrameSE3 v_kf,
g2oPoint v_mp,
const Vector2d &  f_up,
bool  robust_kernel,
double  huber_width,
double  weight = 1 
)

Creates a g2o edge between a g2o keyframe and mappoint vertice with the provided measurement.

g2oFrameSE3* svo::ba::createG2oFrameSE3 ( Frame *  kf,
size_t  id,
bool  fixed 
)

Create a g2o vertice from a keyframe object.

g2oPoint* svo::ba::createG2oPoint ( Vector3d  pos,
size_t  id,
bool  fixed 
)

Creates a g2o vertice from a mappoint object.

void svo::ba::globalBA ( Map *  map)

Global bundle adjustment.

Optimizes the whole map. Is currently not used in SVO.

void svo::ba::localBA ( Frame *  center_kf,
set< FramePtr > *  core_kfs,
Map *  map,
size_t &  n_incorrect_edges_1,
size_t &  n_incorrect_edges_2,
double &  init_error,
double &  final_error 
)

Local bundle adjustment.

Optimizes core_kfs and their observed map points while keeping the neighbourhood fixed.

void svo::ba::runSparseBAOptimizer ( g2o::SparseOptimizer *  optimizer,
unsigned int  num_iter,
double &  init_error,
double &  final_error 
)

Run the optimization on the provided graph.

void svo::ba::setupG2o ( g2o::SparseOptimizer *  optimizer)

Initialize g2o with solver type, optimization strategy and camera model.

void svo::ba::twoViewBA ( Frame *  frame1,
Frame *  frame2,
double  reproj_thresh,
Map *  map 
)

Optimize two camera frames and their observed 3D points.

Is used after initialization.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines