svo
Semi-Direct Visual Odometry
|
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. | |
g2oFrameSE3 * | createG2oFrameSE3 (Frame *kf, size_t id, bool fixed) |
Create a g2o vertice from a keyframe object. | |
g2oPoint * | createG2oPoint (Vector3d pos, size_t id, bool fixed) |
Creates a g2o vertice from a mappoint object. | |
g2oEdgeSE3 * | 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. |
Local, global and 2-view bundle adjustment with g2o.
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.