H-GBP

H-GBP.

Fast Bundle Adjustment and Pose Graph Optimization via Hierarchical Message Passing.

Yuzhou ChengTom YatesIgnacio AlzugarayDanyal AkarcaPedro A. M. MedianoAndrew J. Davison

THE IDEA

Smooth high-frequency error. Correct low-frequency error.

01   Local GBP smooths high-frequency error
Animated mechanism illustration

01 / BUNDLE ADJUSTMENT

Bundle
adjustment.

H-GBP combines Gaussian message passing and hierarchical correction on the landmark-reduced camera system. It is the fastest evaluated CPU method on all ten BA benchmarks; final costs are reported alongside runtime.

1,778 cameras · 993,923 points · 5,001,946 observations

3.45×vs. PowerBA
16-thread CPU

H-GBP16 threadsLoading capture
Reprojection cost —5.89 s total
PowerBA16 threadsLoading capture
Reprojection cost —20.32 s total
0.00 s
Early iterations are slowed on a shared nonlinear clock.

Loading recorded reconstruction states...

What is shown, and how is it timed?

Venice1778: all 1,778 camera centers and 40,000 sampled landmarks. Both cost curves use identical axes; each marker is a completed outer iteration.

02 / POSE GRAPH OPTIMIZATION

Pose graph
optimization.

GBP smooths high-frequency error; hierarchical correction reduces low-frequency error. H-GBP achieves the lowest measured runtime on the three largest pose graphs: Grid, Globe10k and Globe100k.

10,000 poses · 20,899 factors · odometry initialization

—vs. g2o-Cholesky
same odometry start, 20 outer

H-GBP16 threadsLoading capture
PGO cost ——
g2o-Cholesky1 threadLoading capture
PGO cost ——
0.00 s
A shared nonlinear clock makes the early correction visible.

Loading recorded pose graph states...

What is shown, and how is it timed?

Black: odometry. Red: sampled loop closures. Both runs start from integrated odometry, with unchanged measurements. Demo timings are measured separately from the paper table.

03 / BENCHMARKS

Runtime
and final cost.

Runtime [s], with final cost below. Blue marks the lowest runtime.

Loading benchmark data...

Paper Tables 1 and 2. Native solver timing boundaries and stopping policies follow the paper and reproduction code; these are not identical end-to-end application timings or matched-cost comparisons. OOM: out of memory; >2000: timeout.

Standard BAL for bundle adjustment; g2o for SE2 and SE3 pose graphs. Isolated adapters support model export and COLMAP text input.

Cite the paper

@article{cheng2026hierarchy,
  title={Hierarchy-GBP: Accelerating Factor Graph Inference via Abstraction and Recovery},
  author={Cheng, Yuzhou and Yates, Tom and Alzugaray, Ignacio and Akarca, Danyal and Mediano, Pedro A. M. and Davison, Andrew J.},
  journal={arXiv preprint arXiv:2610.06978}, year={2026}
}