VIRD: View-Invariant Representation through Dual-Axis Transformation for Cross-View Pose Estimation
Organizations: Urban Robotics Lab, School of Electrical Engineering, KAIST · Hanwha Aerospace
Abstract
Accurate global localization is critical for autonomous driving and robotics, but GNSS-based approaches often degrade due to occlusion and multipath effects. As an emerging alternative, cross-view pose estimation predicts the 3-DoF camera pose corresponding to a ground-view image with respect to a geo-referenced satellite image. However, existing methods struggle to bridge the significant viewpoint gap between the ground and satellite views mainly due to limited spatial correspondences. We propose a novel cross-view pose estimation method that constructs view-invariant representations through dual-axis transformation (VIRD). VIRD first applies a polar transformation to the satellite view to facilitate horizontal correspondence, then uses context-enhanced positional attention on the ground and polar-transformed satellite features to mitigate vertical misalignment, explicitly bridging the viewpoint gap. To further strengthen view invariance, we introduce a view-reconstruction loss that encourages the derived representations to reconstruct the original and cross-view images. Experiments on the KITTI and VIGOR datasets demonstrate that VIRD outperforms the state-of-the-art methods without orientation priors, reducing median position and orientation errors by 50.7% and 76.5% on KITTI, and 18.0% and 46.8% on VIGOR, respectively.
Figures & tables
| Position | Orientation | |||||||||||
| Error (m) ↓ | Lateral recall (%) ↑ | Lon. recall (%) ↑ | Error ( ∘ ) ↓ | Recall (%) ↑ | ||||||||
| Method | Backbone | Area | Mean | Med. | R@1m | R@5m | R@1m | R@5m | Mean | Med. | R@1 ∘ | R@5 ∘ |
| HighlyAccurate [ 18 ] | VGG16 | Same | 15.51 | 15.97 | 5.17 | 25.44 | 4.66 | 25.39 | 89.91 | 90.75 | 0.61 | 2.89 |
| SliceMatch [ 11 ] | VGG16 | Same | 9.39 | 5.41 | 39.73 | 87.92 | 13.63 | 49.22 | 8.71 | 4.42 | 11.35 | 55.82 |
| CCVPE [ 35 ] | EfficientNet-B0 | Same | 6.88 | 3.47 | 53.30 | 85.13 | 25.84 | 68.49 | 15.01 | 6.12 | 8.96 | 42.75 |
| DenseFlow ∗ [ 23 ] | ResNet18 [ 6 ] | Same | 6.47 | 4.26 | 73.87 | 97.27 | 14.82 | 58.50 | 3.72 | 0.99 | 50.62 | 90.06 |
| Same-Area | Cross-Area | |||||||||
| Position (m) ↓ | Orientation ( ∘ ) ↓ | Position (m) ↓ | Orientation ( ∘ ) ↓ | |||||||
| Method | Backbone | Aligned | Mean | Median | Mean | Median | Mean | Median | Mean | Median |
| MCC [ 34 ] | VGG16 | ✓ | 6.94 | 3.64 | - | - | 9.05 | 5.14 | - | - |
| SliceMatch [ 11 ] | VGG16 | ✓ | 5.18 | 2.58 | - | - | 5.53 | 2.55 | - | - |
| CCVPE [ 35 ] | EfficientNet-B0 | ✓ | 3.60 | 1.36 | - | - | 4.97 | 1.68 | - | - |
| DenseFlow [ 23 ] | ResNet18 | ✓ | 3.03 | 0.97 | - | - | 5.01 | 2.42 | - | - |
| Pos. error (m) ↓ | Orien. error ( ∘ ) ↓ | |||
| Mean | Med. | Mean | Med. | |
| Projective (S2G) | 14.37 | 10.59 | 37.92 | 3.84 |
| Projective (G2S) | 17.10 | 15.20 | 47.62 | 5.44 |
| Polar | 15.26 | 11.75 | 39.92 | 4.00 |
| Polar + PA (Ours) | 13.92 | 9.76 | 35.17 | 3.44 |
| Polar + CEPA (Ours) | 13.83 | 8.88 | 31.35 | 3.36 |
| Pos. error (m) ↓ | Orien. error ( ∘ ) ↓ | |||
| Mean | Med. | Mean | Med. | |
| Polar + CEPA | 13.83 | 8.88 | 31.35 | 3.36 |
| + | 13.34 | 8.29 | 28.26 | 3.31 |
| + | 12.84 | 8.10 | 26.30 | 3.21 |
| + + | 12.72 | 7.90 | 21.91 | 3.05 |
| + + + | 12.30 | 7.05 | 25.10 | 2.22 |
| Pos. error (m) ↓ | Orien. error ( ∘ ) ↓ | |||
| Mean | Med. | Mean | Med. | |
| Sinusoidal pe | 13.92 | 9.76 | 35.17 | 3.44 |
| Sinusoidal learnable pe | 14.28 | 10.63 | 33.82 | 3.41 |
| Learnable pe | 15.23 | 12.06 | 36.23 | 4.04 |
| 2D sinusoidal pe | 14.68 | 10.31 | 33.57 | 3.57 |
| Pos. error (m) ↓ | Orien. error ( ∘ ) ↓ | |||
| Mean | Med. | Mean | Med. | |
| 12.72 | 7.90 | 21.91 | 3.05 | |
| 13.14 | 8.30 | 25.74 | 3.31 | |
| SSIM | 12.92 | 8.00 | 25.23 | 3.34 |
| Percep | 14.00 | 9.78 | 29.55 | 3.31 |
| Cylindrical | Pos. error (m) ↓ | Orien. error ( ∘ ) ↓ | ||
| projection | Mean | Med. | Mean | Med. |
| × | 15.26 | 11.75 | 39.92 | 4.00 |
| ✓ | 15.10 | 11.62 | 38.97 | 4.13 |
| Pos. error (m) ↓ | Orien. error ( ∘ ) ↓ | |||
| Mean | Med. | Mean | Med. | |
| 0.1 | 16.09 | 13.21 | 38.54 | 4.34 |
| 0.05 | 15.26 | 11.75 | 39.92 | 4.00 |
| 0.01 | 17.18 | 14.93 | 53.59 | 6.17 |
| Pos. error (m) ↓ | Orien. error ( ∘ ) ↓ | |||||
| Mean | Med. | Mean | Med. | |||
| 0.1 | 0 | 0 | 13.43 | 8.54 | 30.08 | 3.30 |
| 1 | 0 | 0 | 13.34 | 8.29 | 28.26 | 3.31 |
| 5 | 0 | 0 | 13.90 | 9.04 | 27.01 | 3.34 |
| 1 | 5 | 0 | 12.61 | 7.64 | 25.72 | 3.16 |
| 1 | 10 | 0 | 12.72 | 7.90 | 21.91 | 3.05 |
| Lat. (%) ↑ | Lon. (%) ↑ | Orien. (%) ↑ | ||
| Range | Area | R@1m | R@1m | R@1 ∘ |
| m, m, | Same | 79.30 | 29.21 | 44.16 |
| m, m, | Same | 79.46 | 31.65 | 49.32 |
| m, m, | Same | 74.77 | 28.49 | 51.63 |
| m, m, | Cross | 44.37 | 12.98 | 26.81 |
| m, m, | Cross | 43.61 | 12.88 | 27.65 |
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