Skip to content

[filters] Increase the volumetric capacity of voxel_grid #4365

@markhedleyjones

Description

@markhedleyjones

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions