AllocSplat

Spatial Allocation for Budget-Adaptive Feed-Forward Gaussian Splatting

Hong Li1* Yichen Yang1* Xianda Guo2*† Changbai Li1 Weiqing Xiao3 Linlin Yang4 Yanlun Peng5 Baochang Zhang1✉
1Beihang University 2Wuhan University 3Nanjing University 4Communication University of China 5Great Wall Motor
*Equal contribution†Project leader✉Corresponding author
AllocSplat reconstructions at two budgets with the decoded Gaussian centers, and a PSNR versus Gaussian count plot on DL3DV-140 comparing AllocSplat with ZipSplat, TokenGS, YoNoSplat and DepthSplat.
Figure 1

AllocSplat adapts reconstruction capacity with one model. (a,b) Reconstructions at 36.9K Gaussians with insets of the boxed region at 9.2K, beside all decoded Gaussian centers in 3D; (a) an input view, (b) a held-out view. (c) DL3DV-140, four posed inputs, no test-time optimization. AllocSplat and ZipSplat sweep capacity with fixed weights; the others sit at their evaluated capacities. At 36.9K Gaussians AllocSplat reaches 23.87 dB, 85.9% fewer Gaussians than TokenGS at 0.99 dB higher PSNR, and it leads ZipSplat by 0.29 to 1.65 dB at equal primitive counts.

Abstract

Feed-forward 3D Gaussian Splatting reconstructs renderable scenes from a few posed images, but storing, streaming and rendering them require an output budget chosen by the application. At a smaller budget, each Gaussian must cover more of the scene, with its required extent depending on where the others lie in 3D. We introduce AllocSplat, which allocates capacity through spatial anchors and uses their local spacing to control Gaussian decoding. From the depth and features of a visual geometry model, a non-learned rule selects M anchors among back-projected candidates. Each anchor decodes K Gaussians whose offsets and scales are constrained by its distances to neighbouring selected anchors. Recomputing this local scale and the contextualized decode lets one set of weights serve a range of budgets, emitting exactly KM Gaussians per request. On DL3DV-140, the default budgets achieve higher PSNR and SSIM than the evaluated feed-forward baselines with fewer Gaussians at two, four and six input views. At four views, AllocSplat reaches 23.87 dB with 36.9K Gaussians, 0.99 dB above TokenGS with 85.9% fewer primitives, and 0.29–1.65 dB above ZipSplat at equal counts. Controlled comparisons show that the local scale improves on both fixed-footprint and global budget-scaling controls, and that bounding Gaussian offsets as well as sizes by it helps at every budget.

Method

One checkpoint serves every budget: V = 2, 4 or 6 posed views, M = 256 to 1,944 anchors, K = 36 Gaussians per anchor.

AllocSplat pipeline: a visual geometry model produces features and depths, which are unprojected into 3D anchor candidates; M anchors are allocated, each anchor's local scale is computed from its neighbours, and a density-adaptive decoder emits K Gaussians per anchor.
Figure 2

AllocSplat. Sparse views and their known cameras pass through a visual geometry model (VGM), whose multi-layer features and depths are unprojected into a pool of 3D anchor candidates. A joint geometry–appearance farthest-point rule allocates exactly M of them, and the resulting density sets each anchor's local spatial scale ρi, so the same centers are decoded differently at different budgets. The Gaussian head emits K primitives per anchor, KM in total.

Interactive viewer

Sixteen DL3DV-140 test scenes, reconstructed from two, four or six posed views by one checkpoint without test-time optimization. Switch the budget to see the same weights emit 36M Gaussians; show the anchors or the groups and point at an anchor to see exactly which Gaussians it decodes and how far they may reach.

Scenes

Drag to orbit · right-drag or Shift+drag to pan · scroll to zoom · number keys jump to an input view · in Groups, Both or Anchors, hover an anchor to preview it and click to pin it, Esc to clear. Views far from the inputs show regions no input observed.

Input views

Anchor budget

Show

Anchor inspector

Other Gaussians

Anchor color

Border color of each input view below.

Anchors shown, in allocation order

Camera

The slider moves the camera along the input views. Overview lifts the camera above the scene, which shows the anchors in 3D.

Same weights, every budget ·

One checkpoint renders the scene at each budget offered for the selected number of input views, along the same camera path through the input views and the space between them. Each tile is rendered at the 252×252 evaluation resolution.

Fly-throughs

Rendered with the rasterizer used for evaluation, at twice the evaluation resolution, along a spline through the input cameras. Click a video to open that scene in the viewer.

Notes

One set of weights, several budgets

Each budget recomputes the local scales and the contextualized decode from the same checkpoint and outputs exactly 36M Gaussians. The PSNR shown is the mean over the scene's held-out frames on the common 252×252 evaluation canvas.

Allocation in 3D

Anchors are selected by a non-learned farthest-point rule among the depth points back-projected from the inputs (324 candidates per view). The anchors of a smaller budget are the first M anchors of a larger one; “Replay allocation” adds them in that order.

Spacing sets extent

An anchor's local scale ρ is the mean distance to its 8 nearest selected anchors, clamped to [0.03, 0.5]. Its 36 Gaussian centers are confined to a box of half-width ρ around it, and their scales are capped by ρ. Lower budgets space anchors farther apart, so ρ grows and each group covers more of the scene.

BibTeX
@article{allocsplat,
  title   = {AllocSplat: Spatial Allocation for Budget-Adaptive Feed-Forward Gaussian Splatting},
  author  = {Li, Hong and Yang, Yichen and Guo, Xianda and Li, Changbai and Xiao, Weiqing and Yang, Linlin and Peng, Yanlun and Zhang, Baochang},
  journal = {arXiv preprint},
  year    = {2026},
  note    = {Coming soon}
}