A high-performance Continuous-Time Gaussian Belief Propagation (CT-GBP) framework with fully automated symbolic factor generation and seamless Ceres interoperability targeting distributed SLAM operations!
Report Issues or Request Features
Hyperion is a novel, modular, distributed, high-performance optimization framework targeting both discrete- and
continuous-time SLAM (Simultaneous Localization and Mapping) applications. It stands out by offering the
first open-source C++ implementation of a Gaussian-Belief-Propagation-based Non-Linear Least Squares solver, which,
in turn, offers native support for decentralized, stochastic inference on factor graphs. In addition, Hyperion also
extends SymForce to automate the generation of high-performance
implementations for spline-related residuals from symbolic, high-level expressions. This results in the fastest,
Ceres-interoperable B- and Z-Spline implementations, achieving speedups of up to 110x over
previous state-of-the-art methods. Links to Paper,
Poster, and
Video.
Hyperion was presented at the European Conference on Computer Vision 2024 (ECCV 2024). Until the final version of record becomes available, please cite its archived version as follows:
@inproceedings{Hug:etal:ECCV2024,
title={{Hyperion -- A fast, versatile symbolic Gaussian Belief Propagation framework for Continuous-Time SLAM}},
author={David Hug and Ignacio Alzugaray and Margarita Chli},
booktitle={Computer Vision -- ECCV 2024},
year={2024},
publisher={Springer Nature Switzerland},
address={Cham},
pages={215--231},
isbn={978-3-031-73404-5},
doi={10.1007/978-3-031-73404-5_13}
}
Additional documentation for installing and using Hyperion will be available soon. The framework comprises two main modules: a Python-based symbolic code generation module and an optimization module for performing inference on general factor graphs. Currently, three executables are provided: one for demonstrating how to set up a minimization problem in Hyperion, and two others for running tests and benchmarks. Hyperion's API closely mirrors that of Ceres, offering familiarity for users of that library. Additionally, a sample benchmark run is included for reference, detailing the metrics reported in the paper.