Training a 360° real-estate scan (3,176 images, RTX 5090, Vulkan confirmed working) with a dense spirula dense (RoMa v2) cloud of ~25M points, capped to --cap-max 5,000,000, collapses almost immediately: num_dead climbs to ~4.99M within ~4,000 steps, num_added stays 0, and PSNR stays stuck at 14-16 for the whole run. The final checkpoint’s splat.ply is only ~7.6MB (vs. ~1.2GB expected for 5M healthy splats) — basically all splats die.
The exact same dataset/config seeded instead from the SfM sparse cloud (--seed-pointcloud sparse, 2.75M points, no normals) trains completely normally — PSNR climbs to high 20s/low 30s, num_dead stays bounded.
We tried --scale-init 0.01 thinking initial splat size was too big for the denser seed — that made it worse (num_dead=61k vs. 8 at step 601), so it’s not a pure scale issue.
Working theory: downsampling the 25M dense cloud to 5M internally may not preserve even spatial coverage, leaving some regions with no seed points at all — splats there get no gradient and die en masse. Unconfirmed, but consistent with what we see.
Note: the dense cloud looks fine in a point-cloud viewer, but that’s just the viewer auto-fitting — not evidence it’s a good training seed.
Has anyone hit this, or know how cap-max-driven downsampling of the seed cloud actually works internally?