Skip to content

iabaldwin/baller

Repository files navigation

    ___       ___       ___       ___       ___       ___   
   /\  \     /\  \     /\__\     /\__\     /\  \     /\  \  
  /::\  \   /::\  \   /:/  /    /:/  /    /::\  \   /::\  \ 
 /::\:\__\ /::\:\__\ /:/__/    /:/__/    /::\:\__\ /::\:\__\
 \:\::/  / \/\::/  / \:\  \    \:\  \    \:\:\/  / \;:::/  /
  \::/  /    /:/  /   \:\__\    \:\__\    \:\/  /   |:\/__/ 
   \/__/     \/__/     \/__/     \/__/     \/__/     \|__|  

Baller

Baller is a small interactive bundle adjustment playground. It can generate synthetic scenes, perturb the data and run a Ceres based optimisation while visualising every iteration. Two programs are provided:

  • simple_scene – generates a BAL format problem containing cameras, 3D points and their observations.
  • render – loads a problem file, adds noise and solves it while displaying the ground truth (green) and the current estimate (red), the Jacobian matrix and the projected observations.

The solver supports three modes:

  • slam – estimate cameras and points together.
  • localization – estimate cameras while keeping points fixed.
  • mapping – estimate points while keeping cameras fixed.

Requirements

Generate a simple bundle-adjustment problem:

$ cd build
$ ./simple_scene --output simple.txt
$ ./render --input simple.txt --mode slam

Which should give:

SFM

Other modes are:

$ ./render --input simple.txt --mode localization

SFM

or:

$ ./render --input simple.txt --mode mapping

SFM

In all cases, the Jacobians are rendered on the left-hand side of the image, and the reprojected points (per-camera) in the lower-right. Green is the ground-truth, red is estimated.

About

Bundle-adjustment visualization tool

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages