GradSplat: Gradients Inside the Forward Pass
for Feed-Forward 3D Gaussian Splatting

Jingong Chen1,2, Linlian Jiang3,4†, Guangyuan Li5,2†, Xinxin Zuo3, Yang Wang3,4, Chulwoo Pack1, Kyle Gao2, Kwanghee Won1*
1South Dakota State University 2Aalto University 3Concordia University 4Mila – Quebec AI Institute 5ELLIS Institute Finland
†Equal contribution    *Corresponding author
GradSplat renders its Gaussians as predicted once and after the gradient steps

GradSplat is a feed-forward model that reconstructs a scene as 3D Gaussians from a few views and refines them by gradient steps on the input views inside the model. Its Gaussians are rendered as predicted once and after the steps. One novel view is shown as rendered by GradSplat and in the ground truth, and the details compare it before the steps, after them and in the ground truth.

Test scenes rendered by every method along a path through their six input cameras, GradSplat framed in blue. Every method uses its RealEstate10K weights, also on DL3DV and ScanNet++; § marks two-view weights. Scenes are chosen for a visible difference.

Abstract

Feed-forward 3D Gaussian Splatting predicts a scene from a few images, but our predictor is less accurate than its own Gaussians optimized per scene on those images. This gap lies mostly in the shape of the Gaussians, their scale and rotation, since optimizing the shape alone recovers almost all of it and opacity and color recover less. Gradient steps on the input views correct this shape, and the model holds these views at inference. Log-anisotropy correction changes the axis ratios of each Gaussian in log space at constant volume, and in-forward gradient refinement renders the Gaussians into the input views and applies the gradient of the photometric loss with a learned recurrent update, first to opacity and color and then to the shape. GradSplat is a feed-forward model that refines its own Gaussians by learned gradient steps inside its forward pass, with no target view. On both complete six-view RealEstate10K protocols, it has the best PSNR and SSIM among nine methods and keeps its accuracy from 6 to 42 input views. Without fine-tuning, it is the most accurate on DL3DV and has the best PSNR and SSIM on ScanNet++.

Why Gradient Steps

Per-scene optimization fits the Gaussians of one scene by gradient steps on its input views. Applied to the output of our base predictor, with no target view, it raises the novel-view PSNR from 27.278 to 34.231 dB on eight RealEstate10K scenes. This gap is carried by the shape of the Gaussians, their scale and rotation: optimized alone on the input views, the shape recovers almost all of it, opacity and color recover less, and freezing the centers loses nothing. The predicted Gaussians are less anisotropic than the optimized ones and do not reproduce even their own input views. Optimizing their scale and rotation removes most of this error, but takes 1500 gradient steps.

Motivation: one-pass prediction, per-scene optimization and GradSplat

A feed-forward model predicts the Gaussians in one pass but leaves a large error on its input views (a). Per-scene optimization of their scale and rotation removes most of it with 1500 gradient steps (b). GradSplat takes gradient steps with a learned update inside the model and keeps the single pass (c). The maps show the mean absolute error against the input view.

Approach

GradSplat overview

A backbone feeds a camera head, a dense head and a shape head. Each refinement step renders the Gaussians into the input views and applies the learned update 𝒰ψ to the gradient gk of ℒin. The four marks in 𝒰ψ are its transformer blocks, with attention within a view (green) and over all views (blue).

A geometry backbone with frame and global attention, initialized from VGGT-Ω, feeds a camera head, a dense head and a shape head. The dense head predicts a depth and the raw parameters of one Gaussian for every input pixel. The refinement then takes three steps on the appearance and five on the shape. Each step renders the current Gaussians into the input views, backpropagates the mean squared error through the rasterizer and turns the gradient into an update with a learned network.

  • In-forward gradient refinement. The gradient of the input-view loss is an input of a learned update, computed on a detached copy of the parameters. The steps are fixed in number and unrolled in training, need no second derivative of the rasterizer, and run unchanged at inference.
  • Log-anisotropy correction. The shape steps act on a zero-sum correction of the log scale and a rotation increment of each Gaussian. Extent moves between its axes at constant volume, and an axis ratio changes by a factor below e8.
  • Learned update. Convolutions encode the parameters, the normalized gradient, the previous update and a running second moment; four transformer blocks attend within a view and across all views; a convolutional GRU carries a state from step to step.

Gradient Steps Inside the Forward Pass

One target view of each scene rendered after every step of the forward pass: three appearance steps on opacity and color, then five shape steps. The steps read only the input views; the target view and its ground truth are never seen. PSNR is measured on the target view at 224 × 224 pixels.

rendering after the selected step
ground truth of the target view
Ground truth (never seen by the model)

Renderings after every step

