GEOMETRIC REFINEMENT FOR CAMERA POSES

PosePlaner: Denoising Any Feed-Forward Pose Predictor
from Pairwise Planar Geometry

Yihang Chen1,2Bin Tan2,‡Yujun Shen2Yinghao Xu1,‡Nan Xue2

1 HKUST, Hong Kong, China2 Robbyant, Ant Group, China

‡ Corresponding authors

HKUSTRobbyant

Refine an existing camera pose with matched planes in one flow-matching step.
Train on image pairs; transfer the same refiner to long sequences.

PosePlaner uses cross-view planar correspondences to refine initial blue camera poses into corrected red camera poses.
Turn geometric evidence into a correction for learned camera poses.

Learning pose refinement from matched planes

PosePlaner conditions a diffusion model on matched planes and an initial camera pose to learn pose corrections. A correct relative pose should align corresponding planes across views. Trained with flow matching, the refiner learns a pose correction in a single denoising step.

Geometric effect of pose refinementThe black camera marks an illustrative ground-truth target, not a model input. The orange camera and its plane move together toward this target under the predicted pose correction. A faded dashed camera marks the initial pose. Trefined = Tinit ΔTθ GT Initial poseInitial pose

Two estimates of the same plane disagree.

Illustrative GT, not a model input. One of multiple matched plane pairs shown.

Refinement reduces plane disagreement

  • Before refinement
  • After refinement
Normal disagreement
Median normal residual ‖Δn‖₂; lower is better.0.000.100.20ScanNet15000.2000.0847Scenes0.1560.076
Median normal residual ‖Δn‖₂
DatasetBefore refinementAfter refinement
ScanNet15000.2000.084
7Scenes0.1560.076
Position disagreement
Median scene-normalized offset residual |Δd|; lower is better.0.000.040.08ScanNet15000.0720.0647Scenes0.0570.053
Median scene-normalized offset residual |Δd|
DatasetBefore refinementAfter refinement
ScanNet15000.0720.064
7Scenes0.0570.053

Median residuals from the paper’s LoFTR experiments; lower is better. Left: normal difference. Right: scene-normalized plane offset. These are measured results, separate from the schematic above.

METHOD

One refiner, multiple geometric hypotheses

A flow-matching Transformer predicts candidate pose corrections in one Euler step. A learned score head fuses the candidates using planar consistency.

PosePlaner architecture: plane prediction and correspondence matching produce geometry tokens that condition a multi-query diffusion refiner and score-based hypothesis fusion.
One refiner, conditioned on the input pose and matched plane pairs.
01

Match local planes

Predict planar primitives in each camera’s local frame. Convert pixel matches into patch-level correspondences and compute plane-warping residuals.

02

Denoise and fuse

A flow-matching Transformer produces multiple pose hypotheses in one Euler step. A learned score head combines them using geometric consistency.

03

Recover two-view translation

With the refined rotation fixed, recover translation using a geometric optimization initialized from the upstream estimate.

04

Correct long trajectories

Refine pairwise rotations in the trajectory tail. Rotation averaging and global positioning use a shared reconstruction backend.

Results

A geometric correction for two-view poses and streaming trajectories.

Seven upstream models on ScanNet1500 and zero-shot 7Scenes. Rotation AUC@10° (%).

ScanNet1500 · R@10

Swipe to see all upstream methods →

    ScanNet1500 · R@10 (%, higher is better)
    UpstreamInitialization+ PosePlaner
    SuperGlue62.468.9
    LoFTR25.052.9
    RoMA81.280.1
    MASt3R82.481.7
    PoseDiffusion9.038.8
    RayDiffusion33.450.5
    DiffusionSfM64.368.6

    Selected rotation metrics. Refinement gains vary with the initialization and setting; complete results are reported in the paper.

    Citation

    @misc{chen2026poseplanerdenoisingfeedforwardpose,
          title={PosePlaner: Denoising Any Feed-Forward Pose Predictor from Pairwise Planar Geometry}, 
          author={Yihang Chen and Bin Tan and Yujun Shen and Yinghao Xu and Nan Xue},
          year={2026},
          eprint={2610.34845},
          archivePrefix={arXiv},
          primaryClass={cs.CV},
          url={https://arxiv.org/abs/2610.34845}, 
    }