Canopies · DL3DV, zero-shot
Kitchen · RealEstate10K, wide protocol
Gilded carving · DL3DV, zero-shot
Pool deck · RealEstate10K, wide protocol
Statue · DL3DV, zero-shot
Bathroom · RealEstate10K, wide protocol
Pavilion · DL3DV, zero-shot
Townhouses · RealEstate10K, wide protocol
Topiary · DL3DV, zero-shot
Glass entrance · DL3DV, zero-shot
Lab corridor · ScanNet++, zero-shot
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.
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++.
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.
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.
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.
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.
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.
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.
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.
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.
Further scenes of the wide protocol, in the layout of the figure above, with the PSNR of the scene beneath each rendering.
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.
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.
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.
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.
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.
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.
@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}
}
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++.