Giter VIP home page Giter VIP logo

rotation_coordinate_descent's Introduction


Rotation Coordinate Descent for Fast Globally Optimal Rotation Averaging

Rotation Coordinate Descent (RCD) is a fast rotation averaging algorithm that achieves global optimality under mild noise conditions on the noise level of the measurements.

Citation

@inproceedings{parra2021rotation,
  title={Rotation Coordinate Descent for Fast Globally Optimal Rotation Averaging},
  author={Parra, Alvaro and Chng, Shin-Fang and Chin, Tat-Jun and Eriksson, Anders and Reid, Ian},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
  pages={4298--4307},
  year={2021}
}

Quick Start

This demo runs in MATLAB, with RCD and RCDL compiled in C++. We tested under version R2020a on systems with:

  • macOS Catalina
  • Ubuntu 18.04

Setup

Dependencies:

  1. CMake 3.0 or later required cmake installation link

    • MacOS
      brew install cmake

    • Ubuntu
      sudo apt-get install cmake

  2. SuiteSparse required

    • MacOS brew install suite-sparse

    • Ubuntu sudo apt-get install libsuitesparse-dev

Running demo

Building RCD and RCDL libraries

We provide a script build.sh to build RCD and RCDL. Please make sure you have installed all required dependencies (see Section 1). Execute

chmod +x build.sh
 ./build.sh

which will create the executables RCD and RCDL in bin folder.

Running RCD

Run demo_rcd.m in MATLAB.

Here, we provide a demonstration on 3 different SfM camera graphs where number of nodes = 1000, 2000 and 3000 and graph density = 0.4. This demo is expected to finish in about 1 minute, which will generate the following outputs:

Running RCDL

Run demo_rcdl.m in MATLAB.

Here, we provide a demonstration on 2 different SLAM camera graphs which are torus3D and grid3D. This demo is expected to finish in about 1 minute, which will generate the following outputs:

rotation_coordinate_descent's People

Contributors

jedai026 avatar sfchng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

rotation_coordinate_descent's Issues

Code files deleted in recent commit

Hi, thanks for the excellent paper and for making this codebase.

It looks like all of the MATLAB and C++ source files were deleted in a recent commit -- was this intentional? Could these be added back? Thanks!

2D rotation averaging and weighted rotation averaging

Thanks for the code.

I have too questions:

  • Does the code support 2D rotation averaging?
  • Does the code support weighted rotation averaging? That is, can I specify weights in front of the Frobenius norm?

Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.