---
title: 'VIRD: Dual-Axis Transformation for Cross-View Pose'
url: https://www.emergentmind.com/topics/view-invariant-representations-through-dual-axis-transformation-vird
type: topic
---

# VIRD: Dual-Axis Transformation for Cross-View Pose

Searching arXiv for the VIRD paper and closely related cross-view pose estimation work to ground the article in current papers.
arxiv_search(query="VIRD View-Invariant Representation through Dual-Axis Transformation for Cross-View Pose Estimation", max_results=5, sort_by="relevance")
arxiv_search(query="View-Invariant Representation through Dual-Axis Transformation cross-view pose estimation", max_results=10, sort_by="relevance")
View-Invariant Representation through Dual-Axis Transformation (VIRD) is a cross-view pose estimation method that predicts the \(3\)-DoF ground-camera pose \(p=(x,y,\theta)\) by matching a ground-view image against a geo-referenced satellite image. It was introduced to address the viewpoint gap between ground and satellite imagery, a gap that existing methods struggle to bridge because of limited spatial correspondences. VIRD constructs view-invariant representations through a dual-axis transformation: it first applies a polar transformation to the satellite view to establish horizontal correspondence, then uses context-enhanced positional attention on the ground and polar-transformed satellite features to resolve vertical misalignment, and finally regularizes the learned descriptors with a view-reconstruction loss [2603.12918].

## 1. Problem setting and representational objective

In VIRD, the localization task is formulated as cross-view pose estimation. The input is a ground-view image \(I_g\) and a geo-referenced satellite image \(I_s\), and the output is the ground-camera pose \(p=(x,y,\theta)\) relative to the satellite reference frame [2603.12918]. The motivating application domain is autonomous driving and robotics, where GNSS-based approaches often degrade due to occlusion and multipath effects.

The method is explicitly designed around the claim that the major obstacle in cross-view localization is the significant viewpoint gap between the ground and satellite views. VIRD addresses that gap by transforming the two views along two axes. The first axis is horizontal: a polar transformation recasts the satellite representation so that its horizontal coordinate corresponds to azimuth. The second axis is vertical: a learned positional-attention mechanism establishes a shared “virtual” vertical axis for both the ground and polar-transformed satellite features. This combination is intended to produce descriptors that are more invariant to viewpoint than descriptors obtained by direct feature matching alone [2603.12918].

A useful clarification is that VIRD does not assume orientation priors at evaluation. Its reported quantitative gains are specifically framed as improvements “without orientation priors,” which places it in the class of cross-view localization methods that must infer orientation jointly with position rather than treating orientation as externally given [2603.12918].

## 2. Dual-axis transformation pipeline

The VIRD pipeline consists of three stages: feature extraction, descriptor construction via dual-axis transformation, and training objectives coupled to matching and regression [2603.12918].

Feature extraction uses a CNN backbone, either VGG16 or EfficientNet-B0, to produce
\[
F_g\in\mathbb{R}^{C\times H\times W_g}
\]
from \(I_g\) and
\[
F_s\in\mathbb{R}^{C\times A\times A}
\]
from \(I_s\). These feature maps are then passed to the descriptor-construction stage.

Descriptor construction proceeds in three substeps. First, the satellite features are polar transformed so that the horizontal axis corresponds to azimuth, yielding
\[
F_{s2p}\in\mathbb{R}^{C\times H\times W_s}.
\]
Second, context-enhanced positional attention (CEPA) transforms the vertical dimension of both the ground and satellite features, producing \(F_{s2p'}\) and \(F_{g'}\). Third, vertical directional encoding and projection compress these vertically transformed features along the vertical axis via shared MLPs, then flatten across channels and width to obtain the orientation-aware 1D descriptors
\[
D_{s2p}\in\mathbb{R}^{K_s},\quad D_g\in\mathbb{R}^{K_g}.
\]

Inference follows a coarse-to-fine structure. Descriptors \(D_g\) and sampled candidate satellite descriptors \(\{D_{s2p}^{p_c}\}\) are matched by cosine similarity to obtain a coarse pose \(p_m\). A regression network then predicts a residual pose \(\Delta p\), and the final estimate is
\[
p_{\rm final}=p_m+\Delta p
\]
[2603.12918].

## 3. Horizontal and vertical alignment mechanisms

The horizontal part of the dual-axis transformation is the polar transformation. Each satellite feature pixel \((u^s,v^s)\) is recast into polar-like coordinates \((u^{s2p},v^{s2p})\), where \(u^{s2p}\) indexes azimuth and \(v^{s2p}\) indexes radius. Centering at a candidate position \((u_c^s,v_c^s)\), VIRD defines
\[
r = \sqrt{(u^s - u_c^s)^2 + (v^s - v_c^s)^2},\quad
\theta = \mathrm{atan2}(v^s-v_c^s,\;u^s-u_c^s).
\]
In the discretized implementation, the transformed coordinates satisfy
\[
u^s = u_c^s - \rho(v^{s2p})\;\cos\!\bigl(2\pi\,u^{s2p}/W_s\bigr),\quad
v^s = v_c^s - \rho(v^{s2p})\;\sin\!\bigl(2\pi\,u^{s2p}/W_s\bigr),
\]
with \(W_s = \tfrac{2\pi}{\mathrm{HFoV}\cdot W_g}\) ensuring consistent azimuth sampling, while \(r_{\min}\) and \(r_{\max}\) define the radial sampling range [2603.12918].

