PanoAir: A Panoramic Visual-Inertial SLAM with Cross-Time Real-World UAV Dataset
Organizations: School of Aeronautics and Astronautics, Sun Yat-sen University, Guangzhou 510275, China.
Abstract
Accurate pose estimation is fundamental for unmanned aerial vehicle (UAV) applications, where Visual-Inertial SLAM (VI-SLAM) provides a cost-effective solution for localization and mapping. However, existing VI-SLAM methods mainly rely on sensors with limited fields of view (FoV), which can lead to drift and even failure in complex UAV scenarios. Although panoramic cameras provide omnidirectional perception to improve robustness, panoramic VI-SLAM and corresponding real-world datasets for UAVs remain underexplored. To address this limitation, we first construct a real-world panoramic visual-inertial dataset covering diverse flight conditions, including varying illumination, altitudes, trajectory lengths, and motion dynamics. To achieve accurate and robust pose estimation under such challenging UAV scenarios, we propose a panoramic VI-SLAM framework that exploits the omnidirectional FoV via the proposed panoramic feature extraction and panoramic loop closure, enhancing feature constraints and ensuring global consistency. Extensive experiments on both the proposed dataset and public benchmarks demonstrate that our method achieves superior accuracy, robustness, and consistency, completing all 17 sequences without tracking failure and reducing the ATE by up to 47.1% compared with the best-performing baseline. Moreover, deployment on an embedded platform validates its practical applicability, achieving comparable computational efficiency to PC implementations. The source code and dataset are publicly available at https://github.com/YYWumm/PanoAir
Figures & tables
| Dataset | Publication | Setting | Panoramic | IMU | Real-world | Ground-truth |
| OpenVSLAM [ 15 ] | MM’19 | Handheld | ✓ | ✗ | ✓ | ✗ |
| Kitti-360 [ 25 ] | TPAMI’22 | Ground Vehicle | ✗ | ✓ | ✓ | SFM & GPS |
| 360VO [ 17 ] | ICRA’22 | Virtual scene | ✓ | ✗ | ✗ | Synthetic |
| 360VIO [ 18 ] | TII’23 | Ground Vehicle & Handheld | ✓ | ✓ | ✓ | MoCap & RTK |
| Pair360 [ 23 ] | RAL’24 | Ground Vehicle | ✓ | ✓ – | ✓ | GPS |
| TartanAir-V2 [ 26 ] | IROS’25 | Virtual scene | ✓ | ✓ | ✗ | Synthetic |
| Sequence | Condition | Avg. Speed (m/s) | Length (m) | Duration (s) |
| Seq 1 | Cloudy | 3.0 | 257 | 87 |
| Seq 2 | 5.5 | 822 | 150 | |
| Seq 3 | 7.3 | 1168 | 159 | |
| Seq 4 | 8.0 | 1262 | 158 | |
| Seq 5 | 10.0 | 1602 | 160 | |
| Seq 6 | Sunny | 4.0 | 803 | 200 |
| Sensor | Parameter | Rate |
| Camera | Rolling Shutter Panoramic: 1280x640; Front fisheye: 640x640; Pinhole: 980x640 | 30 Hz |
| IMU | 6-axis Accelerometer noise density: Accelerometer random walk: Gyroscope noise density: Gyroscope random walk: | 1000 Hz |
| RTK | Horizontal: 1 cm+ 1 ppm(RMS); Vertical: 2 cm+ 1 ppm(RMS) | 5 Hz |
| Method | Settings | Cloudy | Sunny | Night | Avg. | Succ. | |||||||||||||||
| Sensor | LC | Seq1 | Seq2 | Seq3 | Seq4 | Seq5 | Seq6 | Seq7 | Seq8 | Seq9 | Seq10 | Seq11 | Seq12 | Seq13 | Seq14 | Seq15 | Seq16 | Seq17 | |||
| ORB-SLAM3 [ 1 ] | FI | ✓ | 0.800 | 0.596 | ✗ | 3.969 | ✗ | 0.403 | 0.293 | 0.633 | 1.874 | 3.503 | 0.907 | 1.019 | 0.868 | 4.539 | 3.030 | ✗ | 1.637 | ✗ | 83% |
| VINS-mono [ 2 ] | FI | ✓ | 0.555 | 1.085 | 1.889 | 2.835 | 2.816 | 0.359 | 0.344 | 1.153 | 3.417 | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | 10.930 | ✗ | 59% |
| Droid-SLAM * [ 47 ] | P | — | 0.243 | 0.369 | 0.435 | ✗ | 1.211 | 0.423 | 0.253 | 11.387 | 1.046 | 0.519 | 3.970 | 0.675 | 0.373 | ✗ | ✗ | ✗ | 15.425 | ✗ | 76% |
| OpenVSLAM * [ 15 ] | O | ✓ | 0.370 | 0.535 | 0.496 | 0.703 | 0.758 | 0.722 | 0.449 | 0.544 | 1.294 | 0.478 | 0.864 | ✗ | 0.593 | 0.382 | 0.755 | 0.799 | 1.397 | ✗ | 94% |
| 360DVO * [ 28 ] | O | ✗ | 0.388 | 1.199 | 1.119 | 1.677 | 3.677 | 1.259 | 0.247 | 0.893 | 3.927 | 1.044 | 0.978 | 0.696 | 0.298 | 0.828 | 0.984 | 2.582 | 1.963 | 1.398 | 100% |
| Method | Sequence | Successful Runs | ATE RMSE (m) |
| ORB-SLAM3 [ 1 ] | Seq3 | 2/5 | |
| Seq5 | 1/5 | ||
| Seq16 | 2/5 | ||
| VINS-Mono [ 2 ] | Seq10 | 0/5 | – |
| Seq11 | 0/5 | – | |
| Seq12 | 0/5 | – |
| Methods | Settings | Seq 1 (Easy) | Seq 2 (Medium) | Seq 3 (Hard) | Avg. | |||||
| Sensor | LC | ATE | RPE | ATE | RPE | ATE | RPE | ATE | RPE | |
| ORB-SLAM3 [ 1 ] † | FI | ✓ | 0.186 | 0.108 | 0.256 | 0.068 | 0.186 | 0.086 | 0.209 | 0.087 |
| VINS-mono [ 2 ] † | FI | ✓ | 1.406 | 0.082 | 2.960 | 0.242 | ✗ | ✗ | ✗ | ✗ |
| OpenVSLAM * [ 15 ] | O | ✗ | 0.149 | 0.049 | 0.058 | 0.068 | ✗ | ✗ | ✗ | ✗ |
| 360DVO * [ 28 ] | O | ✗ | 0.184 | 0.049 | 0.217 | 0.067 | 0.520 | 0.089 | 0.307 | 0.068 |
| 360-VIO [ 18 ] † | OI | ✗ | 0.456 | 0.058 | 0.390 | 0.088 | 0.632 | 0.122 | 0.493 | 0.089 |
| End position (x,y,z in meters) | Handheld indoor 330 m | Handheld outdoor 5.5 km |
| Ours(Without Loop) | -1.52, -0.53, -0.74 | -9.92, -49.37, -28.43 |
| Ours(With Loop) | -0.01, 0.00, 0.01 | -1.39, -0.08, 0.36 |
| Setting | Cloudy | Sunny | Night | Indoor | Total count |
| With positive-depth check | 18 | 20 | 16 | 10 | 64 |
| Without positive-depth check | 21 | 23 | 17 | 11 | 72 |
| Method | ATE(m) | ||||
| Cloudy | Sunny | Night | Indoor | Avg. | |
| w/o learning-based feature | 1.095 | 0.558 | 0.930 | ✗ | ✗ |
| w/o hand-crafted feature | 1.566 | 0.553 | ✗ | 0.574 | ✗ |
| w/o distortion weight | 1.342 | 0.556 | 0.789 | 0.150 | 0.709 |
| w/o panoramic loop closure | 2.170 | 1.087 | 1.517 | 0.145 | 1.223 |
| w/o omnidirectional FOV | 1.482 | 0.599 | ✗ | 0.322 | ✗ |
| Runtime(ms) | Cloudy(Seq5) | Sunny(Seq9) | Night(Seq17) | Avg. | ||||||||
| PC 1 | PC 2 | OrinNX 3 | PC 1 | PC 2 | OrinNX 3 | PC 1 | PC 2 | OrinNX 3 | PC 1 | PC 2 | OrinNX 3 | |
| HybridFeature Extraction | 14.0 | 14.1 | 76.5 | 13.9 | 13.6 | 74.3 | 12.4 | 12.7 | 65.6 | 13.4 | 13.5 | 72.1 |
| Local Optimization | 9.0 | 6.9 | 32.8 | 9.2 | 7.0 | 33.1 | 7.9 | 6.4 | 29.7 | 8.7 | 6.8 | 31.9 |
| Total Tracking | 25.6 | 23.1 | 118.7 | 26.1 | 23.3 | 119.8 | 22.9 | 20.8 | 104.0 | 24.9(40fps) | 22.4(45fps) | 114.2(9fps) |
Visual-Inertial SLAM
Visual-inertial simultaneous localization and mapping (SLAM) combines camera and inertial data to estimate motion and build consistent maps.
See all 29 papers