downsample_filter#
Purpose#
The downsample_filter
is a node that reduces the number of points.
Inner-workings / Algorithms#
Approximate Downsample Filter#
pcl::VoxelGridNearestCentroid
is used. The algorithm is described in autoware_pcl_extensions
Random Downsample Filter#
pcl::RandomSample
is used, which points are sampled with uniform probability.
Voxel Grid Downsample Filter#
pcl::VoxelGrid
is used, which points in each voxel are approximated with their centroid.
Pickup Based Voxel Grid Downsample Filter#
This algorithm samples a single actual point existing within the voxel, not the centroid. The computation cost is low compared to Centroid Based Voxel Grid Filter.
Inputs / Outputs#
These implementations inherit autoware::pointcloud_preprocessor::Filter
class, please refer README.
Parameters#
Note Parameters#
These implementations inherit autoware::pointcloud_preprocessor::Filter
class, please refer README.
Core Parameters#
Approximate Downsample Filter#
Name | Type | Description | Default | Range |
---|---|---|---|---|
voxel_size_x | float | voxel size along the x-axis [m] | 0.3 | ≥0.0 |
voxel_size_y | float | voxel size along the y-axis [m] | 0.3 | ≥0.0 |
voxel_size_z | float | voxel size along the z-axis [m] | 0.1 | ≥0.0 |
Random Downsample Filter#
Name | Type | Description | Default | Range |
---|---|---|---|---|
sample_num | integer | number of indices to be sampled | 1500 | ≥0 |
Voxel Grid Downsample Filter#
Name | Type | Description | Default | Range |
---|---|---|---|---|
voxel_size_x | float | the voxel size along x-axis [m] | 0.3 | ≥0 |
voxel_size_y | float | the voxel size along y-axis [m] | 0.3 | ≥0 |
voxel_size_z | float | the voxel size along z-axis [m] | 0.1 | ≥0 |
Pickup Based Voxel Grid Downsample Filter#
Name | Type | Description | Default | Range |
---|---|---|---|---|
voxel_size_x | float | voxel size along the x-axis [m] | 1 | >0.0 |
voxel_size_y | float | voxel size along the y-axis [m] | 1 | >0.0 |
voxel_size_z | float | voxel size along the z-axis [m] | 1 | >0.0 |
Assumptions / Known limits#
This implementation uses the robin_hood.h
hashing library by martinus, available under the MIT License at martinus/robin-hood-hashing on GitHub. Special thanks to martinus for this contribution.