Camera Calibration Using Inaccurate and Asynchronous Discrete GPS Trajectory from Drones
Authors: R. Yang, Y. Bar-Shalom, H. A. J. Huang
Organizations: DSO National Laboratories, 12 Science Park Drive, Singapore 118225 · Department of ECE, University of Connecticut, Storrs, CT 06269, USA
This paper considers a stationary camera calibration problem, which estimates the camera orientation angles yaw, pitch and roll, using a drone trajectory recorded by a GPS. There are three challenges in using a GPS trajectory as ground truth for camera calibration. One, the altitude of GPS data is inaccurate with an unknown bias. Two, the GPS receiver and camera are not time synchronized, and there is an unknown time offset between the two systems. Three, the GPS trajectory is time-discrete and accurate interpolation is needed. This is actually an estimation problem since velocity is also needed. To address the first two challenges, we formulate the problem as a parameter estimation problem to estimate a vector consisting of the GPS altitude bias and time offset in addition to the camera yaw, pitch and roll biases. We then develop a special maximum likelihood estimator using the Iterated Least Squares algorithm which can work with a non-synchronized time-discrete GPS trajectory for the third challenge. Since the camera measurement errors are usually small, this requires a high calibration accuracy so that the residual bias error following the calibration should not be significant compared to the measurement error standard deviation. The calibration accuracy depends highly on the drone trajectory. This paper also recommends an appropriate drone trajectory which can yield a good calibration accuracy, namely, 14% of the measurement error standard deviation. Simulation tests are conducted to demonstrate the algorithm performance. The estimation results meet the Cramer-Rao Lower Bound (CRLB) since the Normalized Estimation Error Squared w.r.t.\ the CRLB is statistically acceptable.
Figures & tables
Fig. 1: Camera and image coordinate systems.
x
[xyz]′ , a point in the common (ENU) coordinate system.
xC
[xCyCzC]′ , a point in the camera coordinate system.
xI
[xIyI]′ , a point in the image coordinate system.
xs
[xsyszs]′ sensor (camera) position.
α
camera pointing azimuth or yaw (clockwise from N).
ϵ
camera pointing elevation or pitch (up from horizontal).
ρ
camera roll (ideally zero), clockwise around the center of
TABLE I: Notations
Fig. 2: True and GPS trajectories.
Fig. 3: The ILS estimation algorithm.
Fig. 4: The LS fitting algorithms. (a) One-step LS fitting approach developed in [ 26 ] . (b) Two-step LS fitting approach used in the present paper.
Fig. 5: Test scenario 1. Target moves in constant velocity in a vertical rectangle (1,2,3,4) twice. The higher and lower horizontal edges are at altitudes 284m and 84m, respectively, and near and far vertical edges are at ranges 200m and 500m, respectively. The target speed is 12.5m/s. (a) Top view in the 3D common coordinates. (b) Trajectory in image coordinates.
Fig. 6: Test scenario 2. Target moves in constant velocity, makes a 180 o turn, and flies back in constant velocity. The target speed is 12.5m/s. (a) Top view in the 3D common coordinates. (b) Trajectory in image coordinates.
Scenario
Parameter
RMSE
σCRLB
α —yaw (mdeg)
0.23
0.21
ϵ —pitch (mdeg)
0.87
0.82
1
ρ —roll (mdeg)
2.90
2.81
ℏ — (mm)
4.69
4.35
τ (ms)
0.27
0.22
α —yaw (mdeg)
1.34
1.05
TABLE II: CRLB and RMSE from 100 runs
Fig. 7: Measured and GPS converted trajectories of scenario 1, where the actual and nominal yaw, roll and time difference are set to the same values as α=32o , ρ=2.3o and τ=1.35 s, respectively. The actual and nominal pitch are ϵ=4.1o and 2o , respectively. The actual and nominal GPS altitude bias are 10m and 0m, respectively.
Fig. 8: Measured and GPS converted trajectories of scenario 2, where the actual and nominal yaw, roll and time difference are set to the same values as α=32o , ρ=2.3o and τ=1.35 s, respectively. The actual and nominal pitch are ϵ=4.1o and 2o , respectively. The actual and nominal GPS altitude bias are 10m and 0m, respectively.
Fig. 9: NEES of 100 runs of the scenario 1.
Fig. 10: NEES of 100 runs of the scenario 2.
Fig. 11: Biased errors on all 5 × 5 grids. (a) The biased error caused by calibration error on yaw of 0.23mdeg. (b) The biased error caused by calibration error on pitch of 0.87mdeg. (c) The biased error caused by calibration error on roll of 2.9mdeg.
Fig. 12: Biased errors on all 5 × 5 grids. (a) Increases the yaw, pitch and roll by 0.23mdeg, 0.87mdeg and 2.9mdeg, respectively. (b) Reduces the yaw, pitch and roll by 0.23mdeg, 0.87mdeg and 2.9mdeg, respectively.
Calibration error
Bias
(mdeg)
(pixel)
α
ϵ
ρ
Min.
Max.
Mean
Stdv.
RMS
0.23
0
0
0.050
0.050
0.050
0.000
0.050
0
0.87
0
0.187
0.192
0.189
0.001
0.189
0
0
2.90
0.000
0.110
0.064
0.025
0.059
0.23
0.87
2.90
0.134
0.285
0.210
0.033
0.200
TABLE III: Biased error in pixel caused by the calibration error
Continuous 6-DoF pose estimation is essential for autonomous UAV operations. Yet, existing visual odometry and SLAM methods accumulate drift and yield only relative, up-to-scale trajectories. Single-frame geo-localization, in turn, discards temporal continuity and remains too slow for real-time use. We present OrthoTrack, a training-free system that estimates continuous 6-DoF UAV trajectories using only publicly available orthophotos and surface models as a map prior. OrthoTrack matches keyframes against the orthophoto and lifts correspondences to metric 3D via the surface model. It then propagates these map-anchored correspondences to intermediate frames with optical flow, producing absolute, metrically scaled poses at every frame without GPS or post-hoc alignment. We also introduce the MovingDrone Dataset, a large-scale benchmark pairing photorealistic UAV sequences with dense 6-DoF ground truth and co-registered multi-modal geodata including multi-temporal orthophotos. On MovingDrone and real-world benchmarks, OrthoTrack runs in real time on a single GPU. It outperforms all baselines by a large margin, even those receiving oracle scale and alignment. By relying on publicly available geodata, OrthoTrack enables deployment to new regions without site-specific adaptation.
Oussema Dhaouadi, Zuria Bauer, Johannes Michael Meier +3
ETH Zurich · TU Munich · University of Cambridge +2
Accurate extrinsic calibration of inertial sensors, such as Inertial Measurement Units (IMUs) and cameras is crucial for trajectory estimation of Uncrewed Aerial Vehicles (UAVs). While numerous calibration methods have been proposed, these techniques often rely on specialized equipment, planar targets, and an initial estimate of the calibration parameters. In this research, we propose a targetless calibration method designed for UAVs equipped with IMUs and RGB-Depth (RGB-D) cameras. Our approach leverages deep-learning-based floor-segmentation to extract ground points from the depth channel of RGB-D images. Subsequently, the normal vector to these points is estimated. The known orientation of the normal to the floor segment and the gravity vector sensed in the accelerometer's frame are utilized in a robust estimation approach to estimate the extrinsic calibration parameters. We illustrate that the developed method outperforms MATLAB's Toolboxes and exhibits similar performance to Kalibr without the use of specialized checkerboard targets.
Ilyar Asl Sabbaghian Hokmabadi, Mahdis Bisheban
Postdoctoral Associate, Department of Mechanical and Manufacturing Engineering, 40 Research Pl NW, Calgary · Assistant Professor, Department of Mechanical and Manufacturing Engineering, 40 Research Pl NW, Calgary, AIAA Member. This work was supported by the Natural Sciences and Engineering Research Council of Canada (NSERC), the Government of Alberta, Alberta Innovates, and the Schulich School of Engineering at the University of Calgary. Funding was awarded to Dr. Mahdis Bisheban, Director of the Intelligent Dynamics and Control Lab and Assistant Professor at the University of Calgary.
We introduce SCAR, a method for long-term auto-calibration refinement of aerial visual-inertial systems that exploits georeferenced satellite imagery as a persistent global reference. SCAR estimates both intrinsic and extrinsic parameters by aligning aerial images with 2D--3D correspondences derived from publicly available orthophotos and elevation models. In contrast to existing approaches that rely on dedicated calibration maneuvers or manually surveyed ground control points, our method leverages external geospatial data to detect and correct calibration degradation under field deployment conditions. We evaluate our approach on six large-scale aerial campaigns conducted over two years under diverse seasonal and environmental conditions. Across all sequences, SCAR consistently outperforms established baselines (Kalibr, COLMAP, VINS-Mono), reducing median reprojection error by a large margin, and translating these calibration gains into substantially lower visual localization rotation errors and higher pose accuracy. These results demonstrate that SCAR provides accurate, robust, and reproducible calibration over long-term aerial operations without the need for manual intervention.
Henry Hölzemann, Michael Schleiss
Department of Sensor Data and Information Fusion, Fraunhofer FKIE, 53343 Wachtberg, Germany · Chair of Astronautics, University of the Bundeswehr Munich, 85579 Neubiberg, Germany