PaSteer

WACV 2027 Algorithms Track Round 1 Accept

PaSteer Pair-Relative Partial Equivariance for Rotation-Robust Keypoint Descriptor Matching

TL;DR Keypoint descriptors trained on upright photos fail when the image is rotated. Steerers fix this for a frozen descriptor with a small linear map that is forced to chain exactly like a rotation at every angle; PaSteer relaxes that map, fits it to the rotations image pairs actually show, and, on frozen descriptors, improves matching on all four benchmarks at the same inference cost.

Hero pair: MegaDepth-1500, 112° in-plane rotation, correct matches

Exact (Steerers) 148
PaSteer-free (ours) 242

113 recovered that Exact misses, 19 of Exact's lost, net +94. Same frozen DeDoDe-B, keypoints and matcher; only the steering changes.

Exact steering on a MegaDepth-1500 pair rotated 112 degrees: 148 correct matches, drawn as green lines between the upright image and the rotated image.
PaSteer-free on the same pair: 242 correct matches; blue lines are the 113 correct matches that exact steering misses.
correct recovered by PaSteer-free rejected

The result in four numbers, each with its setting

  • +1.4to+9.5 Better than Exact on all four benchmarks Points gained on every rotated metric: Roto-360, MegaDepth-1500, AIMS, IMC-PT. frozen DeDoDe-B, full-scale All rows
  • 49.0→49.3 Upright: within a fraction of a point MegaDepth-1500 without rotation, AUC@5°. Matched budget: 49.8 → 49.0. frozen DeDoDe-B, Exact → PaSteer-free Control row
  • 51.1→80.6 Larger DeDoDe-G: the gap widens Roto-360 % correct @5px, Exact → PaSteer-free. Paper's reading: the cost of the exact constraint grows with descriptor capacity. frozen DeDoDe-G DeDoDe-G
  • 0.85M Small add-on, same cost 6.3% of the DeDoDe-B descriptor; maps precomputed for 8 angles. inference cost identical to Exact How

Terms. AUC@5°: the area under the cumulative pose-accuracy curve for error thresholds from 0° to 5°, in percent; higher is better. C4 / SO2: the second image is rotated by a multiple of 90° / by an arbitrary angle. SO(2): the group of all in-plane rotations.

ScopeA retrofit for frozen descriptors. With joint descriptor + steerer training, Exact and PaSteer-free reach parity on DeDoDe-B (Exact keeps an edge on DeDoDe-G).

01Insight

For a frozen descriptor, the best steering maps do not chain like rotations

A steerer is a small linear map ρ(θ) that “rotates” a descriptor: it turns the descriptor of an upright keypoint into the one the same keypoint has after the image turns by θ. The descriptor network itself stays frozen.

Exact steering (Steerers, Bökman et al., CVPR 2024) makes this map a group representation: one generator D for every angle, ρ(θ) = exp(θD), so the 30° map applied twice is exactly the 60° map.

Fit the best map separately for each angle on a frozen descriptor, though, and those maps do not chain:

0.60–0.70 Composition violation of the best per-angle maps. 0 means they chain perfectly, as an exact steerer always does. Frozen DeDoDe-B, HPatches. Formula in Method details.

So PaSteer stops forcing exactness and measures equivariance where image pairs actually live: against q(Δθ), the distribution of relative rotations between the two images of a pair, not uniformly over all angles. That is pair-relative partial equivariance.

PaSteer-free nearly reaches the optimal floor

Steering error 1 − cos per rotation angle θ: how far the steered descriptor points from the true rotated one (0 = it lands exactly on it; lower is better). The floor ρ* is an oracle: the best linear map fitted separately at each angle. Frozen DeDoDe-B, HPatches evaluation set (paper Fig. 4). Exact here is our retrained steerer; the sweep below uses the released Steerers model.

Drag the rotation-angle slider, use the arrow keys, or point at the chart to read the three errors at one angle.

Data table
θExactPaSteer-freeoracle ρ*
0°0.0000.0060.000
10°0.0890.0780.072
20°0.2130.1690.161
30°0.3050.2390.229
40°0.3430.2860.267
50°0.3600.3050.282
60°0.3810.3080.290
70°0.3700.2960.278
80°0.3570.2850.267
90°0.3600.2800.264
100°0.3810.2890.276
110°0.4210.3180.300
120°0.4410.3270.308
130°0.4420.3250.308
140°0.4600.3240.306
150°0.4790.3150.297
160°0.4640.2880.272
170°0.4460.2600.248
180°0.4520.2480.236

Evidence: steering matters when q(Δθ) has large rotations

RotoReal: MegaDepth-1500 pairs resampled under a measured handheld rotation distribution (T1) or uniformly over all angles (T3). Pose AUC@5°, frozen DeDoDe-B, steerers at matched training, only the steering changes (paper Tab. 8). Bars on a 0–60 scale.

