Cross-View Yaw Estimation in Location Uncertainty with Line-Aligning Yaw Scoring

Sub-degree yaw from a ground photo and a satellite view, with the position still uncertain by twenty meters.

Taeho Kang1, Nairan Zhang2, Yelin Kim3, Yujiao Shi4, Youngki Lee1

1Seoul National University · 2Meta · 3Amazon · 4ShanghaiTech University

Presented at ECCV 2026 · Oral & Award Candidate , top 0.10%

LAYS separates yaw from the uncertain two-dimensional camera position
Yaw solved on its own leaves a two-degree-of-freedom problem for the localizer.

Abstract

Accurate yaw estimation is a bottleneck in cross-view localization between ground view and Bird's Eye View (BEV). Existing methods couple yaw with translation and rely on height or projection assumptions that degrade under large yaw ambiguity. We disentangle yaw from location accuracy and introduce LAYS, a radially invariant line-consensus voting method. By exploiting the radial invariance of our formulation, we achieve sub-degree yaw precision via 3D voting over all candidate poses, while eliminating the need for accurate location.

Our key observation is that a ground-image column matched to BEV pixels induces the same yaw across camera positions along the same radial direction. LAYS matches BEV pixels to ground columns using feature similarity and accumulates the induced yaw votes into discrete 3D bins, where correct correspondences along the radial line concentrate into a sharp peak for the correct yaw. Experiments on Mapillary, Ford, KITTI, and VIGOR show significant gains under unknown yaw, particularly for normal FoV with unknown yaw (+28\(\sim\)45%p), and using LAYS as a yaw prior improves downstream 3-DoF localization.

Video presentation

Problem

Prior methods estimate position and yaw jointly under a yaw prior. Take the prior away and their accuracy collapses.

Navigation, robotics and AR need a global pose, and a small heading error becomes drift or visible misalignment. Cross-view localization refines a degraded GPS fix by matching a ground photo against satellite imagery, which already covers the globe.

Yaw is the bottleneck. Roll and pitch can be read from gravity; yaw has no such reference, so prior methods assume it is roughly known and solve position and heading together. We take the harder setting: position uncertain by about twenty meters, yaw unknown across the full circle.

GPS multipath and matched ground and satellite views
GPS position error from multipath, alongside a ground and satellite image pair.
Yaw accuracy of prior methods with and without a yaw prior
Yaw accuracy with and without a yaw prior.

The light bar gives each prior method a ±45° yaw prior; the dark bar removes it. Every method loses most of its accuracy.

Key idea

A ground-image column matches a line of satellite pixels, and that line fixes the yaw for camera positions along the same radial direction.

From points to lines

Point matching depends on camera position and object height
Point matching.
A ground-image column aligned with a radial satellite line
Line alignment.

Projection-based point matching depends on assumed camera position and object height, and we know neither. Everything in one vertical image column lies in the same direction from the camera, so a column matches a line of satellite pixels rather than a point, and no height assumption is needed.

Radial invariance

Camera positions along the same radial direction induce the same yaw
The same yaw from positions along the same radial direction.

Move the camera along the same radial direction without crossing the matched pixels, and the direction to those pixels, and so the induced yaw, is unchanged. Positions along that direction agree; positions off it disperse their votes.

Write \(\theta_{est}(p,q)\) for the yaw induced at a candidate pose \(p\) by a satellite pixel \(q\) that matched some column.

Proposition 1 · radial invariance\[\begin{gathered}\theta_{est}(p_1,q)=\theta_{est}(p_2,q)\\[2pt]q-p_1=\lambda(q-p_2),\quad \lambda>0\end{gathered}\]

A real match

Real VIGOR panorama columns matched to radial lines in a satellite image
Panorama columns and their matched satellite lines; the strip below shows pixel contributions to the yaw estimate.

Each coloured panorama column matched a radial line of satellite pixels, and those lines decided the yaw. Two columns match road segments, one a tree, one grass.

Method

LAYS turns the invariance into three steps.

1. Aggregate each image column

Column k shares relative yaw Y(k); weighted pixel aggregation produces a feature for each of the Wg ground-image columns
Pixels in one ground-image column share a relative yaw. Aggregation produces the feature columns indexed from 1 to \(W_g\), with column \(k\) highlighted.

Every pixel in column \(k\) shares one relative yaw \(Y(k)\), fixed by the column’s image position and the intrinsics alone. A weighted sum gives one feature per column:

\[\mathbf{F}_{grd}(k)=\sum_j \alpha_{kj}\mathbf{F}_{pix}(k,j).\]

Neither depth nor camera height enters.

2. Match columns to satellite pixels

Ground-column and BEV feature similarity produces a match yaw Mr and match score Ms for each satellite pixel
Each satellite pixel selects its best-matching ground column using the feature similarity \(\lvert\mathbf{F}_{bev}(u,v)^\mathsf{T}\mathbf{F}_{grd}(k)\rvert\).

Each satellite pixel scores every ground column by feature similarity and keeps the best. That column’s relative yaw becomes the match yaw \(\mathbf{M}_r\), where to vote; the similarity, weighted by confidence, becomes the match score \(\mathbf{M}_s\), how much. Nothing is projected and no position is assumed.

3. Vote over candidate poses

