cvg/pyceres
Factor graphs with Ceres in Python
What it solves
It provides a way to use the Ceres Solver—a powerful C++ library for solving non-linear least squares problems—directly within Python. It also implements factor graphs specifically for tasks like bundle adjustment and pose graph optimization, which are critical for 3D reconstruction and robotics.
How it works
Pyceres acts as a set of minimal Python bindings for the C++ Ceres Solver. It allows users to define optimization factors (cost functions) either in Python or in C++, with the others being provided by libraries like PyCOLMAP for specific tasks such as reprojection error and epipolar geometry.
Who it’s for
Researchers and developers working on computer vision, 3D reconstruction, and robotics who need the mathematical optimization capabilities of Ceres Solver without leaving the Python environment.
Highlights
- Minimal Python bindings for the C++ Ceres Solver.
- Support for factor graph optimization, including bundle adjustment and pose graph optimization.
- Integration with PyCOLMAP for a variety of specialized cost functions.
- Cross-platform support for Linux, macOS (Intel and Apple Silicon), and Windows.
Related
- Project
- Project
- Project
- Project