PAGaS

Pixel-Aligned 1DoF Gaussian Splatting for Depth Refinement

CVPR 2026 3DMV

David Recasens1, Robert Maier, Aljaz Bozic, Stephane Grabli,
Javier Civera1, Tony Tung, Edmond Boyer

1University of Zaragoza

1DoF Gaussian Splatting teaser

Instead of optimizing a free 3D Gaussian, PAGaS makes each pixel’s Gaussian depth-dependent: its 3D position, size, and orientation are derived from depth, while color and opacity are fixed, leaving the depth parameter as the sole degree of freedom.

What is PAGaS? 🤔

PAGaS is a photometric, optimization-based multi-view stereo depth refinement method formulated in a constrained Gaussian Splatting framework. Starting from a coarse but globally consistent depth or mesh reconstruction (e.g., from MVSAnywhere, 2DGS, or PGSR), it refines each per-view depth map using a small set of neighboring views for photometric supervision, representing every target pixel with a spherical 1DoF Gaussian constrained to slide only along its back-projected camera ray. This depth-only parameterization makes full-resolution refinement practical under modest memory and runtime budgets, while recovering unprecedented fine-grained pixel-level detail.

PAGaS depth refinement 🤯

The synchronized comparisons below show how PAGaS sharpens geometric detail after refining MVSA, 2DGS, and PGSR reconstructions. Drag the slider to see how PAGaS refines the geometry, and move the pointer over any image to slide a magnifying lens to appreciate the added pixel-level detail.

MVSA result on DTU scan24 before PAGaS refinement MVSA result on DTU scan24 after PAGaS refinement
MVSA
MVSA + PAGaS
2DGS result on DTU scan24 before PAGaS refinement 2DGS result on DTU scan24 after PAGaS refinement
2DGS
2DGS + PAGaS
PGSR result on DTU scan24 before PAGaS refinement PGSR result on DTU scan24 after PAGaS refinement
PGSR
PGSR + PAGaS
DTU scan24
MVSA result on DTU scan106 before PAGaS refinement MVSA result on DTU scan106 after PAGaS refinement
MVSA
MVSA + PAGaS
2DGS result on DTU scan106 before PAGaS refinement 2DGS result on DTU scan106 after PAGaS refinement
2DGS
2DGS + PAGaS
PGSR result on DTU scan106 before PAGaS refinement PGSR result on DTU scan106 after PAGaS refinement
PGSR
PGSR + PAGaS
DTU scan106
MVSA result on DTU scan122 before PAGaS refinement MVSA result on DTU scan122 after PAGaS refinement
MVSA
MVSA + PAGaS
2DGS result on DTU scan122 before PAGaS refinement 2DGS result on DTU scan122 after PAGaS refinement
2DGS
2DGS + PAGaS
PGSR result on DTU scan122 before PAGaS refinement PGSR result on DTU scan122 after PAGaS refinement
PGSR
PGSR + PAGaS
DTU scan122
MVSA result on DTU scan69 before PAGaS refinement MVSA result on DTU scan69 after PAGaS refinement
MVSA
MVSA + PAGaS
2DGS result on DTU scan69 before PAGaS refinement 2DGS result on DTU scan69 after PAGaS refinement
2DGS
2DGS + PAGaS
PGSR result on DTU scan69 before PAGaS refinement PGSR result on DTU scan69 after PAGaS refinement
PGSR
PGSR + PAGaS
DTU scan69
MVSA result on Tanks and Temples Barn before PAGaS refinement MVSA result on Tanks and Temples Barn after PAGaS refinement
MVSA
MVSA + PAGaS
2DGS result on Tanks and Temples Barn before PAGaS refinement 2DGS result on Tanks and Temples Barn after PAGaS refinement
2DGS
2DGS + PAGaS
PGSR result on Tanks and Temples Barn before PAGaS refinement PGSR result on Tanks and Temples Barn after PAGaS refinement
PGSR
PGSR + PAGaS
Tanks and Temples Barn
MVSA result on Tanks and Temples Courthouse before PAGaS refinement MVSA result on Tanks and Temples Courthouse after PAGaS refinement
MVSA
MVSA + PAGaS
2DGS result on Tanks and Temples Courthouse before PAGaS refinement 2DGS result on Tanks and Temples Courthouse after PAGaS refinement
2DGS
2DGS + PAGaS
PGSR result on Tanks and Temples Courthouse before PAGaS refinement PGSR result on Tanks and Temples Courthouse after PAGaS refinement
PGSR
PGSR + PAGaS
Tanks and Temples Courthouse
MVSA result on Tanks and Temples Truck before PAGaS refinement MVSA result on Tanks and Temples Truck after PAGaS refinement
MVSA
MVSA + PAGaS
2DGS result on Tanks and Temples Truck before PAGaS refinement 2DGS result on Tanks and Temples Truck after PAGaS refinement
2DGS
2DGS + PAGaS
PGSR result on Tanks and Temples Truck before PAGaS refinement PGSR result on Tanks and Temples Truck after PAGaS refinement
PGSR
PGSR + PAGaS
Tanks and Temples Truck
Colmap result on ActorsHQ body view before PAGaS refinement Colmap result on ActorsHQ body view after PAGaS refinement
Colmap
Colmap + PAGaS
Colmap result on ActorsHQ leg view before PAGaS refinement Colmap result on ActorsHQ leg view after PAGaS refinement
Colmap
Colmap + PAGaS
ActorsHQ

Method 🤓

1DoF Gaussians

Each pixel gets one Gaussian tied to its camera ray, with all its parameters derived from the depth, so only depth is optimized.

Opacity-Aware 3DGS Rasterizer

Renders only the visible front surface at each pixel, filtering out Gaussians from hidden surfaces behind it.

1DoF Gaussians. By conditioning the Gaussian parameters on depth and reducing the optimization from 59 parameters to a single depth variable, PAGaS substantially lowers the optimization, memory, and runtime requirements. This enables refinement at full input resolution under practical compute budgets and without pretraining, whereas prior Gaussian-based baselines in the paper require aggressive downsampling or incur sharply higher memory and runtime costs at higher resolutions.

Opacity-Aware 3DGS Rasterizer. Unlike standard Gaussian rasterizers, which alpha-blend all overlapping splats, this occlusion-aware rasterizer identifies the visible front surface at each pixel and rejects Gaussians from deeper, hidden surfaces. This prevents background bleed-through and produces clean depth compositing without needing extra Gaussians to make the foreground opaque.

The code includes an easy to use end-to-end automatic 3D reconstruction pipeline with run_automatic.sh:

images → camera intrinsics and extrinsics → optional mask → initial baseline mesh → mesh to depth → refined depth by PAGaS → refined depth to mesh

Evaluation 🧐

We evaluate PAGaS quantitatively on standard multi-view reconstruction benchmarks. Baselines include 2DGS, PGSR, and MVSAnywhere. Reproduce the paper numbers with eval.sh

We also evaluate qualitatively on:

BibTeX 😊

    comming soon...

License 🫡

Creative Commons Attribution-NonCommercial 4.0 International