Yaw is the absolute angle minus the match yaw; the match score is added to the accumulator at that yaw and candidate position
Matches add \(\mathbf{M}_s(u,v)\) to \(S(\theta_{est},x,y)\), with \(\theta_{est}=\theta_{abs}-\mathbf{M}_r(u,v)\).

Each match votes at every candidate pose, adding \(\mathbf{M}_s\) to the yaw bin \(\theta_{abs}-\mathbf{M}_r\), the absolute angle to the pixel minus the match yaw, in a 3D accumulator over yaw, x and y. Voting at every candidate position rather than committing to one is what absorbs the twenty meters: correct matches along a radial line fall in the same bin, incorrect ones disperse.

Normalized yaw score SM versus yaw bin in degrees, with red ground truth and blue prediction near the score peak
In this example, the voted score peaks near the ground-truth yaw. Red: ground truth; blue: prediction.

Results

LAYS leads at one degree on every benchmark, and the margin is largest where yaw is fully unknown.

All three tables use twenty meters of position noise and a single forward-facing camera, and report the share of test images within 1°, 2° and 4° of yaw. MGL is run with a ±45° prior and with yaw unknown across the full circle, KITTI with yaw unknown, Ford with the ±45° prior. With yaw fully unknown, LAYS puts more than five times as many MGL images within 1° as the strongest prior method, and nearly sixteen times as many on cross-area KITTI, a region never seen in training.

MGL

Method±45°±180°
<1°<2°<4°<1°<2°<4°
CCVPE21.3640.7868.156.5512.5523.79
BoostAcc7.4014.1927.540.581.092.13
G2S32.6757.4982.500.591.271.86
FG218.5934.9759.203.136.2812.44
Ours72.1090.1695.6334.8152.4261.74

KITTI

MethodTest 1 (Same Area)Test 2 (Cross Area)
<1°<2°<4°<1°<2°<4°
CCVPE*8.96≤26.48≤42.753.14≤9.24≤14.56
BoostAcc0.530.901.960.561.052.09
G2S0.581.172.170.540.821.64
FG21.623.156.471.622.966.13
Ours52.9865.0767.7249.5958.9260.25

* CCVPE reports accuracy at <1°, <3°, and <5°. Its published <3° and <5° values sit in the stricter <2° and <4° columns here, so the true accuracy is equal or lower.

Ford

Method<1°<2°<4°
CCVPE41.3662.7475.11
BoostAcc24.3843.2467.86
G2S16.8147.7168.43
FG216.7541.8457.13
Ours67.0585.1491.76

Downstream localization

Handing the LAYS yaw to FG2 as its first-stage estimate lowers its position error; the two-stage row is FG2 with its own first-stage yaw.

First-stage yawMean ↓Median ↓
MGL (±45°)
+ Two-stage10.548.95
+ Ours init.6.423.99
KITTI (±180°)
+ Two-stage14.4412.26
+ Ours init.2.521.48

FG2 localization error in meters.

Ablation

MGL unknown-yaw accuracy at less than 1 degree: point-to-point match 13.19%, polar transform 7.59%, keypoint encoder 20.12%, column MLP 31.73%, LAYS 34.81%
MGL with unknown yaw: accuracy at <1° (%). The chart compares matching and column-encoder alternatives with LAYS.

Qualitative results

Feature maps and column confidences accompany the yaw estimates across datasets.

MGL ground view, pixel and column features, column confidences, and estimated yaw in the satellite view
BEV contributions to the winning MGL yaw vote trace radial lines Magnified MGL yaw comparison: red ground truth and yellow estimate nearly overlap
MGL. Below: BEV contributions to the winning yaw vote (left) and a magnified yaw comparison (right). Ground truth is red; the estimate is yellow.
KITTI same-area qualitative yaw estimation
KITTI, same area.
Ford qualitative yaw estimation
Ford.
VIGOR qualitative yaw estimation
VIGOR.

Each figure shows the ground view, its pixel features \(\mathbf{F}_{pix}\), the column features \(\mathbf{F}_{grd}\) and confidences \(\mathbf{C}_{grd}\) they collapse into, then the satellite view with ground truth in red and estimate in yellow. Confident matches follow roads, roadside structure and trees.

Limitations

LAYS returns a yaw, not a position, and two kinds of scene defeat line consensus.

Every pose along the same radial direction casts the same vote. That is what tolerates twenty meters of position error, and also why position cannot be read from the same votes; a localizer still has to supply it.

Yaw ambiguity at a symmetric crossroad
Symmetric crossroad: red ground truth, yellow estimate.
Satellite-view road occluded by tree canopy
Canopy occlusion: red ground truth, yellow estimate.

Each figure pairs the ground view with the satellite view and its estimate. A symmetric crossroad splits the votes between look-alike directions, and where canopy covers the road, little remains to match.

BibTeX

@inproceedings{kang2026lays,
  author    = {Kang, Taeho and Zhang, Nairan and Kim, Yelin and Shi, Yujiao and Lee, Youngki},
  title     = {Cross-View Yaw Estimation in Location Uncertainty with Line-Aligning Yaw Scoring},
  booktitle = {Computer Vision - {ECCV} 2026 - 19th European Conference, Malm{\"{o}}, Sweden, September 8-12, 2026, Proceedings},
  year      = {2026},
  month     = {September},
  publisher = {Springer},
  series    = {Lecture Notes in Computer Science},
}