ScalLoc: Continuous Oblique Thermal UAV Geo-Localization with a 2D Satellite Map
Organizations: College of Systems Engineering, National University of Defense Technology, Changsha 410073, China
Abstract
Cross-modal Thermal Geo-localization (TG) provides an illumination-robust positioning solution for Unmanned Aerial Vehicles (UAVs) in Global Navigation Satellite System (GNSS)-denied environments. However, existing thermal geo-localization methods mainly focus on near-nadir observations or depend on map-side elevation priors, limiting their applicability to continuous oblique thermal localization with only geo-referenced 2D satellite maps. To address this problem, we propose ScalLoc, a scale-aligned local-to-map localization framework for continuous oblique thermal UAV geo-localization. ScalLoc follows a reconstruction--refinement--anchoring--propagation design: it reconstructs local window geometry from thermal sequences, refines camera poses using track-based pose optimization, adaptively anchors each window to the satellite map, and propagates validated states to recover frame-level global trajectories. To support systematic evaluation, we construct Thermal-Oblique, a real thermal UAV sequence dataset containing 216 urban and rural day--night trajectories and 28,112 thermal frames with frame-level annotations. Extensive experiments demonstrate that ScalLoc reduces the mean localization error from 112.69 m to 26.97 m compared with the VGGT-only configuration, corresponding to a 76.07% reduction, and achieves the lowest frame-weighted mean position error among the compared methods. These results demonstrate the feasibility of continuous oblique thermal geo-localization using only lightweight 2D satellite maps, without requiring digital surface models or preconstructed 3D maps. Code and dataset are available at https://github.com/FloralHercules/ScalLoc.
Figures & tables
| Dataset | Year | UAV Modality | Reference Map | Scale (images) | Viewpoint | Metric Position | Trajectory-level Eval. |
| University-1652 [ 11 ] | 2020 | Synthetic RGB | Satellite | 50.2K | Multi-view | ||
| SUES-200 [ 15 ] | 2023 | Real RGB | Satellite | 24.1K | Multi-view | ||
| UAVD4L [ 8 ] | 2024 | Real RGB | 3D mesh + DSM | 1.6K | Near-nadir | ✓ | |
| UAVD4L-LoD [ 9 ] | 2024 | Real RGB | LoD3.0 model | 3.8K | Near-nadir | ✓ | |
| AnyVisLoc [ 16 ] | 2025 | Real RGB | Satellite + DSM | 18.0K | Multi-view | ✓ | |
| OrthoLoC [ 10 ] | 2025 | Real RGB | Satellite + DSM | 16.4K | Nadir + oblique | ✓ |
| Method | Straight | Curve | Orbit | All Frames ME SD | All Frames MedE | Time Per Frame | |||
| Pos. Acc@5/10/20 | Yaw Acc@3/5/10 | Pos. Acc@5/10/20 | Yaw Acc@3/5/10 | Pos. Acc@5/10/20 | Yaw Acc@3/5/10 | ||||
| A. DSM-assisted Geo-localization Methods | |||||||||
| SCC-Loc [ 18 ] | 16.53 / 31.50 / 43.70 | 28.55 / 44.27 / 55.47 | 19.23 / 36.86 / 51.08 | 29.03 / 49.30 / 63.46 | 27.66 / 51.06 / 65.64 | 32.37 / 58.17 / 74.87 | 15.43 | 1.97 | |
| OrthoLoC [ 10 ] | 23.16 / 40.15 / 49.35 | 29.40 / 47.26 / 57.32 | 26.19 / 44.50 / 55.37 | 27.94 / 49.35 / 62.97 | 34.91 / 60.85 / 74.86 | 37.25 / 64.60 / 81.87 | 10.36 | 1.36 | |
| OrthoTrack [ 17 ] | 31.12 / 46.92 / 55.62 | 45.32 / 67.85 / 87.18 | 21.47 / 33.15 / 39.00 | 24.08 / 38.27 / 50.38 | 21.13 / 41.92 / 58.33 | 34.16 / 55.43 / 75.09 | 17.85 | 0.55 | |
| B. Scale-aligned Sequence-only Methods | |||||||||
| Method | Pos. Acc@5/10/20 | Yaw Acc@3/5/10 | ME SD | MedE |
| VGGT | 2.78 / 5.58 / 12.46 | 53.14 / 64.24 / 77.50 | 78.98 | |
| VGGT + BA | 4.70 / 8.25 / 16.28 | 56.34 / 67.57 / 80.31 | 72.36 | |
| VGGT + Anchor | 12.74 / 31.26 / 61.21 | 42.51 / 71.02 / 88.96 | 15.54 | |
| VGGT + BA + Anchor (Without Validation) | 3.81 / 15.46 / 30.18 | 60.32 / 70.32 / 83.25 | 45.66 | |
| VGGT + BA + Anchor (Ours) | 17.81 / 39.46 / 69.18 | 45.46 / 74.68 / 92.25 | 12.66 |
| Trajectory | VGGT Time | BA Time | Anchor Time | Window Time | Avg. Frame Time |
| Straight | 2.87 | 0.08 | 2.88 | 6.73 | 0.57 |
| Curve | 2.65 | 0.06 | 2.79 | 6.32 | 0.56 |
| Orbit | 2.66 | 0.06 | 1.74 | 5.22 | 0.44 |
| Scene | Lighting | Pos. Acc@5/10/20 | Yaw Acc@3/5/10 | ME SD | MedE |
| Urban | Day | 24.54 / 49.77 / 76.35 | 43.11 / 78.15 / 93.44 | 10.07 | |
| Night | 19.11 / 44.05 / 74.32 | 55.23 / 81.36 / 94.84 | 11.26 | ||
| Rural | Day | 12.33 / 29.56 / 63.02 | 42.09 / 72.08 / 92.61 | 15.59 | |
| Night | 15.57 / 35.06 / 63.58 | 41.88 / 67.67 / 88.33 | 14.71 |
| Window Size | Keyframe Count | Straight | Curve | Orbit | All Frames | Time Per Frame | ||||
| ME | MedE | ME | MedE | ME | MedE | ME | MedE | |||
| 8 | 1 | 19.77 | 6.93 | 18.09 | 9.82 | 59.21 | 26.77 | 33.78 | 12.24 | 0.614 |
| 3 | 16.84 | 8.30 | 13.85 | 11.41 | 59.21 | 26.77 | 33.72 | 13.26 | 0.740 | |
| 5 | 15.14 | 8.11 | 13.38 | 11.35 | 59.21 | 26.77 | 35.20 | 13.10 | 0.868 | |
| 12 | 1 | 17.21 | 6.90 | 18.99 | 10.97 | 48.41 | 18.60 | 29.10 | 11.76 | 0.507 |
| 3 | 13.99 | 8.69 | 14.90 | 12.53 | 48.41 | 18.60 | 26.97 | 12.66 | 0.561 | |
| Pitch Perturbation | Relative Height Perturbation | Pos. Acc@20 | Yaw Acc@10 | ME SD | MedE |
| 69.18 | 92.25 | 12.66 | |||
| 68.71 | 92.24 | 12.80 | |||
| 68.29 | 92.30 | 12.96 | |||
| 67.42 | 92.48 | 13.23 | |||
| 67.27 | 92.36 | 13.40 | |||
| 66.37 | 92.24 | 13.60 |
Cross-View Geo-Localization
Cross-view geo-localization matches ground, drone, or aerial images to maps or satellite views to estimate where they were captured.
See all 94 papers