T1 handheldT3 uniform
Unsteered: T1 50.8, T3 10.7 AUC@5°.
Exact: T1 50.7, T3 19.7 AUC@5°.
PaSteer-soft: T1 50.7, T3 24.7 AUC@5°.
PaSteer-free: T1 49.9, T3 35.0 AUC@5°.
Released Steerers model (ref.): T1 50.7, T3 30.6 AUC@5°.

Handheld rotations: all steerers within about a point. Uniform rotations: steering decides the result, and PaSteer-free leads. The released row was trained differently and is shown for reference.

02Method

Three steps. Only the steering map changes.

  1. frozen network f(I) Step 1

    Freeze the descriptor

    Take a released descriptor as it is. Nothing in the backbone is retrained.

    • Descriptor DeDoDe-B or DeDoDe-G, frozen
    • Detector, keypoints unchanged (SO(2) detector)
    • Matcher unchanged
  2. exact orbit relaxed(soft) schematic Step 2

    Relax the steerer, train it on the rotations real pairs have

    Replace the exact map by a relaxed one, ρ tilde(θ), trained only on angles drawn from q(Δθ). An orbit is the path a descriptor traces as the image turns.

    • Exact exp(θD), the baseline
    • PaSteer-soft exp(θD + Δ(θ)), Δ(0) = 0
    • PaSteer-free free-form Fourier map, K = 6
  3. 8 probe angles best angle Step 3

    Try 8 rotations, keep the best

    Steer each query descriptor to the C8 probe angles {0°, 45°, …, 315°} and keep the best-scoring angle per keypoint.

    • Maps precomputed once per steerer
    • Matching same max-similarity matcher
    • Cost same inference cost as Exact
Details: equations, why exact maps fall short, training, pipeline
Exactρ(θ) = exp(θD)Steerers representation, retrained at our budget. Rigid, with exact upright identity ρ(0) = I.
PaSteer-softρ tilde(θ) = exp(θD + Δ(θ))Low-rank Fourier residual Δ(θ) = Σk Sk sin kθ + Ck(cos kθ − 1), so Δ(0) = 0: zero upright steering error.
PaSteer-freeρ tilde(θ) = A0 + Σk=1..K Ak cos kθ + Bk sin kθDrops the homomorphism and orthogonality constraints. K = 6: 0.85M parameters, 6.3% of DeDoDe-B; a one-time training and storage cost, not a per-match one.

Why exact maps fall short. For a fixed descriptor f and angle θ, the best linear steerer is a ridge least-squares solution, ρ*(θ) = C(θ)(G + λI)−1 with C(θ) = E[f(RθI) f(I)⊤] and G = E[f(I) f(I)⊤]. As λ → 0 it obeys the composition law ρ*(θ+φ) = ρ*(θ)ρ*(φ) only if C(θ+φ) = C(θ)G−1C(φ), which upright-trained descriptors violate (composition violation 0.60–0.70, orthogonality deviation 0.85–1.04; both are 0 for an orthogonal representation).

Training. With the descriptor frozen, only ρ tilde is trained, minimizing EΔθ∼q EI[1 − cos(f(RΔθI), ρ tilde(Δθ) f(I))]. The distribution q both draws and weights the training angles.

Matching. Sab = maxθ∈Θ ⟨ρ tilde(θ)fAa, fBb⟩ over the C8 grid Θ (normalized descriptors), followed by mutual-nearest-neighbour dual-softmax.

Pipeline: image A and rotated image B go through the DeDoDe-L SO(2) keypoint detector and the frozen DeDoDe-B descriptor; query descriptors are steered by rho-tilde of theta over the C8 grid; a max-similarity matcher keeps the best angle and outputs matches.
Matching pipeline (paper Fig. 2). Detector, frozen descriptor, keypoints, probe grid and matcher are shared by Exact, PaSteer-soft and PaSteer-free.

03Results

Gains on every benchmark, largest under large rotation

Exact is the Steerers representation exp(θD) retrained at our budget, with the same detector, keypoints, matcher and training data. Only the steering map differs.

Exact → PaSteer-free on frozen DeDoDe-B, full-scale training

ExactPaSteer-freeaxis 0–100, gain in points on the right
Roto-360, % correct matches @5px: Exact 92.0, PaSteer-free 93.4, gain +1.4.
MegaDepth-1500 · C4, pose AUC@5°: Exact 32.5, PaSteer-free 36.4, gain +3.9.
MegaDepth-1500 · SO2, pose AUC@5°: Exact 20.0, PaSteer-free 22.9, gain +2.8.
AIMS, average precision: Exact 48.6, PaSteer-free 50.1, gain +1.5.
IMC-PT · C4, pose AUC@20°: Exact 67.2, PaSteer-free 75.2, gain +8.0.
IMC-PT · SO2, pose AUC@20°: Exact 41.1, PaSteer-free 50.6, gain +9.5.
MegaDepth-1500 · upright, control, no rotation · pose AUC@5°: Exact 49.0, PaSteer-free 49.3, gain +0.3.

