WitneyWW's picture
Surface sampling vs trivial downsampling on bigpointcloud_001
08dc587 verified
|
Raw
History Blame Contribute Delete
1.44 kB
metadata
title: Point Cloud Sampling Strategies
emoji: 🟦
colorFrom: blue
colorTo: gray
sdk: static
app_file: index.html
pinned: false

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:

strategy what it does
random random subsample of the input cloud
voxel voxel downsample of the input cloud, voxel size bisected to hit the budget exactly
surface 200,000 Poisson-disk points drawn on the mesh surface, then voxel-downsampled to the budget
surface_pd Poisson-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).