The vertical part is handled by CEPA, which projects both views onto a learned shared vertical axis of height \(H_Q\). CEPA begins with positional attention. It defines three sinusoidal positional encodings of dimension \(d_p\): virtual query positions \(P_a\in\mathbb{R}^{H_Q\times d_p}\), ground keys \(P_g\in\mathbb{R}^{H_K\times d_p}\), and satellite keys \(P_{s2p}\in\mathbb{R}^{H_K\times d_p}\), where \(H_K=H\). For view \(v\in\{g,s2p\}\), the attention weights are
\[
A_v = \mathrm{Softmax}\!\Bigl(
\tfrac{(P_a W^Q_v)\,(P_v W^K_v)^\top}{\sqrt{d_k}}
\Bigr)
\quad\in\mathbb{R}^{H_Q\times H_K}.
\]
These weights align each virtual vertical row \(h_q\) to actual feature rows \(h_k\) [2603.12918].

CEPA then adds a context-enhancement step for the ground view. Positional attention alone is uniform across horizontal positions, so VIRD refines the ground attention weights using feature context:
\[
A_{g'} = A_g \;+\;
\mathrm{Softmax}\!\bigl(\Phi\bigl[A_g\oplus F_g\bigr]\bigr)
\quad
\in\mathbb{R}^{H_Q\times H_K\times W_g},
\]
where \(\oplus\) is channel-wise concatenation, \(\Phi\) is a small conv-net, and the softmax normalizes over the \(H_K\) axis. The transformed features are then computed as
\[
F_{g'}[c,h_q,w] = \sum_{h_k=1}^{H_K}
A_{g'}[h_q,h_k,w]\;F_g[c,h_k,w],
\]
\[
F_{s2p'}[c,h_q,w] = \sum_{h_k=1}^{H_K}
A_{s2p}[h_q,h_k]\;F_{s2p}[c,h_k,w].
\]

The stated rationale for this two-step alignment is explicit. The polar transformation aligns azimuth and reduces the \(360^\circ\) orientation gap, while the learned vertical axis avoids reliance on noisy camera parameters and thereby avoids projection artifacts around tall structures. This distinguishes VIRD from methods that depend only on geometric projection or only on content-based attention [2603.12918].

## 4. Learning objectives, optimization, and implementation regime

VIRD is trained with three losses: a matching loss \(\mathcal{L}_{\rm match}\), a view-reconstruction loss \(\mathcal{L}_{\rm recon}\), and a regression loss \(\mathcal{L}_{\rm reg}\) [2603.12918]. The matching loss is InfoNCE over a grid of candidate poses \(\{p_c\}\). The regression loss refines the coarse match \(p_m\) by predicting the residual \(\Delta p\).

The view-reconstruction term is central to the method’s invariance claim. Two small decoders \(G_{g\to s},G_{s\to g}\), together with \(G_{g\to g}\) and \(G_{s\to s}\), reconstruct original and cross views from descriptors. At the ground-truth pose \(p^*=(x^*,y^*,\theta^*)\), the satellite descriptor is shifted and cropped by \(\theta^*\) to obtain \(D_{s2p}^{p^*}\in\mathbb{R}^{K_g}\). The losses are
\[
\mathcal{L}_{\rm origin}
= \|I_g - G_{g\to g}(D_g)\|_1
+ \bigl\|I_{s2p}^{p^*} - G_{s\to s}(D_{s2p}^{p^*})\bigr\|_1,
\]
\[
\mathcal{L}_{\rm cross}
= \|I_g - G_{s\to g}(D_{s2p}^{p^*})\|_1
+ \bigl\|I_{s2p}^{p^*} - G_{g\to s}(D_g)\bigr\|_1,
\]
\[
\mathcal{L}_{\rm recon}
= \alpha_1\,\mathcal{L}_{\rm origin}
+ \alpha_2\,\mathcal{L}_{\rm cross},
\]
with \(\ell_1\) chosen as most stable in practice [2603.12918].

The implementation regime is specified in detail. The backbones are VGG16 or EfficientNet-B0, both ImageNet pre-trained. The candidate grid is \(5\times 5\) positions and \(16\) orientations at train time, and \(20\times 20\) positions and \(70\) orientations at test time on KITTI; on VIGOR it is \(7\times 7\) and \(16\) at train time, and \(25\times 25\) and \(80\) at test time. The polar radii are \(r_{\min}=6\,\mathrm{m}, r_{\max}=40\,\mathrm{m}\) on KITTI and \(r_{\min}=0, r_{\max}=30\,\mathrm{m}\) on VIGOR. CEPA uses \(H_Q=H\), with \(H=16\) for KITTI and \(H=20\) for VIGOR, and \(d_p=64\). The loss weights are \(\alpha_1=1\), \(\alpha_2=10\), and regression weight \(\beta=5\); the matching temperature is \(\tau=0.05\). Optimization uses Adam with learning rate \(10^{-4}\), batch size \(4\), and \(10\) epochs on an NVIDIA RTX A5000. When VGG16 is used, the descriptor channels are compressed by a factor of \(4\) after the backbone. The regression search range is \(\pm 4\,\mathrm{m}\) in \(x,y\) and \(\pm 3.6^\circ\) in \(\theta\) [2603.12918].

## 5. Quantitative performance and ablation evidence

The reported evaluation covers KITTI and VIGOR and is explicitly framed as “no orientation prior” on KITTI and “unaligned & cross-area” on VIGOR [2603.12918]. The main reported median errors are as follows.

| Method | Position error | Orientation error |
|---|---:|---:|
| SliceMatch (VGG16) | 11.85 m | 7.96° |
| CCVPE (EffNet-B0) | 10.98 m | 63.84° |
| DenseFlow (R18) | 18.84 m | 42.04° |
| FG² (DINOv2) | 11.72 m | 90.42° |
| VIRD (VGG16) | 7.05 m | 2.22° |
| VIRD (EffNet-B0) | 5.41 m | 1.87° |

On KITTI, the EfficientNet-B0 version of VIRD reduces median position and orientation errors by \(50.7\%\) and \(76.5\%\), respectively, and the VGG16 version reports \(7.05\,\mathrm{m}\) and \(2.22^\circ\) [2603.12918].

| Method | Position error | Orientation error |
|---|---:|---:|
| SliceMatch (VGG16) | 5.64 m | – |
| CCVPE (EffNet-B0) | 1.89 m | 13.58° |
| DenseFlow (R18) | 2.42 m | 2.94° |
| FG²† (DINOv2) | 2.40 m | 1.44° |
| VIRD (VGG16) | 1.95 m | 1.21° |
| VIRD (EffNet-B0) | 1.55 m | 0.96° |

On VIGOR, the EfficientNet-B0 version reports \(1.55\,\mathrm{m}\) and \(0.96^\circ\), corresponding to reductions of \(18.0\%\) and \(46.8\%\), respectively [2603.12918].

The ablation results are used to isolate the contribution of the dual-axis design. In the cited ablation, polar transformation alone yields median position \(11.75\,\mathrm{m}\) and orientation \(4.00^\circ\); adding positional attention yields \(9.76\,\mathrm{m}\) and \(3.44^\circ\); adding CEPA yields \(8.88\,\mathrm{m}\) and \(3.36^\circ\). The same ablation discussion states that the view-reconstruction term further reduces orientation reversal errors, and that CEPA outperforms both pure geometry and content-based attention in cross-area generalization [2603.12918].

## 6. Conceptual position and relation to earlier invariant-based mapping

VIRD belongs to a broader research tendency that seeks representational invariance under viewpoint change, but its mechanism is distinct from earlier motion-based invariant domains. In “Invariant-based Mapping of Space During General Motion of an Observer” [2311.11130], view invariance is obtained from measurable optical flow linked to geometric \(3\)D invariants. That work defines an instantaneous camera-centered frame whose \(Z\)-axis lies along the instantaneous translation vector, removes rotational flow using IMU measurements, and computes the nonlinear functions
\[
TC=\sin^2\alpha/\dot{\alpha},\qquad
TTC=\sin 2\alpha/(2\dot{\alpha}),
\]
so that each pixel is represented by \((\gamma,TC,TTC)\). In that domain, stationary objects neither translate nor deform over time, and the representation supports free-space segmentation, obstacle detection, and moving-object isolation from a single monocular camera without \(3\)D reconstruction [2311.11130].

That earlier framework and VIRD share the objective of constructing a representation in which nuisance viewpoint variation is suppressed, but they address different observation models and tasks. The 2023 method is instantaneous, monocular, optical-flow-based, and tied to observer motion; VIRD is feature-based, cross-view, and designed for matching a ground-view image to a geo-referenced satellite image. This suggests that “view invariance” in current vision research is not a single technique but a family of constructions that depend strongly on the sensing regime, the nuisance variables to be removed, and the downstream task [2311.11130].

Within that family, VIRD is specifically a dual-axis correspondence model rather than a full scene-reconstruction method. Its vertical alignment is learned through positional attention rather than imposed through explicit camera geometry, and its invariance is reinforced through view reconstruction rather than recovered from optical-flow kinematics. A plausible implication is that VIRD should be understood not as a generic invariant representation for all visual tasks, but as a cross-view pose-estimation architecture whose invariance is task-conditioned and descriptor-centric [2603.12918].

Source: https://www.emergentmind.com/topics/view-invariant-representations-through-dual-axis-transformation-vird