SCOP: An Open-Source JAX-Powered Framework for Generic Photogrammetric Bundle Adjustment
Keywords: Bundle Adjustment, Photogrammetry, Automatic Differentiation, Sparse Optimization, Python Framework
Abstract. We present SCOP, an open-source Python framework leveraging JAX automatic differentiation for generic photogrammetric bundle adjustment. Unlike traditional implementations relying on manually derived or symbolically precomputed Jacobians, SCOP computes analytically exact derivatives automatically for any camera model, enabling rapid prototyping of new sensor types. The framework implements sparse Jacobian assembly, Schur complement elimination, and Levenberg-Marquardt optimization with step acceptance control, tested on networks with 181k observations and 79k unknowns. We validate SCOP on both synthetic unmanned aerial vehicle (UAV) surveys and the real-world Roma dataset (60 images, 26k tie points), achieving σ0 = 0.575 px (identical to DBAT) while providing full statistical quality assessment (wi, zi) in less than 1 s per iteration. The educational design enables students to inspect bundle adjustment internals without manual derivative derivation.
