Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[filters] Increase the volumetric capacity of voxel_grid #4365

Open
MarkHedleyJones opened this issue Aug 29, 2020 · 1 comment · May be fixed by #4385
Open

[filters] Increase the volumetric capacity of voxel_grid #4365

MarkHedleyJones opened this issue Aug 29, 2020 · 1 comment · May be fixed by #4385
Labels

Comments

@MarkHedleyJones
Copy link

MarkHedleyJones commented Aug 29, 2020

The current implementation of voxel_grid is too limited in its processing volume.
This is due to its use of an int32 to index voxels internally.
With a leaf size of 3cm (in each axis), it can only support a volume of 38.7m^3.

What's worse is that voxel_grid will still process your point-cloud even if that index variable overflows.
In this case, the filter adds noise to the output.
The filter does produce a warning, but it's not clearly telling the user that it will introduce rubbish into the output.

Context

The pcl::voxel_filter is used in may projects and is used as part of many higher level algorithms.
Those algorithms suffer from the addition of noise or limited volumetric resolution that voxel_grid.
Allowing voxel_grid to handle either smaller leaf sizes or larger volumes would improve those algorithms.
TixiaoShan/LIO-SAM is one such example, where it's use is currently limited to outdoor cases.
With the ability to reduce the leaf size, that project is able to perform better indoors.

@MarkHedleyJones MarkHedleyJones added kind: request Type of issue status: triage Labels incomplete labels Aug 29, 2020
@MarkHedleyJones
Copy link
Author

Example

With leaf sizes smaller than 0.001, the filter does produce the warning [pcl::VoxelGrid::applyFilter] Leaf size is too small for the input dataset. Integer indices would overflow. but still returns a PCD. That PCD can contain noisy points as a result of the voxel index overflowing. Examples of that noise are shown below.

show_issue

The original pcd file can be downloaded from sourceforge. It is Rf14.pcd within the kitchen.zip file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants