Overview
Sat-BundleAdjust is an open-source pipeline for refining Rational Polynomial Camera (RPC) models from feature correspondences across multiple satellite images.
The pipeline selects image pairs, extracts and matches features, builds multi-view feature tracks, and jointly optimises camera correction parameters through bundle adjustment. Corrected camera models are exported in RPC format for use in downstream tasks such as registration, orthorectification, stereo reconstruction, and change analysis.
Key capabilities
RPC-native workflow
Reads and processes RPC models using rpcm.
Configurable correspondences
Supports configurable pair selection, feature matching, and track construction.
Multi-date imagery
Handles seasonal and acquisition-dependent appearance changes.
RPC-format output
Exports corrected models using rpcfit.
Releases
v2.0.0 — Learned matching and similarity-based pair selection
2026A major extension of the original pipeline for robust processing of multi-date satellite image collections.
- Learned detector-based matching pipelines, including combinations such as SuperPoint + LightGlue.
- Similarity-based pair selection that retains a subset of visually compatible image pairs.
- Improved robustness to seasonal and other appearance changes.
v1.0.0 — Original IPOL implementation
2021The original implementation accompanying the 2021 IPOL article.
- Feature matching based on handcrafted detectors, descriptors, and matching methods.
- Image-pair selection based on stereo baseline distance and geographical overlap.
- RPC refinement through bundle adjustment using feature tracks as tie points.
Each release documents a specific version of the pipeline.
Installation and usage
Clone the repository and install the package in editable mode:
git clone https://github.com/centreborelli/sat-bundleadjust.git
cd sat-bundleadjust
pip install -e .
Run the pipeline with a JSON configuration file:
bundle_adjust config.json
See the repository README for configuration parameters, test data, and usage details.
Publications
A Generic Bundle Adjustment Methodology for Indirect RPC Model Refinement of Satellite Imagery
Roger Marí, Carlo de Franchis, Enric Meinhardt-Llopis, Jérémy Anger, and Gabriele Facciolo
Robust RPC Bundle Adjustment for Multi-Date Satellite Imagery with Season-Invariant Correspondences
Roger Marí, Elías Masquil, Xavier Bou, Thibaud Ehret, and Gabriele Facciolo