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},
}