Splat.Report

Evaluating quality

Working5 min readUpdated 2026-07-09Verified 2026-07-09

A trained splat scene can post strong PSNR, SSIM and LPIPS numbers against its held-out test views and still fail a walkthrough the moment someone moves the camera somewhere the metrics never looked. These three metrics are the standard, reproducible way to report and compare quality, but they’re reference-based, full-frame averages, and knowing what each one actually measures, and what a flythrough looks for that they don’t, is what turns a number into a real quality check.

The standard three, and what each is sensitive to

PSNRPeak Signal-to-Noise Ratio: a pixel-level fidelity metric, ten times the base-10 logarithm of the maximum pixel value squared over the mean squared error, expressed in decibels; higher is better but it correlates poorly with perceived quality since it weighs every pixel equally regardless of what a viewer actually notices. is the plainest of the three: it’s ten times the base-10 logarithm of the maximum possible pixel value squared, divided by the mean squared error between every pixel of a rendered image and its ground-truth photo. It’s reported in decibels, higher is better, and it’s exactly as blunt as that formula suggests: two images can differ by the same average pixel error for very different reasons, a slight global exposure shift versus a genuinely blurred region, and PSNR scores them the same. That’s the specific weakness that motivated the next two metrics.

SSIMStructural Similarity Index: an image-quality metric that compares luminance, contrast and structure within local windows rather than raw per-pixel error, better matching how human vision judges similarity between two images. (Wang, Bovik, Sheikh and Simoncelli, 2004) compares luminance, contrast and structure within local windows rather than treating every pixel independently, on the reasoning that human vision is tuned to structural information, edges, texture, local contrast, more than to raw intensity differences. It catches a category of error PSNR is blind to: a render with the right average brightness everywhere that has smeared away real texture will score worse on SSIM than on PSNR.

LPIPSLearned Perceptual Image Patch Similarity: a perceptual distance metric computed from pretrained deep-network feature activations rather than pixel values, correlating substantially better with human judgements of image similarity than PSNR or SSIM. (Zhang, Isola, Efros, Shechtman and Wang, 2018) goes further still, comparing images in the feature space of a pretrained deep network rather than in pixel space directly. It correlates substantially better with actual human judgements of whether two images look similar than either PSNR or SSIM, which is why current 3DGS papers, following the protocol set by the original Kerbl et al. 2023 paper, report all three side by side rather than picking one.

The protocol behind the numbers

The original 3D Gaussian Splatting paper evaluates using the split convention introduced by Mip-NeRF360: every 8th photo in a capture is held out entirely from training and used only as a test view, with PSNR, SSIM and LPIPS computed against that held-out set, never against training views. That distinction matters more than it sounds: a metric computed against images the Gaussians were actually optimised on is close to meaningless, since nothing stops the optimiser from effectively memorising those exact pixels. A number worth trusting always comes from a view training never saw. For a benchmark dataset that split is built in; for a client capture it usually isn’t, since every photo typically goes into training to maximise coverage, which means a genuine held-out number requires deliberately reserving a handful of images before training starts, a small coverage cost that’s worth paying on anything where a defensible quality figure matters more than just a look.

Where the numbers can flatter a scene the eye won’t forgive

All three metrics are computed as an average or aggregate over a whole frame, and that averaging is exactly what lets certain failures survive scoring well. A handful of stray, disconnected Gaussians occupying a small fraction of a frame’s pixels barely move a full-frame PSNR or SSIM score, and a single static test image, however well chosen, can miss an artefact that only shows up as the camera actually moves. That’s the practical argument for pairing metrics with a directed visual inspection rather than trusting a number alone, especially at delivery angles a benchmark split was never designed to test.

Three artefacts worth knowing by sight

floatersSmall, semi-transparent Gaussians left floating in empty space, disconnected from any real surface, that appear as speckling or haze from viewpoints the optimiser wasn't trained against; typically caused by insufficient view coverage, reflections or moving objects the optimiser had no other consistent way to explain. are small, semi-transparent Gaussians left sitting in empty space, disconnected from any real surface, visible as speckling or haze from angles outside the training views. They typically trace back to insufficient view coverage: the optimiser had to explain something in a training photo, a reflection, a lens artefact, a sliver of sky, and placed a free-floating Gaussian there because no consistent surface geometry was visible across enough views to explain it correctly instead.

Popping, sudden flicker or shape change in nearby Gaussians as the camera moves smoothly, is a rendering-time artefact rather than a training one: the tile-based rasteriser sorts each Gaussian by a single view-space depth value at its centre rather than per pixel, so at grazing angles or with heavily overlapping Gaussians, that sort order can flip between two adjacent frames even though the camera barely moved. StopThePop (Radl et al., SIGGRAPH 2024) diagnoses this directly and proposes a more view-consistent sorting scheme as a fix; whether or not a given renderer has adopted it, popping is worth recognising as a sorting-order problem at render time, not evidence the training itself went wrong.

Persistent blur in a detailed region, foliage, patterned brickwork, fine railings, that never sharpens up however long training runs is usually a densification shortfall rather than a metric problem: as covered in this knowledge base’s densification and pruning article, an over-large Gaussian in a busy area can survive far longer than it should when neighbouring gradients partially cancel each other out, a failure mode AbsGS (Ye et al., 2024) identified and named gradient collision. It’s the same artefact category PSNR is least likely to flag clearly, since a blurred patch still gets the average colour roughly right.

In practice

Whatever tool trains a scene, ask two questions before calling it delivery-ready: is there a genuine held-out number, from images the training run never touched, rather than a self-reported score off the training views; and has someone actually flown the delivery camera path, not just a benchmark test view, looking specifically for floaters at oblique angles and popping during camera movement. A strong PSNR from a single top-down test frame proves far less than five minutes of an actual walkthrough.

Related papers

3D Gaussian Splatting for Real-Time Radiance Field Rendering

Kerbl, Kopanas, Leimkühler, Drettakis · 2023

The founding paper: real-time radiance fields via rasterised anisotropic Gaussians instead of ray-marched MLPs.

Image Quality Assessment: From Error Visibility to Structural Similarity

Wang, Bovik, Sheikh, Simoncelli · 2004

Introduces SSIM, comparing local luminance, contrast and structure rather than raw per-pixel error; reported alongside PSNR and LPIPS as one of the three standard quality metrics in 3DGS and NeRF papers.

The Unreasonable Effectiveness of Deep Features as a Perceptual Metric

Zhang, Isola, Efros, Shechtman, Wang · 2018

Introduces LPIPS, a perceptual similarity metric computed from deep network features rather than pixel values; reported alongside PSNR and SSIM as the third standard quality metric in 3DGS and NeRF papers.

StopThePop: Sorted Gaussian Splatting for View-Consistent Real-time Rendering

Radl, Steiner, Parger, Weinrauch, Kerbl, Steinberger · 2024

Diagnoses popping, visible flicker as nearby Gaussians swap depth order between adjacent frames, as a consequence of sorting by a single per-Gaussian view-space depth, and proposes a more view-consistent sorting scheme.

AbsGS: Recovering Fine Details for 3D Gaussian Splatting

Ye, Li, Gao, Wu, Zhang · 2024

Identifies gradient collision as a failure mode of the original densification heuristic in over-reconstructed regions and fixes it with an absolute-value view-space gradient; adopted as an optional strategy in widely used training libraries.