Skip to content
AI360Xpert
Beta

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.

Each sparse point spawns children that relax onto the surface
Each sparse point spawns children that relax onto the surface

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 r=4r = 4 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 256256-point inputs keeps memory flat; testing tiles patches with overlap.

Worked numbers

A 512512-point patch grows to 20482048 points at 44x. Chamfer error falls from 0.0320.032 to 0.0170.017, about half. Uniformity measured by nearest-neighbor variance drops from 0.090.09 to 0.030.03 after repulsion, while unconstrained expansion clusters with variance 0.120.12.

Code

def upsample_count(n: int, factor: int) -> int:    return n * factor  # new points after expansion

print(upsample_count(512, 4))  # -> 2048

Watch 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 44x 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.