hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce hyperion

Repository Summary

Description Symbolic Continuous-Time Gaussian Belief Propagation Framework with Ceres Interoperability
Checkout URI https://github.com/vis4rob-lab/hyperion.git
VCS Type git
VCS Version main
Last Updated 2024-11-24
Dev Status UNKNOWN
CI status No Continuous Integration
Released UNRELEASED
Tags python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
hyperion 1.0.0

README



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



About

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](https://github.com/symforce-org/symforce) to automate the generation of high-performance implementations for spline-related residuals from symbolic, high-level expressions. This results in the fastest, [Ceres](http://ceres-solver.org)-interoperable B- and Z-Spline implementations, achieving speedups of up to 110x over previous state-of-the-art methods. Links to [Paper](https://www.ecva.net/papers/eccv_2024/papers_ECCV/papers/04347.pdf), [Poster](https://eccv2024.ecva.net/media/PosterPDFs/ECCV%202024/2444.png), and [Video](https://www.youtube.com/watch?v=iubwqTzA8Do).

Citation

Hyperion was presented at the [European Conference on Computer Vision 2024 (ECCV 2024)](https://eccv2024.ecva.net). 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} } ```

Setup and Documentation

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](apps/pose3_absolute/main.cpp) in Hyperion, and two others for running [tests](tests/src/hyperion_tests/tests_main.cpp) and [benchmarks](benchmarks/src/hyperion_benchmarks/benchmarks_main.cpp). Hyperion's API closely mirrors that of [Ceres](http://ceres-solver.org), offering familiarity for users of that library. Additionally, a [sample benchmark](benchmarks/benchmark_results.xml) run is included for reference, detailing the metrics reported in the paper.



Contact

Admin - David Hug, Leonhardstrasse 21, 8092 Zürich, ETH Zürich, Switzerland

License

Hyperion is distributed under the BSD-3-Clause License


CONTRIBUTING

No CONTRIBUTING.md found.

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce

hyperion repository

python computer-vision cpp robotics code-generation slam sensor-fusion ceres-solver message-passing distributed-optimization eigen3 continuous-time gaussian-belief-propagation symforce