One target view of three scenes of the narrow protocol before any step, after each of the Ka appearance steps and each of the Ks shape steps of the final model, and in the ground truth. The PSNR of this view is beneath each rendering.

Same Views, Every Method

The target views of the evaluation as every method renders them, at 224 × 224 pixels, the resolution of the evaluation. Pick a method above each image; scroll to zoom, drag to pan and double-click to reset, and the two images move together. The PSNR is that of the shown view. Scenes are chosen for a visible difference.

Scenes
rendering of the selected method
rendering of the selected method

Comparisons with the State of the Art

Every method is re-measured under one setting with released weights. Six input and eight target views per scene at 224 × 224 pixels; the narrow protocol uses the index released with VolSplat (7,128 scenes), the wide protocol the index released with YoNoSplat (1,600 scenes), and the right block adds input views to the fixed targets of the narrow protocol (6,444 scenes). best second per block.

In the lower block AnySplat and GradSplat also estimate the intrinsics and the target cameras, GradSplat with a constant κ shared by all scenes, and YoNoSplat† keeps the ground-truth intrinsics and target cameras. § two-view weights; ‡ a training mixture that contains DL3DV and not RealEstate10K; × a view embedding that holds six views.

Qualitative comparison on RealEstate10K

The upper three rows are scenes of the narrow protocol and the lower two scenes of the wide protocol. Each row shows the six input views, one target view rendered by every method and the ground truth. The boxed region is magnified in the opposite corner, and AnySplat, which renders from its own estimated cameras, is not shown.

Qualitative comparison on the wide protocol

Further scenes of the wide protocol, in the layout of the figure above, with the PSNR of the scene beneath each rendering.

Different Numbers of Input Views

PSNR for different numbers of input views

PSNR for V input views on the view-count index, the targets of the narrow protocol (6,444 scenes), from the table above. pixelSplat and TranSplat, whose view embedding holds six views, are left out.

Cross-Dataset Generalization

The upper block applies the RealEstate10K weights without fine-tuning; the lower block uses weights trained on DL3DV. DL3DV: 139 of the 140 scenes of the index released with ReSplat. ScanNet++: the validation set, six input and three target views per scene.

YoNoSplat is not evaluated on ScanNet++, since its input views rendered back score 13.733 dB there and the setting requires 20 dB. ‡ here marks a training mixture that contains DL3DV and ScanNet++ and not RealEstate10K.

Qualitative comparison on DL3DV

Each row shows one target view of DL3DV rendered by every method and the ground truth, and the boxed region is magnified. ⋆ marks weights trained on DL3DV, all other columns use RealEstate10K weights, and TranSplat and AnySplat are not shown.

Qualitative comparison on ScanNet++

Every method uses its RealEstate10K weights without fine-tuning. Each row shows one target view of the ScanNet++ validation set rendered by every method and the ground truth, and the boxed region is magnified. YoNoSplat and AnySplat are not shown.

Without Input Poses

Given the images alone, GradSplat builds its Gaussians in its own predicted cameras with a constant scale κ, and the target cameras are estimated from the input and target images together, the protocol of AnySplat.

Renderings without input poses

Three scenes of the narrow protocol with their input views, one target view rendered by AnySplat and by GradSplat, and the ground truth. Neither method receives the input poses.

BibTeX

@article{chen2026gradsplat,
  title   = {GradSplat: Gradients Inside the Forward Pass for Feed-Forward 3D Gaussian Splatting},
  author  = {Chen, Jingong and Jiang, Linlian and Li, Guangyuan and Zuo, Xinxin and
             Wang, Yang and Pack, Chulwoo and Gao, Kyle and Won, Kwanghee},
  journal = {arXiv preprint arXiv:2610.38951},
  year    = {2026}
}

Acknowledgments

This work was supported by the U.S. National Science Foundation under Grant No. 2316400. The authors also acknowledge the South Dakota State University High Performance Computing (SDSU HPC) team for providing access to and support for the university's high-performance computing resources. We acknowledge CSC – IT Center for Science, Finland, for providing access to Roihu and to LUMI, which is owned by the EuroHPC Joint Undertaking and hosted by CSC – IT Center for Science, Finland, in collaboration with the LUMI consortium.

GradSplat builds on VGGT-Ω and VGGT, and rasterizes with gsplat. We train on RealEstate10K in the format released by pixelSplat, evaluate on DL3DV and ScanNet++, and use the evaluation indices released with VolSplat, YoNoSplat and ReSplat. We thank the authors of pixelSplat, MVSplat, TranSplat, DepthSplat, VolSplat, ReSplat, YoNoSplat and AnySplat for releasing the code and weights we compare against. The scenes shown are from the test sets of RealEstate10K and DL3DV and the validation set of ScanNet++.