GenZ-ICP is designed to perform well across diverse environments. For optimal performance on each dataset, parameter tuning is recommended. This section provides tips for tuning GenZ-ICP's parameters.
: Voxel size of local map (default: 0.3
)
- Larger voxel_size speed up processing but reduce accuracy.
- It is recommended to adjust voxel_size proportionally to the scale of the environment: larger values for wide outdoor spaces and smaller values for narrow indoor spaces.
: Maximum points in a single voxel (default: 1
)
- Lower max_points_per_voxel speed up processing but reduce accuracy.
- Similar to voxel_size, this parameter should also be adjusted proportionally to the scale of the environment.
: Threshold for planarity classification (default: 0.2
)
- Lower planarity_threshold classifies planars pair more strictly.
- In narrow indoor environments, a smaller max_points_per_voxel is typically used, which reduces the number of neighboring points available for covariance calculation during planarity classification. As a result, even planar surfaces can exhibit relatively high local surface variation. To prevent rejecting valid planar pairs due to this, a relatively higher planarity_threshold is recommended for indoor environments.
- Conversely, in wide outdoor environments, a larger max_points_per_voxel increases the number of neighboring points, resulting in more reliable local surface variation values. Therefore, in outdoor environments, lowering the planarity_threshold is recommended to achieve stricter planarity classification.
: Desired number of points in a voxelized scan (default: 2000
)
- If this value is too large, it can cause CPU overload, while a value too small may lead to inaccurate results.
- This value should be set proportionally to the scale of the environment: larger values for wide outdoor spaces and smaller values for narrow indoor spaces.
- Based on this value, the voxel filter size is adaptively adjusted to perform adaptive voxelization.
: Maximum number of iterations for the ICP loop (default: 100
)
- Higher max_num_iterations can improve accuracy but increases CPU load.
: Enables or disables deskewing of LiDAR scans (default: false
)
- When the platform exhibits aggressive motion, enabling deskewing can lead to inaccuracies.
- Additionally, the effect of deskewing diminishes as the platform's speed decreases.
- Therefore, for platforms like hand-held devices or quadruped robots that exhibit slow or aggressive motion, setting deskew to
false
is recommended. - Conversely, for platforms with high-speed and smooth motion, such as vehicles used in datasets like KITTI or MulRan, setting deskew to
true
is recommended.
: Radius of local map (default: max_range
)
- The default value for map_cleanup_radius is equal to the LiDAR's max_range.
- In spaces larger than the LiDAR's max_range, where the platform revisits previously visited areas, it is recommended to increase the map_cleanup_radius.
- However, excessively high values can consume a lot of memory and may lead to inaccurate results. Therefore, it is recommended to keep the value below
300
.