Skip to content

The official implementation of our CVPR 2021 paper - Hybrid Rotation Averaging: A Fast and Robust Rotation Averaging Approach

License

Notifications You must be signed in to change notification settings

evanokeeffe/GraphOptim

 
 

Repository files navigation

Graph Optimizer   Build Status License

This repo contains the official implementation of our CVPR 2021 paper - Hybrid Rotation Averaging: A Fast and Robust Rotation Averaging Approach. This library contains not only rotation averaging solvers, but also some popular methods in 3D vision, such as translation averaging, clustering, etc. The library is designed to deal with large scale optimization problems, and is easy to extend. Feel free to contribute to this project.

1. Features

  • A library which solves the optimization problems in 3D vision.
  • A template-based graph module which is easy to extend and to manipulate graph structures.
  • Rotation averaging solvers achieves state-of-the-art.
  • Translation averaging solvers (LUD, BATA).
  • Clustering methods (coming soon).
  • Bundle adjustment (needs more time to prepare).

2. Compilation

The library is compiled and tested on Ubuntu 16.04. We would like to support more platforms in the future.

2.1 Basic Requirements

This project requires Eigen 3.2. And Ceres 1.14.0 is currently used for stable conversions between different rotation representations (I'm managing on removing this dependency). You can install all the dependencies through the ./scripts/dependencies.sh.

bash ./scripts/dependencies.sh

2.3 Build GraphOptim

cd GraphOptim
mkdir build && cd build
cmake ..
make -j8

3. Running Examples

3.1 Rotation Averaging

./build/bin/rotation_estimator --g2o_filename=./data/synthetic/20_2.g2o

You can also try other g2o files.

3.2 Translation Averaging

The translation averaging methods are decoupled from another project, and are not fully tested.

./build/bin/position_estimator --g2o_filename=./data/synthetic/20_2.g2o

Contact

If you have any questions, contact me by [email protected].

About

The official implementation of our CVPR 2021 paper - Hybrid Rotation Averaging: A Fast and Robust Rotation Averaging Approach

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 87.9%
  • CMake 11.9%
  • Shell 0.2%