Roto-360: % correct matches @5px. MegaDepth-1500 (MD-1500): pose AUC@5° under C4 or SO2 rotations of the target. AIMS: average precision over the full FMAP set (323 frames). IMC-PT: pose AUC@20°. Paper Tab. 1 and Tab. 2.

A larger descriptor, a larger gap: DeDoDe-G

ExactPaSteer-freeDeDoDe-B gain shown for reference
Roto-360, % correct matches @5px: Exact 51.1, PaSteer-free 80.6, gain +29.5; on DeDoDe-B the gain is +1.4.
MegaDepth-1500 · C4, pose AUC@5°: Exact 12.9, PaSteer-free 21.6, gain +8.7; on DeDoDe-B the gain is +3.9.
MegaDepth-1500 · SO2, pose AUC@5°: Exact 11.8, PaSteer-free 20.1, gain +8.3; on DeDoDe-B the gain is +2.8.

Frozen DeDoDe-G (DINOv2 backbone), means over 3 training seeds (2 for Exact). The paper reads the wider margin as the cost of enforcing an exact representation growing with descriptor capacity. Paper Tab. 3.

Ahead at most angles, including the 90° probe

MegaDepth-1500 pose AUC@5° as the relative in-plane rotation Δθ is swept. Frozen DeDoDe-B. Here Exact is the released Steerers model (their Setting-A; paper Fig. 5). Shaded as in the paper: the C8 dip, the discretization-worst angles where exact steering is weakest; triangles mark the probe angles 0°, 45°, 90°.

Drag the slider in the side card, use the arrow keys, or point at the chart; the card says where each angle sits.

PaSteer-free also leads at the 90° probe itself (43.3 vs 35.1), so the gain is not just filling gaps between probes. Not everywhere: Exact is slightly ahead at 0° (50.9 vs 50.4) and at 70° (28.0 vs 27.2).

Data table
ΔθUnsteeredExact (released Steerers model)PaSteer-free
0°50.950.950.4
10°49.249.250.1
20°46.346.347.3
30°40.740.841.0
40°29.730.333.5
50°9.124.333.1
60°0.223.829.1
70°0.028.027.2
80°0.031.235.9
90°0.035.143.3

Controls: the gain comes from relaxing, not from budget or parameters

Same budget, three steerers

Roto-360 % correct matches @5px, frozen DeDoDe-B, all steerers trained on the same HPatches data and budget (paper Tab. 4). Exact < PaSteer-soft < PaSteer-free. Bars on a 0–100 scale.

Unsteered: 20.5 % correct @5px.
Exact: 78.3 % correct @5px.
PaSteer-soft: 90.1 % correct @5px.
PaSteer-free: 95.1 % correct @5px.

Three “Exact” numbers on this page, three regimes: full-scale MegaDepth training (Roto-360 92.0, chart above), this matched HPatches budget (78.3), and the released Steerers model, Setting-A (93.0, reference only, different protocol).

Relaxation, not parameter count

PaSteer-free with Fourier order K, minus Exact, on MegaDepth-1500 C4 pose AUC@5° (paper Tab. 7). Parameters as % of the DeDoDe-B descriptor; Exact uses 0.48%.

K=1, 1.5% parameters: −11.6 over Exact.
K=2, 2.4% parameters: −2.4 over Exact.
K=3, 3.4% parameters: +2.3 over Exact.
K=4, 4.4% parameters: +2.7 over Exact.
K=6, 6.3% parameters: +5.6 over Exact.

C4 shown; ΔSO2 follows the same pattern (−7.9 at K=1 to +3.7 at K=6, Full tables). K=1 already has more parameters than Exact yet is markedly worse; the margin turns positive from K=3. PaSteer-soft's out-of-band error barely moves with more rank (0.374 at r=12, 0.379 at r=24).

Full tables

Matched-budget comparison with released models as reference

Roto-360 correct matches (%), frozen DeDoDe-B, same HPatches training data and budget for all three steerers. Released models used a different protocol and are listed for reference only; SO2-Spread-B is a jointly trained released descriptor.

steering (matched budget)@3px@5px@10px
none (unsteered)19.720.521.6
Exact77.378.379.2
PaSteer-soft (r=12)89.190.191.0
PaSteer-free93.995.196.0
Released models, reference only (different protocol)
Exact, released Steerers model (Setting-A)91.493.094.1
Steerers SO2-Spread-B (joint)95.097.098.5

