Point Cloud Upsampling Density
Sparse scans look holey up close. Upsampling grows new points along the true surface so sparse input renders and meshes cleanly.
Why Does This Exist?
Far lidar and fast scans leave gaps that break meshing and render as holes. Upsampling exists to densify without inventing new shape, unlike point cloud completion which fills missing backs. It matters for surface normals, rendering, and point cloud segmentation on thin structures.
Raw sets are point clouds.
Think of It Like This
Planting seedlings between old trees
Plant four seedlings between every pair of old trees along a hedgerow, then nudge each onto the row line. The hedge thickens without changing its path.
Inputs are old trees and offsets are the nudges. The analogy stops at curves: hedges run straight while surfaces bend, so repulsion plus projection both matter.
How It Actually Works
Each input expands by factor through learned feature duplication, then MLPs predict 3D offsets constrained near the surface. Loss combines chamfer distance to dense truth with repulsion that spreads children and a surface-projection term that pulls them onto the shape. Patch-based training on -point inputs keeps memory flat; testing tiles patches with overlap.
Worked numbers
A -point patch grows to points at x. Chamfer error falls from to , about half. Uniformity measured by nearest-neighbor variance drops from to after repulsion, while unconstrained expansion clusters with variance .
Code
def upsample_count(n: int, factor: int) -> int: return n * factor # new points after expansion
print(upsample_count(512, 4)) # -> 2048Watch Out For
Upsampling across sharp edges blindly
Isotropic spreading rounds corners and fills thin gaps between rails. The symptom is melted edges after densification. Condition offsets on edge features and keep completion-style fills out of upsampling.
The Quick Version
- Upsampling densifies along known surfaces, not missing backs.
- Factor x expansion plus learned offsets is the standard setup.
- Chamfer plus repulsion plus projection shape the output.
- Error roughly halves while uniformity triples on demo patches.
- Patch tiling keeps large scans tractable.
- Sharp edges need edge-aware offsets to survive.