CoolFace
Apppublic

WitneyWW/pointcloud-sampling-strategies

sourceHugging Faceupdated 2mo agoView on Hugging Face
0likes
App README

Sampling more points on the surface

Four ways to turn bigpointcloud_001.ply (11,357 points, a scan of a motherboard) into a fixed-budget point cloud, each scored against the object's true surface (motherboard.stl, 477,957 triangles) rather than against the input cloud:

strategywhat it does
randomrandom subsample of the input cloud
voxelvoxel downsample of the input cloud, voxel size bisected to hit the budget exactly
surface200,000 Poisson-disk points drawn on the mesh surface, then voxel-downsampled to the budget
surface_pdPoisson-disk sampled straight onto the mesh at the budget

The page has a side-by-side WebGL viewer with locked cameras, metric tables at 2,048 / 4,096 / 8,192 points, and static renders.

Headline: at a fixed budget, sampling the mesh does not beat plain voxel downsampling on coverage — the two are within noise of each other. What it buys is (a) no density ceiling, so the dense 200k resample reaches 4.3× better surface coverage than the input cloud can, and (b) exact accuracy and blue-noise spacing, since Poisson-disk points lie on the surface by construction instead of being voxel centroids that float off it.

Generated by compare_sampling.py and voxel_downsample.py (Open3D 0.18).