Julia code for the paper Certifiably Optimal Anisotropic Rotation Averaging that (1) incorporates uncertainties of optimized two-view relative rotations into anisotropic costs in a certifiably optimal rotation averaging, and (2) proposes a conv(SO(3)) relaxation which is stronger than the commonly used O(3), demonstrating its superior performance.
The code is tested on Julia 1.11.3. The required packages can be installed using requirements.jl. These are:
- LinearAlgebra
- Statistics
- JuMP
- SCS
The main code for the solver is in anisotropic_ra.jl.
An example of running it is in demo.jl.
The SDP program is implemented using the conic splitting solver with the JuMP wrapper in Julia.
If you find this work useful in your research, consider citing:
@article{olsson2025certifiably,
author = {Olsson, Carl and Lochman, Yaroslava and Malmport, Johan and Zach, Christopher},
title = {Certifiably Optimal Anisotropic Rotation Averaging},
journal = {arXiv preprint arXiv:2503.07353},
year = {2025},
}