The ordering also holds on AIMS (AP 37.1 / 44.4 / 51.2) and MegaDepth-1500 (supplement).

RotoReal table: handheld vs uniform rotations

MegaDepth-1500 pose AUC@5° (paper Tab. 8).

steeringT1 handheldT3 uniform
none (dual softmax)50.810.7
Exact50.719.7
PaSteer-soft (r=12)50.724.7
PaSteer-free49.935.0
Released Steerers model (Setting-A)50.730.6
Harmonic order K and mechanism tables

Δ is PaSteer-free(K) minus Exact on MD-1500 AUC@5° (paper Tab. 7).

steererparams %Roto@5pxC4 AUC@5°SO2 AUC@5°ΔC4ΔSO2
Exact0.4892.132.320.3––
K=11.589.020.812.4−11.6−7.9
K=22.492.229.919.2−2.4−1.0
K=33.493.134.622.6+2.3+2.3
K=44.493.435.123.5+2.7+3.2
K=6 (default)6.393.637.923.9+5.6+3.7

Steering error 1 − cos inside and outside the partial-equivariance band, and at 0°; parameters relative to the exact generator (paper Tab. 6).

steerer+params vs Exact generatorin-bandout-of-banderr(0)
Exact–0.1520.4100.000
PaSteer-soft (r=12)+75%0.1560.3740.000
PaSteer-soft (r=24)+150%0.1550.3790.000
PaSteer-free+1200%0.1230.2970.006

05Scope and limitations

A retrofit for frozen descriptors, not a replacement for joint training

Where PaSteer helps

  • An already-trained, released descriptor that you cannot or do not want to retrain.
  • Pairs with large relative rotations. On RotoReal, uniform rotations (T3) lift Exact 19.7 → PaSteer-free 35.0 AUC@5°, while handheld rotations (T1) leave all steerers within about a point.
  • Frozen DeDoDe descriptors matched with max-similarity steering on a C8 grid (the setting evaluated): train the steerer once, same inference cost.

Where it does not

When descriptor and steerer are trained jointly, the two reach parity on DeDoDe-B, suggesting that joint training lets the descriptor absorb the representation constraint (paper Sec. 4):

Joint descriptor and steerer training on DeDoDe-B, MegaDepth-1500 pose AUC@5°
joint, DeDoDe-BuprightC4SO2
Exact50.347.043.3
PaSteer-free49.747.143.6

The larger DeDoDe-G joint result shows the same scope boundary, with exact steering ahead (MD-1500 C4 AUC@5° 46.1 vs 41.5, SO2 42.3 vs 38.2; supplement).

Limitations

  • Evaluated on DeDoDe descriptors only.
  • Compared against exact steering, not against rotation-equivariant methods that retrain the backbone. Released Steerers models (different protocol) remain stronger on some benchmarks and are shown as reference only.
  • Every pair uses the same C8 probe grid; the steerer does not adapt its degree of equivariance per pair.
  • PaSteer-free is not exactly the identity at 0° (steering error 0.006); PaSteer-soft is, by construction.

06Acknowledgements

Thanks to the open-source work we build on

PaSteer builds heavily on these repositories. We thank their authors for releasing their code and models.

07Paper

Abstract

Learned keypoint descriptors trained on upright imagery often fail under large in-plane rotation. Steerers address this by applying a single exact SO(2) representation to the descriptor space, but this global group constraint can be too rigid for keypoint descriptors, whose angular responses need not follow a single group representation. We propose pair-relative partial equivariance, which measures equivariance under the empirical distribution of relative rotations in image pairs, and PaSteer, a relaxed descriptor-steering framework that allows the steering map to leave the exact representation manifold while retaining the lightweight, backbone-free design of steering. PaSteer instantiates this relaxation with two variants: an identity-preserving residual steerer (PaSteer-soft) and a free-form Fourier steerer (PaSteer-free). We show that the per-angle optimal linear steerer for a fixed non-equivariant descriptor generally does not obey the group composition law, explaining why exact representations can be suboptimal in the frozen-descriptor regime. On Roto-360, MegaDepth-1500, AIMS, and IMC-PT, PaSteer consistently improves rotation-robust matching over an exact steerer on frozen DeDoDe descriptors, especially under large relative rotations, with minimal upright degradation.

PaperWACV 2027, PDF Supplementaryproofs, extra tables, all qualitative pairs

BibTeX

@inproceedings{lee2027pasteer,
  title     = {Pair-Relative Partial Equivariance for Rotation-Robust Keypoint Descriptor Matching},
  author    = {Lee, Jongmin},
  booktitle = {Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (WACV)},
  year      = {2027}
}

Acknowledgements

This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (RS-2026-25598824).