Modeling and solving bundle adjustment problems
Résumé
We present a modeling of bundle adjustment problems in Julia, as well as a solver for non-linear least square problems (including bundle adjustment problems). The modeling uses NLPModelsJulia’s library and computes sparse Jacobians analytically. The solver is based on the Levenberg-Marquardt algorithm and uses QR or LDL factorization, with AMD or Metis permutation algorithm.The user can choose to use normalization and line search. Our experimental results contain comparisonof the several versions of the solver and comparison with Scipy’s leastsquare function and Ceres solveron the test problems given in [26]. We show that our solver is quite competitive with Scipy’s solverand Ceres solver in terms of convergence, and that it is in average two times faster than Scipy’s solverand three times slower than Ceres. However, the advantage of our solver is that it is coded is Juliaand thus allows the user to run it in several precisions in a very efficient way, in order to gain timeand energy (in small precisions) or accuracy (in big precisions).
Origine | Fichiers éditeurs autorisés sur une archive ouverte |
---|