0

I am trying to implement a fast sampling algorithm for point clouds. The idea is to overlay a regular grid over the point cloud and cluster all points within the same voxel. I do this with the voxel_grid function of Pytorch-Geometric. Then i want to randomly sample an arbitary number of points from each voxel. But i cannot come up with code that doesn't loop over each voxel and point cloud of the batch. Therefore, my algorithm is very slow.

What i have tried and worked well is to use scatter_min and scatter_max. This is very fast but i can only sample a single point each time. Additionaly, the selection is not random and invovles finding the min/max value of a specific feature in the given subset of points. So, how can i implement something like scatter_min/max but with random selection?

2
  • Do voxels frequently update (new points added / removed / moved between voxels)? Commented Apr 26, 2024 at 9:46
  • @Alexey, I am not sure I understand what you mean, but the points don't move. This sampling process is meant to replace the Farthest Point Sampling algorithm of PointNet++ Commented Apr 26, 2024 at 11:55

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.