Point Cloud Completion of Shapes
Half a chair scan should still give a whole chair. Completion fills missing backs and occlusions from learned shape priors.
Why Does This Exist?
Real scans see one side: backs hide, lidar thins with range, and tables occlude chairs. Completion exists to return usable shapes for grasping and CAD from those partial shells. It matters because point cloud segmentation and detection degrade on half shapes.
Densification without new shape is point cloud upsampling; raw representation is point clouds.
Think of It Like This
Restoring a broken vase from shards
An archaeologist keeps every shard fixed and sculpts only the missing belly from knowledge of vase styles. Guessing over shards would destroy evidence.
Input points are shards and priors are vase styles. The analogy stops at novelty: vases repeat while novel objects have no prior to borrow.
How It Actually Works
Encoders map partial clouds to shape codes; decoders output dense complete clouds through folding or coarse-to-fine point splits. Loss is chamfer distance between prediction and full truth, sometimes plus Earth mover detail. Training hides backs synthetically on ShapeNet so ground truth exists; testing keeps input points pinned and scores only the filled region plus overall .
Worked numbers
A half chair holds points; truth holds . Before completion ; after filling back points , about a percent drop. Input points move under m while new backs carry m mean error.
Code
def chamfer_one_way(a: list[float], b: list[float]) -> float: return sum(min(abs(x - y) for y in b) ** 2 for x in a) # half of CD
print(chamfer_one_way([0.0, 1.0], [0.0, 1.0, 2.0])) # -> 0.0Watch Out For
Completing novel objects with chair priors
Nets fill unseen categories with the closest training shape, turning lamps into chairs. The symptom is plausible but wrong backs. Gate completion by category confidence and keep partial-only mode for unknowns.
The Quick Version
- Completion fills occluded backs from partial scans plus shape priors.
- Inputs stay pinned; only missing regions are hallucinated.
- Chamfer distance scores both coverage directions.
- Half chairs cut chamfer error about percent after filling.
- Synthetic hiding on ShapeNet creates training pairs.
- Novel categories get wrong but confident fills.